Facebook lead form inbox your sales team works every morning

Stop exporting CSVs from Meta. See every lead form and every lead in one queue, claim them, check for duplicates, and push only the good ones to HubSpot.

App
Facebook PagesHubSpotGoogle SheetsSalesMarketingLead EnrichmentData Sync
PromptCreate

Build me an app my sales team opens every morning to work the leads coming off our Facebook Page lead forms. Right now those leads sit in Meta until somebody remembers to export a CSV, and Business Suite is slow to work in, so I want a proper working surface outside it.

The main screen is the lead queue. Use Facebook Pages List Pages to resolve the Page we manage and pull that Page's own access token, then List Page Leadgen Forms to list every lead form on the Page down one side. Selecting a form loads its leads with List Leads for Form, newest first, and opening a lead shows the full set of answers the person gave, using Get Lead to fetch the complete field data for a single lead. Show the raw question and answer pairs, not just name, email and phone, because our forms ask qualifying questions and the reps need to read them.

Each lead carries state the app stores itself, since none of this exists in Facebook: a status of New, Working, Qualified or Disqualified, and the rep who claimed it. Claiming is one click and stamps the current user's name on the lead. Persist status, owner, research output and CRM push history in the app's own storage, keyed by the Facebook lead id, and show the owner and status right on the row so the queue reads at a glance.

Before anything is pushed to the CRM, check HubSpot for a matching record with Search Contacts, looking up both the lead's email address and their phone number, and show the result on the card as already in CRM (with the matched contact and a link to it) or as new. On a qualified lead, one click creates the HubSpot contact with Create Contact, mapping the form answers onto contact properties and stamping the lead form name and the Page name as the source. Keep the push explicit and one lead at a time so nobody bulk dumps unqualified leads into the CRM, and mark the lead as pushed once it succeeds.

Add a Research and prep this lead button on the lead card that kicks off a background agent. The agent takes the company domain from the lead's email address, researches that company on the web, and writes two things back onto the lead card in the app: a short qualification brief covering what the company does, rough size, likely fit and any red flags, and a suggested first message the rep can adapt before sending. If the lead already has a HubSpot contact, or has just had one created, the agent also logs the same brief onto that contact with Create Note so the CRM record carries the context. Show the agent's progress on the card while it runs and render the brief and the suggested message inline on the card when it lands.

Add a per form panel showing lead volume over time and how many of that form's leads reached Qualified, so we can see which form is actually producing rather than which one just collects the most junk. Add a my leads filter that narrows the queue to leads the current rep has claimed, alongside filters by status and by form. Whatever view is on screen exports to Google Sheets with Append Values, one row per lead carrying the answers, status, owner, CRM state and the research brief, so we can pull it up in the Monday pipeline meeting.

Bake in the retention limit: Facebook only serves lead ads leads through the API for about 90 days after they are submitted. Show each lead's age and how many days remain, badge the ones getting close to the cutoff, and warn clearly on any lead within a couple of weeks of aging out so we either work it or export it before it disappears from the API for good.

One note on the Facebook side: the leadgen form and lead endpoints need the Page access token that comes back per Page from List Pages, not the user token, so resolve the Page and its token first and use that token for every forms and leads read.

What does this prompt do?

  • Lists every lead form on your Facebook Page and every lead inside it, newest first, with the full set of answers the person gave and how long is left before Facebook stops handing that lead over.
  • Tracks a status and an owner on every lead, from New through Working, Qualified or Disqualified, with a my leads filter so two reps never call the same person.
  • Checks your CRM by email and phone before anything is pushed, shows already in CRM or new, and creates the contact one lead at a time with the form name and Page stamped as the source.
  • Adds a Research and prep button that writes a short qualification brief and a suggested first message onto the lead card and files the same brief on the CRM record, plus per form volume and conversion stats and a one click export to Google Sheets.

What do I need to use this?

  • A Facebook Page you manage that collects leads through lead forms, connected with permission to read the Page's forms and leads.
  • A HubSpot login that can look up contacts, create them, and add notes.
  • Your reps using the app under their own logins, so claiming a lead puts the right name on it.
  • A Google account and a spreadsheet to export to, if you want the pipeline meeting export.

How can I customize it?

  • Rename the statuses to match how your team actually sells, or add one like Booked or Nurture.
  • Move the aging warning: 90 days is Facebook's own cutoff, but you can have the app start shouting at 60 or 75 days instead.
  • Change what the research brief covers and how the suggested opening message sounds, and point the export at whichever spreadsheet your pipeline meeting runs from.

FAQs

Does this change anything inside Facebook?
No. The app only reads your lead forms and the leads inside them. Statuses, owners and research notes live in the app itself, so nothing your reps do here edits anything in Meta.
Why can't I see leads from last year?
Facebook only hands leads over through its connection for a limited window of around 90 days after someone submits the form. The app shows how much time each lead has left and warns you before one ages out, so you can work it or export it while you still can.
Will this create duplicate contacts in my CRM?
That is the main thing it prevents. Every lead is checked against HubSpot by both email and phone before you can push it, and the card tells you whether that person already exists. Pushing is a deliberate one lead at a time click, never a bulk dump.
Does it work on a free HubSpot account?
Yes. Looking up contacts, creating them and attaching notes are all part of the standard CRM, so this works on free HubSpot accounts as well as paid ones.
Can each rep see only their own leads?
Claiming a lead puts that rep's name on it, and the my leads filter narrows the queue down to what they claimed. Everyone can still see the full queue, so nothing goes missing when someone is out.
What does the Research and prep button actually do?
It starts a background assistant that looks up the company behind the lead's email address, then writes a short qualification brief and a suggested first message back onto the lead card. The same brief gets filed as a note on the HubSpot contact, so the context follows the lead into the CRM.

Related templates

Prospecting desk that builds account lists from the live web

Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.

Hyperbrowser
HubSpot
Google Sheets
App
Plan a field sales day around drive time and neglected accounts

Pick a date, a starting point and a radius, then build a sequenced day of customer visits that lands straight on your calendar.

Geolocation
HubSpot
Google Calendar
App
Find ICP accounts, verify the emails, file them in HubSpot

One screen where reps filter for companies that fit, see who is actually reachable at each account, and save only the addresses that verify.

Hunter
HubSpot
App
Influencer campaign roster board with AI creator briefs

Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.

HypeAuditor
Google Sheets
Notion
App
Morning repricing console for Shopify with margin-safe rules

Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.

Hyperbrowser
Shopify
Google Sheets
App
Pre-flight bounce check before you launch a cold email sequence

See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.

Hunter
Google Sheets
App

Stop exporting lead CSVs out of Meta.

Give your reps one screen that lists every Facebook lead, tracks who is working it, and pushes only the qualified ones into your CRM.