How it works: the two pings

FlowProofs needs exactly two reports for any system: one when work starts, one when it finishes. Everything in between is none of its business.

The source ping

Sent from wherever your system actually begins: a voice agent finishing a call, a form being submitted, an order being placed. This tells FlowProofs "something started, here's a reference for it."

The destination ping

Sent from wherever the record should end up landing: a new lead in your CRM, a row in a spreadsheet, a fulfilment order created. This tells FlowProofs "something finished, here's the same reference."

The universal ping

Both pings are the exact same shape: one HTTP request, a POST to your unique FlowProofs URL, with an authorization header identifying your account and a small body naming the record. Any tool that can send an HTTP request can do this, which in practice is every automation tool, every CRM with a workflow or webhook feature, and one line of code in any programming language.

The universal ping, source side
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"
  }
}

The only thing that changes between the source ping and the destination ping is endpoint in the body ("source" or "destination") and, of course, where in your setup you add the call.

Nothing existing is touched

Adding a ping is additive: one extra outbound call dropped in next to logic that already exists, never a replacement for a field or a setting your system already depends on. See the per-tool guides for exactly where to add it in the tool you use.

Where to add it

  • In your flow builder (n8n, Make, Zapier, Power Automate, GoHighLevel), add one HTTP node to the automation you already built, right at the start or finish point. This is where most people add it, since it's where the automation itself lives.
  • In your own code: one extra outbound request next to whatever your handler already does.
  • Directly in a source or destination tool, whatever sits right at the start or end of the flow, only if you're not routing through a flow builder at all and that tool supports a direct callback/webhook setting for this event.

See the tool guides for exact, click-by-click steps in the tools we've verified.