MCP is live.Set upAsk the community
OmniDimension
Agents

Update a post-call action

Change fields of one post-call action. Fields you don't send keep their value. The `type` cannot change.

PATCH/agents//post-call-actions/
Path parameters
agent_idrequired
action_idrequired
Body
22 fields
·

Reseller keys only: act as one of your clients by its user id. Omit it to act on your own account. [How acting for a client works](/docs/reseller/your-clients/acting-as-clients).

The channel. It cannot change after the action is created: delete it and add a new one. google_sheets, slack, salesforce, hubspot and zoho_bigin deliver through an account connected in the dashboard: pass its id as integration_id (see List integrations).

curl -X PATCH 'https://backend.omnidim.io/api/v1/agents/{agent_id}/post-call-actions/{action_id}' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "url": "https://crm.acme-corp.io/omnidim-callback-v2"
}'
Example response
synthetic
{
  "action": {
    "id": 0,
    "type": "email",
    "recipients": [
      "string"
    ],
    "url": "string",
    "phone_number_id": 0,
    "template_id": 0,
    "template_variables": [
      "string"
    ],
    "templates": [
      "string"
    ],
    "workflow_id": 0,
    "integration_id": 0,
    "spreadsheet_id": "string",
    "spreadsheet_name": "string",
    "worksheet_name": "string",
    "channel_id": "string",
    "channel_name": "string",
    "object_name": "string",
    "create_call_log": false,
    "update_contact": false,
    "create_contact": false,
    "include": [
      "string"
    ],
    "extracted_variables": [
      {
        "key": "customer_issue",
        "prompt": "Identify the main issue the customer is experiencing."
      }
    ],
    "trigger_call_statuses": [
      "string"
    ]
  },
  "applies_after_publish": false
}

Authorization

BearerAuth
headerAuthorizationBearer <token>

Bearer token authentication. Obtain your API key from the OmniDimension dashboard.

Path Parameters

agent_id*integer

The ID of the agent.

action_id*integer

The ID of the post-call action.

Request Body

application/json

One post-call action. type picks the channel; send the fields of that channel plus any of the shared ones. type is required when adding an action; an update sends only the fields it changes.

user_id?ClientUserId

Reseller keys only: act as one of your clients by its user id. Omit it to act on your own account. How acting for a client works.

type?string

The channel. It cannot change after the action is created: delete it and add a new one. google_sheets, slack, salesforce, hubspot and zoho_bigin deliver through an account connected in the dashboard: pass its id as integration_id (see List integrations).

Value in"email""webhook""omni_crm""cloud_whatsapp""workflow""google_sheets""slack""salesforce""hubspot""zoho_bigin"
integration_id?integer

google_sheets, slack, salesforce, hubspot, zoho_bigin only, required: the id of your integration of that type.

spreadsheet_id?string

google_sheets only, required: the id in the sheet's URL, the part after /d/.

spreadsheet_name?string

google_sheets only: the sheet's name, for display.

worksheet_name?string

google_sheets only: the tab to append to. Defaults to Sheet1.

channel_id?string

slack only: the channel id. Send this or channel_name.

channel_name?string

slack only: the channel name. Send this or channel_id.

object_name?string

salesforce: Lead (default), Contact, Account, Opportunity, Case, Task or Product. hubspot, required: contact, company, deal or ticket. Both send a fixed set of fields for the chosen object, so they take no extracted_variables.

create_call_log?boolean

zoho_bigin only: log the call in Zoho Bigin. Defaults to true.

update_contact?boolean

zoho_bigin only: update a matching contact with what the call captured. Defaults to true.

create_contact?boolean

zoho_bigin only: create a contact when no contact matches. Defaults to true.

recipients?array<string>

email only, required: the addresses to notify.

url?string

webhook only, required: the endpoint that receives a POST with the call payload.

Formaturi
phone_number_id?integer

cloud_whatsapp only, required: your Cloud WhatsApp number the message is sent from. Also send template_id or templates, or nothing is sent.

template_id?integer

cloud_whatsapp only: an approved template on that number.

template_variables?

cloud_whatsapp only: which extracted variable fills each template placeholder.

templates?

cloud_whatsapp only: one or more templates to send.

workflow_id?integer

workflow only, required: the workflow to run. It must have a published version, or the action is skipped.

include?array<string>

Which sections to include.

extracted_variables?

Variables the model should pull out of the conversation. A key already used by another action on this agent must have the same prompt, or the request is refused with 400. Other actions are never changed to match.

trigger_call_statuses?array<string>

Call outcomes that fire this action. Omit to use the default (completed, voicemail_detected).

Response body

application/json

Response Body

The action was updated.

application/json
action?

One post-call action on an agent, with the fields of its type.

applies_after_publish?AppliesAfterPublish

False for an agent that has never been published: the change is live on the next call. True when the agent is published: changes go to the draft, so they reach live calls only after you publish the agent in the dashboard.