Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agentic Task
AgorapulseHubSpotSlack BotSalesMarketingLead EnrichmentData SyncDaily Digests
PromptCreate

Every weekday at 8am and 4pm, sweep my Agorapulse social inbox and turn the conversations worth remembering into real CRM history in HubSpot, then post a recap to my sales team in Slack. Use a cron trigger rather than a webhook: this is deliberately a batched enrichment sweep, not a realtime triage bot.

Start each run by resolving my Agorapulse account. Call Get Manager Organizations to find the organization, then Get Organization Workspaces for that organization, then Get Workspace Profiles to see which social profiles are connected. Those ids are needed before any inbox call will work.

Then use Find Inbox Items to pull every comment, direct message, mention and review received since the previous run. The 8am run covers everything since the 4pm run the day before, and the 4pm run covers everything since 8am the same morning. The Monday 8am run has to reach back to the Friday 4pm run so weekend activity is not lost. Only ever process items that fall inside the current run window, so the same conversation is never written into HubSpot twice.

Filter out the noise before doing any further work. Skip spam and promotional junk, emoji only reactions, and one word praise such as "nice" or "love this". The whole point is that the CRM does not fill up with clutter, so when you are unsure whether something is substantive, leave it out. For every item that survives the filter, call Get Conversation Messages to read the full thread instead of judging from the single inbox item.

For each substantive thread, try to match the author to an existing HubSpot record using Search Contacts. Search on what the thread actually gives you: the author's display name, their social handle, and any email address or company name mentioned in the message. Treat this as a confidence judgement rather than a string match. A full name together with a matching company, or an email address that resolves directly to a contact, is a confident match. A common first name on its own is not.

On a confident match, use Create Note associated with that contact so the person's timeline shows what they said on social. Use the same note format every time: the network it came from, the date, the author handle, what they actually asked or said, a one line summary of what they want next, and a link back to the Agorapulse conversation. The body of the note matters far more than the volume of notes, because sales and customer success normally never see social touchpoints at all. Do not try to route notes by record owner. Associate the note with the contact and let that association carry ownership.

Threads that clearly show buying intent but match no existing contact must never be auto created as contacts. Collect them instead, and use Send a Message on the Slack Bot integration to post them to my sales channel, one message per lead, each with the thread summary and a suggested next step.

Finish every run with a single closing digest message to the same Slack channel, covering how many social touches were logged, which contacts they landed on, and which unmatched leads need a human. If a run turns up nothing substantive, post a short message saying so rather than staying silent, so I know the sweep actually ran.

Example output

HubSpot note on Priya Raman's timeline Social touchpoint via Instagram, 14 March From @priya.builds Asked whether the Pro plan covers multiple brand workspaces, and mentioned her team is comparing us against two other tools this month. Next step: send the workspace comparison and confirm Pro pricing for a 6 seat team. View the conversation in Agorapulse --- Slack, #social-leads Unmatched lead: @marcusdtl on LinkedIn Asked for a demo and said their agency manages 40 client accounts. No matching HubSpot contact found. Suggested next step: reply on LinkedIn and offer an agency walkthrough this week. --- Slack recap, 4:00pm Social sweep complete. 7 substantive threads found since 8:00am. 5 notes logged to: Priya Raman, Tom Beckett, Elena Fischer, Dan Whitlock, Aisha Noor. 2 unmatched leads need a human: @marcusdtl, @thehungrycollective. 11 items skipped as noise.

What does this prompt do?

  • Checks your social inbox at 8am and 4pm every weekday and picks up every comment, direct message, mention and review that arrived since the last check.
  • Reads the full thread on anything with real substance, finds the matching person in your CRM, and writes what they said onto that contact's timeline: which network it came from, when, and what they want next.
  • Never auto creates contacts. Buying signals from people who are not in your CRM yet get posted to a sales channel with a suggested next step, so a human decides what happens.
  • Closes every run with a short recap of how many social touches were logged, whose records they landed on, and which leads still need someone to pick them up.

What do I need to use this?

  • An Agorapulse account on a plan that includes API access, with your social profiles connected to the inbox
  • A HubSpot account where you can look up contacts and add notes to them
  • A Slack workspace, plus the channel where your sales team wants the leads and the recap

How can I customize it?

  • Match confidence: how certain the workflow has to be before it writes to someone's record. Tighten it to keep the CRM spotless, loosen it to catch more of the near misses.
  • The schedule and the window. Two runs a weekday is the default, but you can drop to one, add weekend sweeps, or shift the times to match when your team starts and finishes.
  • The Slack channel that receives unmatched leads and the closing recap, and what the workflow treats as noise worth skipping.

FAQs

Will this create new contacts in my CRM?
No. That is deliberate. Only people who already exist in HubSpot get a note added to their timeline. When someone shows clear buying intent but has no record yet, the workflow posts them to your sales channel with a summary and a suggested next step, and a person decides whether they belong in the CRM. That keeps social noise out of your contact database.
What stops the same conversation being logged twice?
Each run only looks at conversations from its own window, meaning everything that arrived since the previous run finished. The morning run picks up from the previous afternoon and the Monday morning run reaches back across the weekend, so nothing is missed and nothing is written to a contact record twice.
Does this work on HubSpot Free?
Yes. Looking up contacts and adding notes to their timeline are part of the free HubSpot CRM, so you do not need a paid Sales Hub seat for this to be useful.
What counts as a conversation worth logging?
Anything where someone actually says something: a question, a complaint, a pricing enquiry, a detailed review. Spam, emoji only reactions and one word praise like "nice" are skipped on purpose, because the value here is a timeline your sales team will read rather than a complete archive of every social interaction.
Which social networks does this cover?
Whichever profiles you have connected in Agorapulse. The social inbox pulls comments, direct messages, mentions and reviews across all of them, and each note records which network the conversation came from.

Related templates

Build a credential rotation checklist when someone leaves

When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.

1Password
Rippling
Slack Bot
+1
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Replay failed SQS messages when a bug fix is merged

When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.

Amazon SQS
GitHub
Slack Bot
Agentic Task

Your sales team has never seen your social inbox.

Turn the conversations already happening on social into CRM history the rest of the company can actually act on.