Automation & workflow
AI Agents and Make
A Custom Webhook module receives every finished conversation. Make infers the data structure from the first delivery, so the order of the first two steps matters.
Where this stands today
Make's Custom Webhook is the counterpart to Zapier's Catch Hook, with one behavioural difference worth planning around: Make determines the data structure from the first payload it receives and then keeps it. If your first delivery is a half-filled test, every later module maps against that half-filled shape.
Send a realistic delivery first - a genuine finished conversation, or the dashboard test delivery - and let Make learn from that. Redetermining the structure later is possible but means revisiting every mapping you already built.
Where Make earns its place over Zapier is branching. A router with three routes - resolved, needs follow-up, negative sentiment - is far more legible on Make's canvas than the equivalent chain of filters.
What the agent can do
Custom Webhook trigger
Gives you a URL, waits for the first payload, and derives the data structure from it.
Router on outcome and sentiment
Three routes with clear filters instead of a chain of conditionals. This is Make's real advantage here.
Iterator over the transcript
The transcript is an array of turns. An Iterator lets you write each turn as its own row when you want the conversation searchable in a sheet or a database.
Error handlers on every module
Make lets you attach a handler per module. A failed CRM write becomes a logged incident instead of a silently dead scenario.
How it is wired
- Conversation ends
- Custom Webhookstructure determined once
- Routeroutcome · sentiment
- ModulesCRM, sheet, notification
Code
Webhooks → Custom webhook
copy the URL, leave the scenario listening
bitpull → agent → Actions → Outbound webhook
URL: <the Make webhook URL>
press "Test" → Make: "Successfully determined"
Router
├─ Route 1 filter: outcome = RESOLVED
│ → Google Sheets: add row (archive only)
├─ Route 2 filter: followUp.required = true
│ → CRM: search contact → create/update → create task
└─ Route 3 filter: sentiment = NEGATIVE
→ Slack / email: notify the owner immediately
Attach an error handler to every write module:
Resume + log to a "failed deliveries" sheet, so nothing disappears.Limits worth knowing before you start
- No bitpull app in Make. This is the generic Custom Webhook module.
- The data structure is learned once. A first delivery from an empty test conversation will haunt the whole scenario.
- Make bills per operation, and a router counts each route it enters. Filter before the router, not after.
- As with Zapier, the transcript passes through and is stored on Make's infrastructure. Consider that before routing call recordings through it.
- A scenario that is paused or over quota drops deliveries. There is no documented replay on the bitpull side.
Questions
Why is Make not seeing my fields?
The scenario has to be listening when the delivery arrives, and the structure is only determined from a payload it actually received. Start the scenario, then press Test delivery in bitpull.
Can I re-determine the data structure later?
Yes, on the webhook module - but mappings built against the old shape need checking afterwards. Getting the first delivery right is cheaper.
Agents are created and operated on bitpull.ai - this site documents how to connect one. If the outbound webhook is not visible in your dashboard yet, that is the account capability flag, and support can enable it.