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.
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
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?
What stops the same conversation being logged twice?
Does this work on HubSpot Free?
What counts as a conversation worth logging?
Which social networks does this cover?
Related templates
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
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.
Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.
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.
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.
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.