API Sign Up

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

API access is available on Pro and Agency plans. Get your API key from Settings Integrations.

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

StatusMeaning
401Missing or invalid API key
403Plan does not include API access

Example error response

{
  "error": "Missing or invalid API key"
}

Funnels API

GET /api/v1/funnels

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 /api/v1/funnels/:id

Get a single funnel. Same format as above, includes a steps array.

Leads API

GET /api/v1/funnels/:id/leads

Get leads for a funnel

Query parameters

ParamTypeValuesDescription
sincestringISO dateFilter by date
limitnumber1 to 1000Default 100
pagenumberPagination

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 /api/v1/leads

Get all leads across all your funnels. Same query parameters as above.

POST /api/v1/funnels/:id/leads

Manually submit a lead

Body: { "answers": {} }

Analytics API

GET /api/v1/analytics/:funnel_id

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: 1

Retry policy: Webhooks are sent once. If your endpoint is down the lead is still saved in YES Funnel.

Connecting Zapier

1

Get your webhook URL

In your funnel builder, go to Settings Integrations Webhook URL. Copy this URL.

Screenshot: Webhook URL field in funnel settings
2

Create a Zap

In Zapier, create a new Zap. Choose Webhooks by Zapier as the trigger. Select Catch Hook.

Screenshot: Zapier trigger selection
3

Paste webhook URL

Paste your YES Funnel webhook URL into Zapier's webhook URL field.

4

Test the connection

Use the Test Webhook button in your funnel settings to send a sample lead. Zapier will detect the data structure.

5

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}}
6

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

1

Get your webhook URL

In your funnel builder, go to Settings Integrations Webhook URL. Copy this URL.

2

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.

3

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/json
4

Add your action

Connect the response fields to any downstream ActivePieces piece: CRM, spreadsheet, email, or Slack.

Connecting Make (formerly Integromat)

1

Get your webhook URL

In your funnel builder, go to Settings Integrations Webhook URL. Copy this URL.

2

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/json
3

Map the response

Parse the JSON response and map data[].answers fields into your next module: CRM, spreadsheet, or notification.