Calimatic Connect|Documentation
PricingSign In

Provider Actions

Actions are named operations exposed by a provider adapter — create a HubSpot contact, send a Slack message, enqueue a Zapier run. They are the building blocks flows use in their action steps, and can also be invoked standalone via the API.

The action contract

Every action declares, via the ActionProvider interface:

  • name — unique key within the provider (e.g. create_contact)
  • displayName — human-friendly label shown in the UI
  • description — one-line summary
  • scopes — OAuth scopes the connection must have
  • inputs — typed parameters the action expects
  • handler — the async function that actually performs the work

Actions are backed by the same ProviderConnection rows used for webhook/proxy flows, so they automatically inherit tenant isolation and token encryption.

Browsing actions

/admin/actions lists every action available across your connected providers, grouped by category. Drill into a provider to see the full input schema for each action.

Invoking an action

From a flow step

Add an action step, pick the provider and action name, and map the inputs using the template syntax:

{
  "kind": "action",
  "providerType": "hubspot",
  "actionName": "create_contact",
  "inputMapping": {
    "email": "{{trigger.email}}",
    "firstName": "{{trigger.first_name}}",
    "lifecycleStage": "lead"
  }
}

Standalone via the API

POST /providers/:providerType/actions/:actionName
Authorization: Bearer <jwt>
Content-Type: application/json

{ "email": "alice@example.com", "firstName": "Alice" }

Permissions

  • actions.view — browse the actions library
  • actions.execute — run an action standalone or from a flow step

Plan limits

Standalone action executions are counted monthly. Free: 100, Starter: 1,000, Professional: 10,000, Team and Enterprise: unlimited. Actions invoked as part of a flow count against your flow task allowance instead.