Skip to main content
Help centerGet support
Browse documentation
On this page 13 sections
12 min readSales Tools

Sales Intelligence API and Webhooks

Automate Sales Intelligence with outbound webhooks, the read-only REST API, MCP tools for AI assistants, and Zapier integration.

Feature overview: Sales Intelligence

Your guide, at your pace

Scan the overview. Open a section for its full steps and details.

New to these terms?
API
A way for two apps to share information or carry out tasks for each other.
Webhook
An automatic message sent to another app when something happens, such as a new review arriving.
MCP
Model Context Protocol. A standard that lets AI tools connect to other apps and use their features.

Sales Intelligence has three ways to talk to the rest of your stack. Outbound webhooks fire whenever a lead is captured or a self-serve report finishes. A read-only REST API and a set of MCP tools let your own systems, AI assistants, or Zapier flows pull lead data on demand.

All of these are owner-level controls. The agency owner generates tokens, registers webhooks, and decides which events flow out. Sales agents can use Sales Intelligence inside the app, but the automations stay with you.

Webhooks at a glance

#

A webhook is a URL on your side that the platform calls with JSON whenever an event happens. You decide which events you want to subscribe to and where the platform should send the data.

Steps and details · includes a table

In the Create Webhook modal these appear under the Sales Intelligence group as Lead Created and Report Ready; the JSON webhook_event values are lead-created and report-ready.

Webhooks at a glance
EventFires when
lead-createdA new lead is added to the pipeline (manual save or self-serve form submission)
report-readyA self-serve report finishes generating and the prospect is about to receive the report-ready email

Event · Fires when

lead-created
A new lead is added to the pipeline (manual save or self-serve form submission)
report-ready
A self-serve report finishes generating and the prospect is about to receive the report-ready email
Worth knowing

Both events are restricted to the agency owner because lead data is sensitive. You will not see them in the webhook manager if you are signed in as a sales agent.

Register a webhook

#

Open Platform -> AI & Automation -> API & Webhooks and switch to the Webhooks tab. Click Create Webhook, paste your destination URL, choose the events you want, and save.

Steps and details
  • You can have multiple webhooks for the same event
  • You can route different events to different URLs
  • Webhooks include a webhook_event field in the JSON body so a single endpoint can dispatch internally
  • A failed delivery is retried with backoff so transient errors do not silently drop

Sample payload: lead-created

#

The payload includes the business profile, basic contact information, and a short summary of the linked report. The full lead record with contact details is available through the REST API if you need more depth.

Steps and details
  • uuid: the lead UUID
  • business_name, business_type, category, address, rating, review_count
  • place_id, cid, phone, website, email
  • discovery_source: self_serve_intel_form for public-form leads, otherwise the source you used
  • status: current pipeline status
  • self_serve: present for self-serve leads, includes name, role, consent_at, turnstile_verified, submitted_at, locale
  • report: short summary with uuid, preset_key, status, and public_url
  • webhook_event: always lead-created
Worth knowing

For privacy, the webhook self-serve block intentionally does not include the contact phone or email. Use the REST API or MCP tool to fetch the full lead record when you need those.

Sample payload: report-ready

#

This event fires when a self-serve report finishes. Use it to add the prospect to a CRM, kick off a follow-up sequence, or send a Slack message to the sales team.

Steps and details
  • report: uuid, preset_key, status, public_url, estimated_cost_usd, actual_cost_usd, completed_at, processing_duration_ms
  • lead: uuid, business_name, email, phone, city, region, country_code, place_id, discovery_source
  • webhook_event: always report-ready

Connect through Zapier

#

If you do not want to build your own webhook endpoint, Zapier is the easiest path. Both events can be subscribed to from Zapier. Only lead-created returns sample rows in Zapier's Test trigger step. For report-ready, generate a real report to see live data.

Steps and details

REST API at a glance

#

The Sales Intelligence API is read-only and lives under the /api/agency/v1 namespace on your white-label domain. It is designed for syncing leads into a CRM, building internal dashboards, or running scheduled reports.

Steps and details · includes a table
REST API at a glance
EndpointWhat it returns
GET /api/agency/v1/leadsA paginated list of leads with optional filters
GET /api/agency/v1/leads/{uuid}A single lead with the full self-serve contact block and the linked report

Endpoint · What it returns

GET /api/agency/v1/leads
A paginated list of leads with optional filters
GET /api/agency/v1/leads/{uuid}
A single lead with the full self-serve contact block and the linked report
Worth knowing

Both endpoints require a Sanctum token belonging to the agency owner. A sales agent token cannot read the leads API.

Authenticate API requests

#

API calls use a Sanctum bearer token issued to the agency owner. Generate the token from Platform -> AI & Automation -> API & Webhooks -> API Tokens, then include it in the Authorization header.

Steps and details
  • Generate the token as the agency owner
  • Send it as Authorization: Bearer YOUR_TOKEN
  • Tokens can be revoked at any time from the same settings page

Filter the leads endpoint

#

The list endpoint supports a small set of filters that are usually enough for syncing into a CRM or building a dashboard.

Steps and details · includes a table
Filter the leads endpoint
Query parameterWhat it does
date_fromISO date, only leads created on or after this date
date_toISO date, only leads created on or before this date
business_namePartial match on the business name
statusPipeline status, for example qualified
include_outboundSet to true to include outbound leads, otherwise only self-serve leads are returned
per_pagePage size, 1 to 50
pagePage number

Query parameter · What it does

date_from
ISO date, only leads created on or after this date
date_to
ISO date, only leads created on or before this date
business_name
Partial match on the business name
status
Pipeline status, for example qualified
include_outbound
Set to true to include outbound leads, otherwise only self-serve leads are returned
per_page
Page size, 1 to 50
page
Page number
Worth knowing

By default the endpoint only returns self-serve leads because those are the ones automation usually cares about. Pass include_outbound=1 if you want everything.

What the leads endpoint returns

#

The response is a standard Laravel paginated resource collection with data, links, and meta. Each item in data includes the full lead record.

Steps and details
  • Business profile: business_name, address, rating, review_count, phone, website, place_id
  • Contact: email, plus a nested self_serve block with name, role, phone, email, form_slug, consent_at, submitted_at, locale, turnstile_verified
  • Sales context: status, opportunity_score, discovery_source, timestamps
  • Linked report: present when a report exists, includes uuid, preset_key, status, and public_url

API rate limits

#

The API uses the standard Laravel throttle:api limiter, which is shared across all of your /api traffic. For most workflows this is comfortable and does not need tuning.

MCP tools for AI assistants

#

MCP (Model Context Protocol) is how AI assistants like Claude can call your platform safely. EmbedMyReviews exposes Sales Intelligence as two MCP tools so an agent can fetch and inspect leads without you giving it broad database access.

Steps and details · includes a table
  • Both tools require a token with the mcp:access ability
  • Both tools require the caller to be the agency owner
  • Token abilities and MCP visibility are managed from Platform -> AI & Automation -> API & Webhooks, on the AI Hub tab. The deeper AI Hub dashboard lives at Resources -> Developer -> AI Hub.
MCP tools for AI assistants
ToolWhat it does
list_sales_intelligence_leadsList leads with the same filters as the REST API (the business-name filter is named search here rather than business_name)
get_sales_intelligence_leadFetch a single lead by UUID

Tool · What it does

list_sales_intelligence_leads
List leads with the same filters as the REST API (the business-name filter is named search here rather than business_name)
get_sales_intelligence_lead
Fetch a single lead by UUID
Worth knowing

MCP makes it easier to wire Sales Intelligence into AI workflows without writing a custom adapter. The same data the REST API exposes is available, just shaped for an AI agent to use.

Security checklist

#

Webhooks and API tokens carry real lead data. Treat them like production credentials.

Steps and details
  • Only the agency owner should generate tokens or register webhooks
  • Rotate tokens after staff changes or any suspected leak
  • Use a secret value in your webhook URL or a verification header on your side so you can confirm the origin if you ever need to
  • Keep the destination URL on HTTPS at all times

Common questions

Still need a hand?

Tell us what you’re trying to do. We’ll help you find the next step.

Get support

Search the help center