Route hot Smartlead replies to HubSpot and Slack
The moment a prospect replies to a Smartlead campaign, classify the reply, log a HubSpot deal, and ping your rep in Slack so nothing hot goes cold.
Build me an agent workflow that routes Smartlead campaign replies to HubSpot and Slack based on how the prospect responded. The goal is: the sales team only sees the hot ones, and every reply still leaves a clean trail in HubSpot.
Trigger: a Smartlead outbound webhook on the reply received event. When the workflow is first set up, register the webhook on the target campaign using Smartlead's Create or Update Webhook operation, subscribed to the reply received event. Let me pick which campaign (or all campaigns) at setup time.
When the webhook fires, use Smartlead's Get Lead Message History operation to pull the full email thread for that lead in that campaign. That gives us the sequence context plus the actual reply text.
Then classify the latest reply into one of four buckets using an AI step: interested (positive), not interested (negative), out of office, or unsubscribe. Also produce a two sentence summary of what the prospect actually said in plain English.
If the reply is interested: upsert the prospect into HubSpot using Batch Upsert Contacts matched by email (name, company, job title if we have them, plus a lifecycle stage of salesqualifiedlead). Then create a new HubSpot deal using Create Deal with a name like "[Campaign name] — [Prospect name]", associate it to the contact, and if we have a company set the company association too. Then post a Slack message using Slack Bot's Send a Message to the sales channel. The message should include the prospect's name and company, the two sentence summary, the campaign name, and a link back to the Smartlead thread. Format it nicely with Slack mrkdwn (bold prospect name, a short blockquote for the summary).
If the reply is not interested: upsert the contact in HubSpot and set the lifecycle stage to something appropriate (e.g. "other" or leave the stage but stamp a custom property). Do post a Slack alert but keep it low key, no @channel, no urgent styling, so the rep can still learn from the loss.
If the reply is out of office: upsert the contact in HubSpot so we keep the record fresh, do not create a deal, and do not post to Slack. The workflow should just log that it saw an OOO.
If the reply is unsubscribe: update the HubSpot contact to mark them as unsubscribed / do not contact (use the appropriate HubSpot lifecycle or opt out property), skip the deal, and skip the Slack alert.
Make the Slack channel, the deal pipeline/stage for new deals, and the campaign filter (all campaigns vs a specific one) configurable at setup. Default the Slack channel to #sales-replies if I do not specify.
Use Slack Bot (not the user OAuth Slack integration) so the message is authored by the bot. Match HubSpot contacts by email to avoid duplicates.
What does this prompt do?
- Listens for replies on your Smartlead campaigns and pulls the full email thread for context.
- Reads the reply and tags it as interested, not interested, out of office, or unsubscribe.
- For interested replies, creates a new HubSpot deal named after the campaign and syncs the contact.
- Posts a formatted Slack alert with the prospect's name, a two sentence summary of what they said, and a link back to the thread.
What do I need to use this?
- A Smartlead account with at least one active campaign you want to monitor.
- A HubSpot login with permission to create contacts and deals.
- A Slack workspace where the bot can be added to your sales channel.
How can I customize it?
- Pick which Slack channel gets the alerts, or split routing by campaign or rep.
- Adjust the reply categories, or add your own like pricing question, referral, or wrong contact.
- Change how the Slack alert is formatted, add a suggested next step, or include the deal owner.
FAQs
Will this alert my team on every single reply?
What happens when someone unsubscribes?
Do I need a specific Smartlead plan for this?
Will it create a duplicate contact if the prospect is already in HubSpot?
Can I use a different classification, like splitting interested into hot and lukewarm?
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.
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 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.
Never let a hot Smartlead reply go cold.
Connect Smartlead, HubSpot, and Slack once, and Geni triages every reply for you the moment it lands.