How it flows
Build the OpenCX side first
Create a workflow with a Form Submit trigger
In your OpenCX dashboard, start a new workflow and pick Form Submit as the trigger type.
Define the form schema
Add one field per value Pipedrive will send. Typical set for an outbound-call flow:
name, email, phone_number, plus any custom fields (booking_code, van_model, lead_id). The field names here become the keys in formData on the Pipedrive side — keep them identical.Copy the form ID
The trigger node exposes a Form ID (a ULID like
01K9SYWVMSJF5PT4AH4ACHV3F3). Copy it — Pipedrive will send it alongside the payload.Wire Pipedrive’s automation
Open Pipedrive Automations
Go to Pipedrive Automations and create a new workflow.
Pick your trigger
For outbound calls on new leads, use Lead created. For updates on stage changes, use Lead updated → Stage. Any Pipedrive trigger works.
Add an HTTP Request action
Pipedrive’s automation builder has a built-in HTTP Request step. Configure it as:Replace
- Method:
POST - URL:
https://api.open.cx/backend/workflow/form-submission - Headers:
Content-Type: application/json - Body:
formId with the ID you copied from OpenCX, and swap the merge tags for the Pipedrive fields you want to send.Outbound call payloads need E.164 phone numbers
If the next step is an outbound AI call, the phone number has to be in format before the call action runs. Pipedrive often stores phone numbers without a leading+, which the call provider rejects with customer.number must be a valid phone number in the E.164 format.
Two places to fix it:
- In Pipedrive’s HTTP Request body — concatenate a
+if the number doesn’t start with one. If Pipedrive’s automation builder doesn’t support string manipulation for your layout, fix it upstream. - In the OpenCX workflow — add a transformation node between the trigger and the call action that prefixes
+when missing.
Form Submit vs generic webhook
You can also start a workflow from a generic Webhook trigger. It works — but the payload comes through as an untyped object, and the flow builder can’t suggest fields. For anything beyond a proof of concept, use Form Submit.| Form Submit | Generic Webhook | |
|---|---|---|
| Payload shape | Enforced against your schema | Free-form JSON |
| Builder suggestions | Typed (trigger.formData.phone) | Untyped |
| URL | api.open.cx/backend/workflow/form-submission | Unique per trigger |
| Body wrapper | { formId, formData } | Whatever you send |
Related Documentation
Update Lead Action
Pair a Pipedrive-triggered workflow with a write-back to the same lead.
Connect
Credentials for the write-back side.
Overview
Capabilities and patterns at a glance.
Troubleshooting
Payload untyped, phone-format errors, workflow not firing.