FlowProofs doesn't need to know your tool. If it can send an HTTP request, and almost everything can, this works.
Nothing existing is touched
Add one action that sends a POST request to your FlowProofs URL, right at the point where this begins. Most tools that can call a webhook or make an HTTP request can do this, whatever the exact menu is called.
POST https://flowproof-ok3mquge8-hitenbs-projects.vercel.app/api/v1/events
Authorization: Bearer fp_live_YOUR_API_KEY
Content-Type: application/json
{
"flow": "your-flow-slug",
"endpoint": "source",
"external_id": "USE-YOUR-OWN-REFERENCE",
"match": {
"phone": "+15551234567"
}
}Include the same external_id (or phone/email) you use on the other side, so FlowProofs can pair the two. See the matching key.
Add one action that sends a POST request to your FlowProofs URL, right at the point where this lands. Most tools that can call a webhook or make an HTTP request can do this, whatever the exact menu is called.
POST https://flowproof-ok3mquge8-hitenbs-projects.vercel.app/api/v1/events
Authorization: Bearer fp_live_YOUR_API_KEY
Content-Type: application/json
{
"flow": "your-flow-slug",
"endpoint": "destination",
"external_id": "USE-YOUR-OWN-REFERENCE",
"match": {
"phone": "+15551234567"
}
}Include the same external_id (or phone/email) you use on the other side, so FlowProofs can pair the two. See the matching key.
Every template includes a match object, whichever fields uniquely identify the record on both ends. Toggle which ones apply and the template below updates to match, then copy the pieces you need.
Source side
Two pings total. Add one BEFORE your work step (endpoint: source), one AFTER (endpoint: destination).
URL
https://flowproof-ok3mquge8-hitenbs-projects.vercel.app/api/v1/events
Authorization header value
Bearer fp_live_YOUR_API_KEY
Match on
Body template
{ "flow": "your-flow-slug", "endpoint": "source", "external_id": "USE-YOUR-OWN-REFERENCE", "match": { "phone": "+15551234567" } }
Common field examples
Destination side
Two pings total. Add one BEFORE your work step (endpoint: source), one AFTER (endpoint: destination).
URL
https://flowproof-ok3mquge8-hitenbs-projects.vercel.app/api/v1/events
Authorization header value
Bearer fp_live_YOUR_API_KEY
Match on
Body template
{ "flow": "your-flow-slug", "endpoint": "destination", "external_id": "USE-YOUR-OWN-REFERENCE", "match": { "phone": "+15551234567" } }
Common field examples
The same request as above, as one line in any language: a plain fetch, curl, or your HTTP client of choice, right where your handler already does its job.