249
All workflows

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.

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

  1. T

    Pull new leads, by Retrieve responses by Typeform

    Get form's responses submitted since since. Keep each lead's name, email, company and answers.

  2. A

    Look them up, by Enrich a person by Apollo

    Match up to max_lookups leads on their email. Keep title, seniority, employer and employer website; mark anyone without a match.

  3. A

    Size the company, by Enrich a company by Apollo

    For each employer website, keep industry and employee count.

  4. Qualify, by Your agent

    Compare each lead with ideal_customer and their answers. Mark each as fit, maybe or not a fit, with a one-line reason, and show the table to the user.

  5. B

    Find the booking page, by List booking pages by Bridge

    Match booking_page to an active page. Keep its id and public link. If none matches, go to step 6; otherwise skip it.

  6. B

    Create the page, by Create a booking page by Bridge

    After the user agrees, create booking_page as a 30-minute page with status active. Keep its id and public link.

  7. B

    Find open times, by Find free time by Bridge

    Get the page's bookable slots for the next seven days, with page set to its id and maxResults set to 100. Keep three slots on different days.

  8. 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.

  9. G

    Save 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 sales
  • since: when the last run happened, e.g. 2026-10-16
  • ideal_customer: a sentence on who fits, e.g. B2B companies with 50 to 1,000 employees and a sales team
  • booking_page: the booking page for these calls, by name, e.g. Intro call
  • max_lookups: the most leads to enrich in one run, e.g. 50

Set up

Retrieve responses (Typeform, tool:typeform/retrieve-responses)

Use the API.

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_emails or reveal_phone_number, and phone numbers arrive later at a webhook_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 status is active, which fails until every host has a calendar connected. Use addQuestions to keep the default Notes question; questions replaces the whole form.
  • Find free time: Range is at most 31 days; returns 20 slots unless maxResults (up to 100) is set. Without page, slots fall Mon to Fri 9:00 to 17:00 unless workingHours is passed. With page, returns the slots book_meeting accepts; 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

  1. Pull new leads with Retrieve responses (Typeform). Get form's responses submitted since since. Keep each lead's name, email, company and answers.
  2. Look them up with Enrich a person (Apollo). Match up to max_lookups leads on their email. Keep title, seniority, employer and employer website; mark anyone without a match.
  3. Size the company with Enrich a company (Apollo). For each employer website, keep industry and employee count.
  4. Qualify yourself. Compare each lead with ideal_customer and their answers. Mark each as fit, maybe or not a fit, with a one-line reason, and show the table to the user.
  5. Find the booking page with List booking pages (Bridge). Match booking_page to an active page. Keep its id and public link. If none matches, go to step 6; otherwise skip it.
  6. Create the page with Create a booking page (Bridge). After the user agrees, create booking_page as a 30-minute page with status active. Keep its id and public link.
  7. Find open times with Find free time (Bridge). Get the page's bookable slots for the next seven days, with page set to its id and maxResults set to 100. Keep three slots on different days.
  8. 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.
  9. 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.