What the handoff delivers
When AgentFlow triggers a handoff, it sends a structured payload containing everything your downstream system needs to create or update a contact, open an opportunity, or kick off an automation sequence:- Lead identity — name, email, company, and any additional fields captured at intake
- AI qualification score — the numeric score (0–100) and confidence rating from the OpenAI qualification step
- Operator decision — the outcome your team recorded:
approved,rejected, orreview_requested - Summary notes — the plain-language explanation generated by the AI scoring model
- Recommended action — the AI-suggested next step
- Timestamps — when the lead was received, scored, and decided on
- Lead ID — a stable identifier for idempotent downstream processing
Integration options
AgentFlow uses webhook-based handoff, which means it works with any system that can receive an HTTP POST request. You do not need a native integration or a marketplace connector — if your CRM or operations tool has a webhook URL, AgentFlow can deliver to it. Commonly used destinations include:HubSpot
Use HubSpot’s inbound webhook or a Zapier/Make intermediary to create contacts and deals.
Salesforce
Route through Salesforce Flow or an integration middleware to create leads and opportunities.
Notion
Push qualified leads into a Notion database for lightweight pipeline tracking.
Airtable
Append rows to an Airtable base for team-visible lead review and tracking.
Zapier / Make
Use an intermediary automation layer to fan out to multiple destinations or transform the payload.
Custom endpoint
POST directly to any internal service, data warehouse ingestion endpoint, or ops API.
Configure the CRM handoff
Define the handoff trigger
In your AgentFlow dashboard, navigate to Settings → Handoff. Choose when AgentFlow should dispatch the outbound payload:
- On operator approval (recommended) — fires only when an operator marks a lead
approved - On any decision — fires on
approved,rejected, andreview_requested - On qualification complete — fires immediately after AI scoring, before operator review
Configure your destination endpoint
Enter your CRM or workflow tool’s webhook URL in the Destination URL field. AgentFlow sends a
POST request to this URL with a JSON body each time the trigger fires.If your downstream system requires authentication headers — for example, an Authorization: Bearer <token> — add them in the Custom Headers section. These headers are stored server-side and are never exposed in the dashboard response payloads.Map payload fields to your CRM schema
AgentFlow sends a standardized payload (see below), but your CRM may expect different field names or a nested structure. Use the Field Mapping panel to translate AgentFlow fields to your destination schema. If you are routing through Zapier or Make, you can handle mapping in your automation workflow instead.
Example handoff payload
AgentFlow sends the following JSON structure to your configured endpoint:POST request body with Content-Type: application/json.
Troubleshooting handoff delivery
If your CRM or workflow tool is not receiving payloads, work through these checks:No payload arriving at the destination
No payload arriving at the destination
- Confirm the destination URL is correct and publicly reachable (not
localhostor an internal network address). - Check that the handoff trigger you configured is actually firing — visit the lead record in the AgentFlow dashboard and verify its status matches the trigger condition.
- Review the Handoff Logs panel under Settings for delivery attempts and HTTP response codes.
Payload arriving but fields are missing or wrong
Payload arriving but fields are missing or wrong
- Check your field mapping configuration in AgentFlow. A misconfigured mapping can silently drop or rename fields.
- Inspect the raw payload using a webhook inspection tool to confirm AgentFlow is sending the expected structure before the issue is diagnosed as a CRM-side problem.
CRM returning a non-200 response
CRM returning a non-200 response
- A
401or403usually means authentication headers are missing or incorrect. Verify theAuthorizationheader value in the Custom Headers panel. - A
422or400typically means a required field in your CRM’s schema is missing from the payload or failing validation. Check your CRM’s inbound webhook documentation for required fields. - AgentFlow logs the response code for every delivery attempt. Retry failed deliveries from the Handoff Logs panel once you have corrected the configuration.
Duplicate records appearing in the CRM
Duplicate records appearing in the CRM
- Use the
lead_idfield as a deduplication key in your CRM or automation workflow. AgentFlow guarantees thatlead_idis stable and unique per lead record. - If you have configured the trigger to fire on multiple events (e.g., both
approvedandany decision), you may be dispatching multiple payloads for the same lead. Scope the trigger to a single event type.