# Triage Facebook Messenger leads into HubSpot and Slack

> Every 15 minutes, sort new Facebook Page Messenger conversations into leads, support, or chatter, log leads in HubSpot, and ping your team in Slack.

- Workflow type: agent
- Services: Facebook Pages, HubSpot, Slack Bot
- Categories: Sales, Customer Support
- Published: 2026-07-11

## What it does

- Checks your Facebook Page Messenger inbox every 15 minutes and reads every conversation that has new activity.
- Classifies each thread as a sales lead, a support request, or general chatter, and pulls out any name, email, phone, company, or ask the person shared.
- Adds new sales leads to HubSpot as contacts (or updates the existing contact by email) with lifecycle stage set to lead, and attaches a note with the full conversation summary.
- Posts a Slack message for every hot lead or urgent support request with the summary, contact details, and a direct link back to the Messenger thread so a human can jump in.

## What you'll need

- A Facebook Page you manage, connected with permission to read and reply to Messenger conversations.
- A HubSpot account with permission to create contacts and notes.
- A Slack workspace and the channel where your team wants hot leads and urgent tickets to land.

## Prompt

Every 15 minutes, triage my Facebook Page Messenger inbox so real sales leads land in HubSpot and my team hears about hot inquiries in Slack. Trigger: cron every 15 minutes. facebook-pages is not a poll provider, so dedupe against the last-seen conversation updated_time from the previous run.

Step 1: Fetch new activity. Call facebook-pages List Conversations for the connected Page and keep only threads whose updated_time is newer than the last-seen watermark. For each of those threads, call facebook-pages Get Conversation Messages to pull the full message history so the classifier has the whole exchange, not just the latest message.

Step 2: Classify and extract. For each conversation, decide whether it is a sales lead, a support request, or general chatter. Extract any contact details the person shared: name, email, phone, company, and a one-line description of what they are asking about or interested in. Also assign an intent level: hot (asking for pricing, demo, quote, buying signals), warm (curious, evaluating), or low. For support requests, tag urgency as urgent or normal.

Step 3: Sync sales leads to HubSpot. For anything classified as a sales lead, upsert the person as a HubSpot contact. If the person shared an email, use hubspot Batch Upsert Contacts keyed on email so an existing contact gets updated instead of duplicated; if there is no email, fall back to hubspot Create Contact with whatever identifying properties are available. Set lifecycle stage to lead. Then call hubspot Create Note with a short summary of the Messenger exchange (their ask, their situation, and any contact details they shared) and associate the note with the contact you just upserted.

Step 4: Notify Slack for high-signal threads. For every hot lead and every urgent support request, use slackbot Send a Message to post one message to the configured Slack channel. The message should include: the classification and intent, a one-paragraph plain-English summary of the conversation, the extracted contact info (name, email, phone, company, ask), and a direct link back to the Messenger thread on facebook.com so a teammate can open it and reply. Warm leads and normal support requests still get logged to HubSpot but do not need a Slack ping. Skip general chatter entirely, but count it in the run tally.

Step 5: Bookkeeping. At the end of the run, update the last-seen watermark to the newest updated_time seen this run so the next run does not re-process the same threads. Keep a small tally per run of how many conversations were processed, how many were leads, how many were support, and how many were chatter.

Constraints. Do not send any outbound Messenger replies to customers, this is triage only. Match on email when upserting so we do not duplicate HubSpot contacts. If a required scope or credential is missing, fail the run with a clear error instead of silently skipping.

## How to customize

- Change how often it runs. The default is every 15 minutes, but you can go faster during business hours or slower on weekends.
- Pick which Slack channel gets pinged, and set separate channels for sales leads versus urgent support requests.
- Tune what counts as a hot lead. Keywords like pricing, demo, or budget can auto-escalate, while common support asks can route to a different owner.

## FAQ

### Will this reply to customers on Messenger for me?

No. The workflow only reads conversations and routes them internally. A human on your team still writes the actual reply on Messenger, using the direct link the workflow drops into Slack.

### What happens if the person is already a contact in HubSpot?

The workflow matches on email. If a contact with that email already exists, it updates the existing record instead of creating a duplicate, and attaches the new conversation as a note on their timeline.

### Does it re-process the same conversation on every run?

No. It only picks up threads with new activity since the last run, so a lead that already made it into HubSpot will not be logged again unless the customer sends another message.

### What if the person did not share their email or phone?

The workflow still classifies the conversation and pings Slack if it looks like a lead. It creates a HubSpot contact with whatever identifying details are available and flags in Slack that contact info is missing.

### Can I use this with a personal Facebook profile?

No. Facebook only exposes Messenger conversations for Pages you manage, not personal profiles. You will need a Facebook Page with Messenger enabled.

Use this prompt in General Input: https://www.generalinput.com/prompts/triage-facebook-messenger-leads-into-hubspot-and-slack