Skip to main content
POST
cURL
Manually start a bot workflow for a conversation. Path workflowId must be URL-encoded. Optional triggerData is a JSON object copied onto the trigger node’s output. Downstream WhatsApp / HTTP / Task fields read it with an Expression. The $… id is the trigger node id, not the workflow id:
Bind that expression in a template slot or HTTP {{n}} — see triggerData and a dual-graph snippet in Examples. This call is a starter: it opens a conversation from the business side. The workflow’s first WhatsApp node must be messageType: "template" + templateType: "whatsapp" with an APPROVED catalog template — WhatsApp templates. (Inbound reply bots that use pingmeeTrigger do not go through this endpoint and may use messageType: "custom".) phoneNumberId in the body should match the workflow’s associatedToBusinessId. startWithNodeId that skips the trigger does not seed output.triggerData. A workflow pointer does not forward this payload to the child — POST /trigger on the workflow that should receive it.

Authorizations

Personal access token from Pingmee Settings → Developer Tools

x-api-key
string
header
required

Business API key from Pingmee Settings → Developer Tools

Path Parameters

workflowId
string
required

Workflow identifier. Must be URL-encoded when used in the path.

Body

application/json

Conversation, optional node to start from, and optional triggerData JSON copied onto the trigger node output.

phoneNumberId
string
required

Business phone number identifier.

customerPhoneNumberId
string
required

Customer phone number identifier.

triggerData
object

Optional JSON object copied onto the trigger node's output as triggerData. Downstream expressions read it as return $<triggerNodeId>.triggerData.<key>; (the $… id is the trigger node id, not the workflow id). Must be a JSON object (not an array), at most 32768 bytes, nesting depth at most 10. See Build workflows → Variables.

Example:
startWithNodeId
string

Optional workflow node identifier to start execution from.

Response

Workflow triggered successfully

ok
boolean
required
Example:

true

Last modified on September 4, 2026