Skip to main content
GET
/
projects
/
{project_id}
/
tools
List Tools
curl --request GET \
  --url https://actionkit.useparagon.com/projects/{project_id}/tools \
  --header 'Authorization: Bearer <token>'
{
  "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": []
}

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.

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.
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.
This endpoint was previously available at GET /projects/{project_id}/actions. The /actions path is preserved for backward compatibility; both paths work identically.

Authorizations

Authorization
string
header
required

Your Paragon User Token (JWT), which you can generate using your project's signing keys.

Path Parameters

project_id
string
required

Your Paragon Project ID. You can copy your Project ID from your dashboard URL or by clicking Copy Project ID under the Environment switcher.

Query Parameters

format
string
default:json_schema

The response format for available tools.

Defaults to json_schema for tool-calling agent use cases. Learn more about available formats.

limit_to_available
boolean
default:true

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.

reload_fields
boolean
default:false

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.

integrations
string

Filter by specific integrations that the user has connected. By default, all integrations are returned.

Example:

"salesforce,hubspot"

categories
string

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"

Response

200 - application/json
tools
object
required

A map of integrations with a list of Tool definitions, in the selected format.

errors
object[]
required

An array of errors, if there were any problems loading Tool definitions for some integrations.