STurn qualified inbound leads into booked meetings
Reads new form leads, enriches and qualifies them, and drafts a personal reply with a Bridge booking link and open times for each good fit.
Outcome
A table of every lead since the last run, with role, company, size, a fit verdict and the reason.
A Bridge booking page for sales calls, created if you did not have one.
A Gmail draft for each qualified lead, with a personal note, the booking link and three open times.
How it works
TPull new leads, by Retrieve responses by Typeform
Get
form's responses submitted sincesince. Keep each lead's name, email, company and answers.
ALook them up, by Enrich a person by Apollo
Match up to
max_lookupsleads on their email. Keep title, seniority, employer and employer website; mark anyone without a match.
ASize the company, by Enrich a company by Apollo
For each employer website, keep industry and employee count.
Qualify, by Your agent
Compare each lead with
ideal_customerand their answers. Mark each as fit, maybe or not a fit, with a one-line reason, and show the table to the user.
BFind the booking page, by List booking pages by Bridge
Match
booking_pageto an active page. Keep its id and public link. If none matches, go to step 6; otherwise skip it.
BCreate the page, by Create a booking page by Bridge
After the user agrees, create
booking_pageas a 30-minute page with status active. Keep its id and public link.
BFind open times, by Find free time by Bridge
Get the page's bookable slots for the next seven days, with
pageset to its id andmaxResultsset to 100. Keep three slots on different days.Write the replies, by Your agent
For each fit lead, draft a short reply that answers what they asked in the form, offers the three times in the lead's time zone when the form or Apollo gives one, otherwise in yours with the zone named, and links the booking page. The slot labels are in your time zone, so convert from their UTC start. Show the drafts to the user.
GSave the drafts, by Create a draft by Google
Create one Gmail draft per approved reply, addressed to the lead.
You'll be asked for
The Typeform form that collects leads, by name
e.g. Contact sales
When the last run happened
e.g. 2026-10-16
A sentence on who fits
e.g. B2B companies with 50 to 1,000 employees and a sales team
The booking page for these calls, by name
e.g. Intro call
The most leads to enrich in one run
e.g. 50
inbound-lead-to-meeting.mdView markdown
Turn qualified inbound leads into booked meetings
Reads new form leads, enriches and qualifies them, and drafts a personal reply with a Bridge booking link and open times for each good fit.
Set up the tools below, then run the steps in order for the user, carrying each step's results into the next. The run is done when the user has the outcome below.
Outcome
- A table of every lead since the last run, with role, company, size, a fit verdict and the reason.
- A Bridge booking page for sales calls, created if you did not have one.
- A Gmail draft for each qualified lead, with a personal note, the booking link and three open times.
Inputs
Ask the user for these before you start.
form: the Typeform form that collects leads, by name, e.g. Contact salessince: when the last run happened, e.g. 2026-10-16ideal_customer: a sentence on who fits, e.g. B2B companies with 50 to 1,000 employees and a sales teambooking_page: the booking page for these calls, by name, e.g. Intro callmax_lookups: the most leads to enrich in one run, e.g. 50
Set up
Retrieve responses (Typeform, tool:typeform/retrieve-responses)
Use the API.
- Base URL: https://api.typeform.com
- Endpoint:
GET /forms/{form_id}/responses - Auth: send the header
Authorization: Bearer $TYPEFORM_API_KEY - Get a key: https://admin.typeform.com/user/tokens
Note: Forms with more than 1,000 responses need narrower since and until ranges or the before and after cursors. Responses from the last 30 minutes or so may be missing: use a webhook for real-time leads.
Apollo (tool:apollo/enrich-person, tool:apollo/enrich-company)
Use the first option your agent supports.
Notes:
- Enrich a person: A match costs 1 credit, plus 8 for a mobile phone; no match costs nothing. Personal emails and phone numbers are off unless you set
reveal_personal_emailsorreveal_phone_number, and phone numbers arrive later at awebhook_url. - Enrich a company: Costs 1 credit per company. To enrich up to 10 companies in one call, use bulk organization enrichment instead.
MCP (official, remote)
Add this server to your agent's MCP settings, then sign in when asked.
{ "mcpServers": { "apollo": { "url": "https://mcp.apollo.io/mcp" } } }
- Enrich a person: call the MCP tool
apollo_people_match - Enrich a company: call the MCP tool
apollo_organizations_enrich
CLI (official)
Install the command and sign in with it, then confirm it runs.
brew install apolloio/apollo-io-cli/apollo-io-cli
apollo --version
- Enrich a person: run
apollo people enrich - Enrich a company: run
apollo companies enrich
Bridge (tool:bridge/list-booking-pages, tool:bridge/create-booking-page, tool:bridge/find-free-time)
Use the MCP server. Add it to your agent's MCP settings, then sign in when asked.
{ "mcpServers": { "bridge": { "url": "https://api.meetonbridge.com/mcp" } } }
- List booking pages: call the MCP tool
list_booking_pages - Create a booking page: call the MCP tool
create_booking_page - Find free time: call the MCP tool
find_free_time
Note: Needs a paid Bridge plan (Professional or above); not on the free Starter plan or a trial. At sign-in the user grants read, or read and write, access. Call get_bridge_context first for the tools the plan and connection allow.
Notes:
- Create a booking page: Starts inactive unless
statusisactive, which fails until every host has a calendar connected. UseaddQuestionsto keep the default Notes question;questionsreplaces the whole form. - Find free time: Range is at most 31 days; returns 20 slots unless
maxResults(up to 100) is set. Withoutpage, slots fall Mon to Fri 9:00 to 17:00 unlessworkingHoursis passed. Withpage, returns the slotsbook_meetingaccepts; an inactive page has none.
Create a draft (Google, tool:google/create-draft)
Use the MCP server. Add it to your agent's MCP settings, then sign in when asked.
{ "mcpServers": { "google": { "url": "https://gmailmcp.googleapis.com/mcp/v1" } } }
Call the MCP tool create_draft.
Note: A Developer Preview, open only to Google Workspace accounts in the Workspace Developer Preview Program.
Before step 1, confirm access to each service with its cheapest read-only call, like a list or a search. Never send or change anything to test access.
Steps
- Pull new leads with Retrieve responses (Typeform). Get
form's responses submitted sincesince. Keep each lead's name, email, company and answers. - Look them up with Enrich a person (Apollo). Match up to
max_lookupsleads on their email. Keep title, seniority, employer and employer website; mark anyone without a match. - Size the company with Enrich a company (Apollo). For each employer website, keep industry and employee count.
- Qualify yourself. Compare each lead with
ideal_customerand their answers. Mark each as fit, maybe or not a fit, with a one-line reason, and show the table to the user. - Find the booking page with List booking pages (Bridge). Match
booking_pageto an active page. Keep its id and public link. If none matches, go to step 6; otherwise skip it. - Create the page with Create a booking page (Bridge). After the user agrees, create
booking_pageas a 30-minute page with status active. Keep its id and public link. - Find open times with Find free time (Bridge). Get the page's bookable slots for the next seven days, with
pageset to its id andmaxResultsset to 100. Keep three slots on different days. - Write the replies yourself. For each fit lead, draft a short reply that answers what they asked in the form, offers the three times in the lead's time zone when the form or Apollo gives one, otherwise in yours with the zone named, and links the booking page. The slot labels are in your time zone, so convert from their UTC start. Show the drafts to the user.
- Save the drafts with Create a draft (Google). Create one Gmail draft per approved reply, addressed to the lead.
Notes
Typeform is the lead source here; any form, CRM list or inbound inbox works if it gives a name, email and company. To book the meeting for a lead who already chose a time, use bridge/book-meeting with a slot from step 7.
Run it daily with since set to the previous run. Personal emails rarely match in Apollo; qualify those leads from their answers.
Rules
- Use only the services set up above. The read-only calls they need, like listing ids or polling for results, are fine.
- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.