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.

Agentic Task
InstantlyHubSpotSlack BotSalesNotifications & AlertsLead EnrichmentFeedback Triage
PromptCreate

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.

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.

FAQs

Does this replace Instantly's built-in AI reply agent?
No. Instantly's reply agent drafts outbound responses. This workflow is the layer underneath it: classifying replies, updating your CRM, and pinging Slack so a human knows when to step in.
Does this work with multiple campaigns at once?
Yes. The webhook fires for every reply across every campaign you've connected, and the workflow tags each reply with the campaign name so you can route different campaigns to different Slack channels or task owners.
What happens with out-of-office auto-replies?
The agent classifies them as Out of Office, updates the lead in Instantly so it pauses the sequence appropriately, and skips the Slack ping. The reply is still logged on the HubSpot contact for context.
Do I need a paid HubSpot plan?
Any HubSpot tier that lets you create contacts and tasks will work, including Starter. You do not need Sales Hub Pro.
How fast does the Slack alert arrive after a reply lands?
Within seconds. The workflow is triggered by Instantly's real-time webhook, not a polling schedule, so the moment Instantly sees the reply, the classification and notifications kick off.

Related templates

A brand asset library your marketing team actually searches

Every logo, photo, video cut and ad export in one searchable grid, with previews, campaign tags and rights expiry dates at a glance.

General Input Storage
General Input Database
JigsawStack
+1
App
Turn Mailjet email clicks into ranked HubSpot follow-ups

Twice a day we spot the people clicking your pricing and demo pages, create a follow-up task for their owner, and post a ranked recap to Slack.

Mailjet
HubSpot
Slack Bot
Agentic Task
Clean out the Looker dashboards and Looks nobody opens

One board showing every dashboard and Look with its folder, owner and favorite count, so you can find dead content and retire it safely.

Looker
Slack Bot
App
LiveKit live operations console for room moderation

Watch every live room on one screen, remove disruptive guests, start recordings and end stuck sessions without anyone opening a terminal.

LiveKit
Slack Bot
General Input Database
App
Wake up dormant Keap leads with a researched reason

Every Monday we find leads who never bought, research a real reason to reach out, and send a short personal email instead of another check in.

Keap
Slack Bot
Agentic Task
iMessage campaign console with pre-flight checks and delivery board

Build every text campaign in one screen: check who is actually reachable, see a realistic send plan, then watch delivery land row by row.

LoopMessage
Google Sheets
HubSpot
App

Stop digging through your Unibox every morning.

Connect Instantly, HubSpot, and Slack once, and let every cold email reply route itself in real time.