Triage LinkedIn and WhatsApp DMs into HubSpot and Slack

By General Input

Every 15 minutes, sort your unread LinkedIn and WhatsApp DMs, log the real ones to HubSpot, and post a Slack briefing with suggested replies.

Integrations

  • Unipile
  • HubSpot
  • Slack Bot

Type

Agentic Task

Categories

  • Sales
  • Personal Productivity

Every 15 minutes during business hours, triage my unread LinkedIn and WhatsApp direct messages, log the ones that matter into HubSpot, and post a single Slack briefing summarizing what happened. This is an agent workflow, not a hard-coded pipeline.

Trigger: cron, every 15 minutes, restricted to weekdays 8am to 6pm in my local timezone. Make the schedule and timezone easy to change.

Step 1. Use Unipile's List Chats operation to fetch unread chats from my connected LinkedIn and WhatsApp accounts in one call. Filter by unread state and by provider set to LinkedIn and WhatsApp, so a single run covers both inboxes.

Step 2. For each unread chat, call Unipile's List Chat Messages to read the recent conversation (last 10 messages is plenty). If the most recent message in the thread was sent by me, treat the thread as already handled and skip it. Do not process it further and do not include it in the briefing.

Step 3. Classify the sender's intent into one of these buckets: real sales prospect, existing customer, recruiter spam, community or social chatter, other. Drop anything classified as recruiter spam, community/social chatter, or clearly unrelated noise. Do NOT log those to HubSpot and do NOT include them in the Slack briefing.

Step 4. For every remaining thread (real prospects and existing customers), call Unipile's Retrieve User Profile on the sender to pull their LinkedIn title, company, and email when available.

Step 5. Upsert those senders into HubSpot using the Batch Upsert Contacts operation. Match by email when Unipile returned one, otherwise fall back to matching by LinkedIn profile URL. Populate first name, last name, job title, and company from the Unipile profile.

Step 6. For each of those threads, use HubSpot's Create Note operation to attach a short excerpt of the latest incoming message to the contact record, so the conversation is traceable on the CRM timeline. Include which inbox it came from (LinkedIn or WhatsApp) and the time it was received.

Step 7. After processing every thread, post exactly one Slack message using the Slack Bot Send a Message operation to a chosen channel (make the channel configurable). Group the digest by intent bucket, with real sales prospects first and existing customers second. For each thread include: sender name and company, the source inbox (LinkedIn or WhatsApp), a one-line summary of what they said, a link to the HubSpot contact, and a drafted suggested reply I can copy and paste back into LinkedIn or WhatsApp. If there are no real threads this cycle, post a short one-line "nothing new" note instead of skipping, so I know the workflow ran.

Rules and constraints:

Post one Slack message per run, not one per thread.

Never send anything from my LinkedIn or WhatsApp accounts. Reply text is drafted for me to review, not sent automatically.

If the same sender shows up on both LinkedIn and WhatsApp in the same run, dedupe them in HubSpot by email or LinkedIn URL, but still show both threads separately in the Slack digest so I see the full context.

Use the Slack Bot integration (bot user) for posting the briefing, since this is an automated channel message and not something I need attributed to my personal Slack user.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery boardLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsA searchable RFP answer library your bid team drafts fromLinkedIn Ads budget pacing dashboard for every client account