Triage Instantly cold email replies into HubSpot and Slack
When a prospect replies to a cold email, sort it by intent, log it to HubSpot, and ping the right rep in Slack so nothing slips.
Build an agent workflow that runs whenever Instantly fires a reply_received webhook for one of my cold email campaigns. The trigger is a webhook receiving the Instantly reply_received payload, which includes reply_text, reply_subject, lead_email, campaign_id, campaign_name, and the Instantly Unibox URL for that thread.
When the agent fires, it should do the following, in order:
1. Read the reply text (and subject if useful) and classify it into exactly one of these intent labels: Interested, Wants More Info, Objection, Out of Office, Wrong Person, or Not Interested. Be conservative: when in doubt between Interested and Wants More Info, pick Wants More Info.
2. Update the lead in Instantly (Update Lead) so the lead's interest_status matches the classification. Mapping: Interested -> 1, Wants More Info -> 1 (keep active with a custom variable noting the sub-intent), Out of Office -> 0, Wrong Person -> -2, Not Interested -> -1, Objection -> -1 unless the reply hints at room to negotiate. Also set a custom variable on the lead called latest_intent with the label and another called latest_reply_snippet with the first 240 characters of the reply.
3. Upsert the contact in HubSpot keyed on lead_email (Batch Upsert Contacts). Set or create properties for instantly_intent, instantly_last_reply, instantly_last_reply_at, and instantly_campaign. If a contact already exists and we have its id, also call Update Contact to refresh the same fields so the CRM always reflects the latest signal.
4. For any positive or follow-up classification (Interested, Wants More Info, or Objection), create a HubSpot Task (Create Task) associated with the contact. Subject: 'Reply from {lead_email}: {intent}'. Body: one line explaining why this needs attention (pulled from the reply), the campaign name, and a clickable link to the Instantly Unibox thread. Due date: today. Priority: HIGH for Interested, MEDIUM for Wants More Info, LOW for Objection. Owner: the campaign owner on the Instantly side, mapped to the HubSpot owner with the same email.
5. Post a Slack message (Send a Message) to a configurable sales channel (default #cold-email-replies). The message should include: the intent label as a header, the lead's email and company (if known), a 1-2 line snippet of the reply, the campaign name, and the Instantly Unibox URL as a link so the rep can jump straight into the thread. Skip the Slack message entirely when the classification is Not Interested or Out of Office, so the channel only surfaces replies a human actually needs to look at.
Other behavior:
- If a step fails, log the error and continue with the remaining steps rather than aborting the run.
- Dedupe on the Instantly reply id so the same webhook firing twice never double-posts to Slack or double-creates a task.
- Do not draft or send an outbound response from this workflow. Reply drafting is handled separately by Instantly's own reply agent; this workflow is purely classification, CRM logging, and human notification.
Additional information
What does this prompt do?
- Reads every new reply on your Instantly campaigns and tags it as Interested, Wants More Info, Objection, Out of Office, Wrong Person, or Not Interested.
- Updates the lead's interest status in Instantly so your campaign dashboard reflects how each conversation is going.
- Logs the intent label and a snippet of the reply on the contact in HubSpot, and creates a follow-up task for the campaign owner whenever it looks like a real opportunity.
- Posts a clean Slack alert with the reply snippet, the prospect's company, and a one-click link back to the Instantly Unibox, skipping out-of-office and clearly negative replies so the channel stays high signal.
What do I need to use this?
- An Instantly account on the Growth plan or higher with at least one campaign that is actively sending.
- A HubSpot account where you can create or update contacts and tasks.
- A Slack workspace and a channel where the sales team should be pinged on hot replies.
How can I customize it?
- Change the intent labels. Add categories like Booked a Meeting or Pricing Question, or split Objection by reason.
- Pick which classifications deserve a Slack ping, a HubSpot task, or both. Many teams only alert on Interested and Wants More Info.
- Route different campaigns to different Slack channels and different task owners, so each rep only sees their own replies.
Frequently asked questions
Does this replace Instantly's built-in AI reply agent?
Does this work with multiple campaigns at once?
What happens with out-of-office auto-replies?
Do I need a paid HubSpot plan?
How fast does the Slack alert arrive after a reply lands?
Stop digging through your Unibox every morning.
Connect Instantly, HubSpot, and Slack once, and let every cold email reply route itself in real time.