YES Funnel API
Build automations with your funnel data
The YES Funnel API lets you access your funnels, leads, and analytics programmatically. Use it to connect with Zapier, ActivePieces, Make, n8n, or build custom integrations.
Base URL: https://theyesfunnel.com/api/v1
Authentication: Bearer token
Format: JSON
Authentication
All API requests require an API key in the Authorization header.
curl -X GET https://theyesfunnel.com/api/v1/funnels \
-H "Authorization: Bearer yes_live_abc123..."Error responses
| Status | Meaning |
|---|---|
401 | Missing or invalid API key |
403 | Plan does not include API access |
Example error response
{ "error": "Missing or invalid API key" }
Funnels API
List all your funnels
Example request
curl -X GET https://theyesfunnel.com/api/v1/funnels \
-H "Authorization: Bearer YOUR_KEY"Example response
{ "data": [ { "id": 1, "name": "PI Injury Quiz", "slug": "pi-injury-quiz", "published": true, "lead_count": 47, "created_at": "2024-01-15T10:00:00Z", "url": "https://theyesfunnel.com/f/pi-injury-quiz" } ], "meta": { "total": 1, "plan": "pro" } }
Get a single funnel. Same format as above, includes a steps array.
Leads API
Get leads for a funnel
Query parameters
| Param | Type | Values | Description |
|---|---|---|---|
since | string | ISO date | Filter by date |
limit | number | 1 to 1000 | Default 100 |
page | number | Pagination |
Example response
{ "data": [ { "id": 123, "submitted_at": "2024-01-15T14:30:00Z", "answers": { "_name": "John Doe", "_email": "john@email.com", "_phone": "+1 555 000 0000", "_score": 80, "_grade": "Excellent", "q1": "Car Accident", "q2": "Less than 6 months ago" } } ], "meta": { "total": 47, "page": 1, "pages": 1 } }
Get all leads across all your funnels. Same query parameters as above.
Manually submit a lead
Body: { "answers": {} }
Analytics API
Get analytics summary. Returns views, leads, conversion, and step dropoff data.
Example response
{ "data": { "funnel_id": 1, "views": 240, "leads": 47, "conversion": 19.6, "step_dropoff": [ { "step_index": 0, "step_name": "Step 1", "count": 240, "percent": 100 }, { "step_index": 1, "step_name": "Step 2", "count": 180, "percent": 75 } ] } }
Webhooks
Webhooks send lead data to your URL instantly when a form is submitted. Set the webhook URL per funnel in the funnel builder under Settings Integrations.
Webhook payload example
{ "event": "lead.created", "funnel_id": 1, "funnel_name": "PI Injury Quiz", "funnel_url": "https://theyesfunnel.com/f/pi-injury-quiz", "lead": { "id": 123, "submitted_at": "2024-01-15T14:30:00Z", "name": "John Doe", "email": "john@email.com", "phone": "+1 555 000 0000", "score": 80, "grade": "Excellent", "answers": { "q1": "Car Accident", "q2": "Less than 6 months ago" }, "custom": {} } }
Each webhook includes the header:
X-YesFunnel-Event: lead.created
X-YesFunnel-Funnel-Id: 1Retry policy: Webhooks are sent once. If your endpoint is down the lead is still saved in YES Funnel.
Connecting Zapier
Get your webhook URL
In your funnel builder, go to Settings Integrations Webhook URL. Copy this URL.
Create a Zap
In Zapier, create a new Zap. Choose Webhooks by Zapier as the trigger. Select Catch Hook.
Paste webhook URL
Paste your YES Funnel webhook URL into Zapier's webhook URL field.
Test the connection
Use the Test Webhook button in your funnel settings to send a sample lead. Zapier will detect the data structure.
Map your fields
You can now use any lead field in your Zap actions:
{{lead.name}}{{lead.email}}{{lead.phone}}{{lead.score}}{{lead.answers.q1}}
Add your action
Connect to Gmail, Google Sheets, Slack, CRM, or any of Zapier's 5,000+ apps.
Common Zap examples
- New lead Add row to Google Sheets
- New lead Send email via Gmail
- New lead Create contact in HubSpot
- New lead Send Slack message
- New lead Add to Mailchimp list
Connecting ActivePieces
Get your webhook URL
In your funnel builder, go to Settings Integrations Webhook URL. Copy this URL.
Create a flow
In ActivePieces, create a new flow. Choose Webhook as the trigger and copy the generated URL into your funnel's webhook field. Or use the HTTP Request piece to pull data on a schedule.
Configure the HTTP Request piece
To pull funnels or leads on demand, use ActivePieces' HTTP Request component with the config below.
Example ActivePieces flow config
Method: GET
URL: https://theyesfunnel.com/api/v1/funnels/1/leads
Headers:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonAdd your action
Connect the response fields to any downstream ActivePieces piece: CRM, spreadsheet, email, or Slack.
Connecting Make (formerly Integromat)
Get your webhook URL
In your funnel builder, go to Settings Integrations Webhook URL. Copy this URL.
Create a scenario
In Make, create a new scenario. Add a Webhooks module and select Custom webhook to receive leads instantly, or use an HTTP module to call the API directly.
Example Make HTTP module config
Method: GET
URL: https://theyesfunnel.com/api/v1/funnels/1/leads
Headers:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonMap the response
Parse the JSON response and map data[].answers fields into your next module: CRM, spreadsheet, or notification.