Skip to main content
New Introducing Mosaic Learn more
Custom integration

Webhooks and API

Call any API from a workflow, write the response back to fields, and send data in through the Conversion API.

Two-way
Conversion

How it works

Conversion connects to tools without a native integration through webhooks and its API. The HTTP Request workflow step calls any HTTPS endpoint with contact and company data, then writes values from the JSON response back onto fields. In the other direction, your systems can upsert contacts, track events, and trigger workflows through the Conversion API.

What you can do

Look up data mid-workflow

Call an enrichment service, an internal API, or a scoring model when a contact reaches a step, then branch on the fields it writes back.

Personalized requests

The URL, every header, and the body support Liquid, so each contact produces its own request with its own data.

Start workflows from your stack

Trigger a workflow from your product or backend with an API call, and pass custom data the workflow can use in Liquid.

What syncs

Data Direction Details
Workflow requests Out of Conversion GET, POST, PUT, PATCH, DELETE, or HEAD with Liquid in the URL, headers, and JSON body.
Response fields Into Conversion Values from the response map onto contact or company fields by JSON path, with an overwrite toggle.
Contacts, events, and workflow triggers Into Conversion Your systems call the Conversion API to upsert contacts, track events, or start an API-triggered workflow.

How to set it up

  1. 1 Add an HTTP Request step to a workflow, or save a reusable webhook under Settings > Integrations.
  2. 2 Enter the HTTPS URL, method, headers, and a JSON body with Liquid variables.
  3. 3 Map the response fields you want to keep onto contact or company fields.
  4. 4 For inbound data, create an API key in Conversion and call the contacts, events, or workflow trigger endpoints.
FAQ

Frequently asked questions

Yes. The HTTP Request workflow step calls any HTTPS endpoint with GET, POST, PUT, PATCH, DELETE, or HEAD, personalized with Liquid, and can write values from the JSON response back onto contact and company fields.

No. Each request has a 15 second timeout and a 1 MB response limit, and a failed request is not retried. Design endpoints to respond quickly and handle failures in the workflow.

Add them as a header, such as an Authorization bearer token. Headers are saved with the workflow, so anyone who can edit it can read them. Use tokens scoped to only what the request needs.

Connect the rest of your stack

Book a demo and we'll walk through the Webhook integration on a stack that looks like yours.