> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useparagon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Tools

> List all Tools available for a user.

Every Connected User will have the ability to run different Tools, depending on what accounts they have connected.

Use this endpoint to list those Tools and discover the schemas of their input parameters.

<Check>
  **Paragon automatically loads user-specific fields to Tool schemas for users where applicable.**

  For example, if the user has custom fields defined for Salesforce Opportunities, those custom fields will appear in their response for the `SALESFORCE_CREATE_RECORD_OPPORTUNITY` Tool schema.
</Check>

<Info>
  This endpoint was previously available at `GET /projects/{project_id}/actions`. The `/actions` path is preserved for backward compatibility; both paths work identically.
</Info>


## OpenAPI

````yaml /actionkit/openapi-standard.json GET /projects/{project_id}/tools
openapi: 3.0.0
info:
  title: ActionKit API
  version: 1.0.0
servers:
  - url: https://actionkit.useparagon.com
    description: US Cloud
security: []
paths:
  /projects/{project_id}/tools:
    get:
      summary: List Tools
      description: >-
        **Backward Compatibility**: The `/actions` endpoint path is preserved
        for backward compatibility. Both `/actions` and `/tools` work
        identically.
      parameters:
        - name: project_id
          in: path
          required: true
          schema:
            type: string
            description: >-
              Your Paragon Project ID. You can copy your Project ID from your
              dashboard URL or by clicking Copy Project ID under the Environment
              switcher.
        - name: format
          in: query
          required: false
          schema:
            type: string
            default: json_schema
            description: >-
              The response format for available tools.


              Defaults to `json_schema` for tool-calling agent use cases. Learn
              more about [available formats](/actionkit/schema-formats).
        - name: limit_to_available
          in: query
          required: false
          schema:
            type: boolean
            default: true
            description: >-
              If `true`, only `available_tools` will be returned.


              Otherwise, `all_tools` will include all Tools from Integrations in
              your project, regardless of the accounts your user has connected.
        - name: reload_fields
          in: query
          required: false
          schema:
            type: boolean
            default: false
            description: >-
              If `true`, forcibly reload any custom fields that belong to the
              schema for included Tools. This may result in additional latency
              added to your request.


              By default, Paragon will cache your user's fields and refresh them
              periodically. Fields have a TTL of 8 hours, and `reload_fields`
              will immediately invalidate any cached fields.
        - name: integrations
          in: query
          required: false
          schema:
            type: string
            description: >-
              Filter by specific integrations that the user has connected. By
              default, all integrations are returned.
            example: salesforce,hubspot
        - name: categories
          in: query
          required: false
          schema:
            type: string
            description: >-
              Filter by specific integration categories, based on integrations
              the user has connected. By default, all integrations from all
              categories are returned.
            example: crm,project_management
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  tools:
                    type: object
                    description: >-
                      A map of integrations with a list of Tool definitions, in
                      the selected format.
                    additionalProperties:
                      type: array
                      description: >-
                        Each `key` will be an integration name, e.g. `hubspot`.


                        Depending on which format you request, the values will
                        either be an array of JSON Schema objects that can be
                        passed as tools to an LLM or an array of [Paragon
                        Schema](/actionkit/schema-formats#paragon-format)
                        objects.
                      items:
                        type: object
                  errors:
                    type: array
                    description: >-
                      An array of errors, if there were any problems loading
                      Tool definitions for some integrations.
                    items:
                      type: object
                      properties:
                        integration:
                          type: string
                          description: >-
                            The integration name of the Tools that could not be
                            loaded.
                          example: salesforce
                        type:
                          type: string
                          enum:
                            - global
                          description: >-
                            Set to `global` if there was an error loading tools
                            for all integrations.
                        message:
                          type: string
                          description: >-
                            A human-readable description of the problem that
                            occurred while loading tools.
                required:
                  - tools
                  - errors
              examples:
                JSON Schema:
                  summary: JSON Schema format (default)
                  value:
                    tools:
                      hubspot:
                        - type: function
                          function:
                            name: HUBSPOT_CREATE_RECORD_CONTACTS
                            description: Create a contact in HubSpot CRM
                            parameters:
                              type: object
                              properties:
                                field-email:
                                  type: string
                                  description: Email
                                field-firstname:
                                  type: string
                                  description: First Name
                                field-lastname:
                                  type: string
                                  description: Last Name
                                field-jobtitle:
                                  type: string
                                  description: Job Title
                                field-company:
                                  type: string
                                  description: Company Name
                                field-hubspot_owner_id:
                                  type: string
                                  description: >-
                                    Contact Owner: The HubSpot user who is
                                    assigned to this contact. Use Connect Portal
                                    Workflow Settings to allow users to select
                                    an Owner. (example value:
                                    "{{settings.owner}}")
                                field-lifecyclestage:
                                  type: string
                                  description: >-
                                    Lifecycle Stage: Defaults to the user's
                                    first Lifecycle Stage if not provided. Use
                                    Connect Portal Workflow Settings to allow
                                    users to select a Lifecycle Stage. (example
                                    value: "{{settings.lifecycleStage}}")
                                field-hs_lead_status:
                                  type: string
                                  description: >-
                                    Lead Status: Defaults to the user's first
                                    Lead Status if not provided. Use Connect
                                    Portal Workflow Settings to allow users to
                                    select a Lead Status. (example value:
                                    "{{settings.leadStatus}}")
                                additionalFieldsJSON:
                                  type: string
                                  description: >-
                                    Additional Fields: Specify any other fields
                                    that should be updated in JSON below. Use
                                    Connect Portal Workflow Settings to allow
                                    users to select which Contact fields to
                                    update. (example value: "{\n 
                                    \"property_number\": \"17\",\n 
                                    \"property_dropdown\": \"choice_b\",\n 
                                    \"property_radio\": \"option_1\",\n 
                                    \"property_string\": \"value\",\n 
                                    \"property_date\": \"1572480000000\"\n}")
                              required:
                                - recordType
                                - field-email
                              additionalProperties: false
                              $schema: http://json-schema.org/draft-07/schema#
                    errors: []
                Paragon Schema:
                  summary: Paragon Schema format (`format=paragon`)
                  value:
                    tools:
                      salesforce:
                        name: SALESFORCE_CREATE_RECORD
                        title: Create record
                        inputs:
                          - id: recordType
                            title: Record type
                            type: ENUM
                            required: true
                            values:
                              - value: Opportunity
                                dependentInputs: []
                              - value: Contact
                                dependentInputs: []
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Your [Paragon User
        Token](/getting-started/installing-the-connect-sdk#setup) (JWT), which
        you can generate using your project's signing keys.

````