Execute real-time actions with ActionKit

Take real-time actions across users’ 3rd-party applications without worrying about authentication or endpoint maintenance.

Scale integration actions across every use case

ActionKit Triggers

ActionKit Triggers is a single API to subscribe to your users' integration events. Paragon standardizes every integration's webhooks, so you can easily listen to your users' events and spring your app into action.

ActionKit Triggers

ActionKit Triggers is a single API to subscribe to your users' integration events. Paragon standardizes every integration's webhooks, so you can easily listen to your users' events and spring your app into action.

ActionKit Triggers

ActionKit Triggers is a single API to subscribe to your users' integration events. Paragon standardizes every integration's webhooks, so you can easily listen to your users' events and spring your app into action.

ActionKit Tools

ActionKit Tools is a unified API that provides hundreds of integration actions. Paragon packages actions into tools with human & LLM readable descriptions, so you call 3rd party actions with less friction.

ActionKit Tools

ActionKit Tools is a unified API that provides hundreds of integration actions. Paragon packages actions into tools with human & LLM readable descriptions, so you call 3rd party actions with less friction.

Scale integration actions across every use case

Scale integration actions across every use case

Pre-built tool definitions, native MCP support, and sub-millisecond response times. Your agent calls the tool — Paragon handles auth, rate limits, and retries.

Build reactive workflows that kick off the moment something changes in your users' third-party apps. Durable jobs, guaranteed completion, full event logging.

Perform synchronous, real-time actions across Salesforce, HubSpot, Gmail, and hundreds more. Paragon handles OAuth, token refresh, and rate limits automatically.

Pre-built tool definitions, native MCP support, and sub-millisecond response times. Your agent calls the tool — Paragon handles auth, rate limits, and retries.

Build reactive workflows that kick off the moment something changes in your users' third-party apps. Durable jobs, guaranteed completion, full event logging.

Perform synchronous, real-time actions across Salesforce, HubSpot, Gmail, and hundreds more. Paragon handles OAuth, token refresh, and rate limits automatically.

Placeholder

One API for 300+ integration actions

ActionKit provides a uniform interface for interacting with 3rd-party APIs.

Managed authentication for every integration and action

Paragon handles any 3rd-party breaking changes

All actions support user-level custom objects & fields

Placeholder

{
  "actions": {
    "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": ""
        }
      }
    }]
  },
  "errors": []
}

Placeholder

Interface via the API or MCP server

Whether you need deterministic or agentic integration functionality, ActionKit can be implemented with just a few lines of code.

API

MCP

// OpenAI SDK

import requests

from openai import OpenAI

client = OpenAI()


actions_url = f"https://actions.useparagon.com/projects/{project_id}/actions"

get_actions_params = {

"categories": "crm,project_management"

}

response = requests.get(actions_url, params=params, headers=actions_auth_header)

paragon_tools = response.json()

messages = [{"role": "user", "content": "Help me create a Jira ticket"}]

completion = client.chat.completions.create(

model="gpt-4o",

messages=messages,

tools=paragon_tools,

tool_choice="auto"

)

API

MCP

// OpenAI SDK

import requests

from openai import OpenAI

client = OpenAI()


actions_url = f"https://actions.useparagon.com/projects/{project_id}/actions"

get_actions_params = {

"categories": "crm,project_management"

}

response = requests.get(actions_url, params=params, headers=actions_auth_header)

paragon_tools = response.json()

messages = [{"role": "user", "content": "Help me create a Jira ticket"}]

completion = client.chat.completions.create(

model="gpt-4o",

messages=messages,

tools=paragon_tools,

tool_choice="auto"

)

Scale your integration roadmap

Join hundreds of SaaS companies that are scaling their integration roadmaps with Paragon

Scale your integration roadmap

Join hundreds of SaaS companies that are scaling their integration roadmaps with Paragon

Scale your integration roadmap

Join hundreds of SaaS companies that are scaling their integration roadmaps with Paragon

Scale your integration roadmap

Join hundreds of SaaS companies that are scaling their integration roadmaps with Paragon