← Back to Blog
Zapier · Close.io · OpenAI

Zapier Outreach with Close.io + OpenAI: Auto-Reply Based on Message Tone

✍️ Hamza Bilal 📅 December 2024 ⏱ 7 min read
ZapierClose.ioOpenAIOutreach

This is one of the most complex Zapier workflows I've built — 84 steps, fully automated outreach that reads every inbound reply, classifies the tone using OpenAI, and sends the right personalised follow-up without any human involvement.

The client was running cold outreach at scale in Close.io CRM. Their sales reps were spending 3 hours a day manually reading replies and crafting responses. This workflow eliminated all of that manual work.

The Problem

When you run outreach at scale, replies fall into a few buckets:

Each category needs a completely different response. A generic reply to an objection kills the deal. A delayed response to "Can we book a call?" loses it.

The Workflow Architecture

The Zap triggers on New Activity in Close.io (specifically: email received on an existing lead). The flow:

  1. Trigger: New inbound email activity in Close.io
  2. Filter: Skip if it's an outbound email (direction = "outbound")
  3. Filter: Skip if subject contains "Out of Office" or "Auto-Reply"
  4. OpenAI: Classify reply tone → returns category + confidence + summary
  5. Filter: Skip if unsubscribe → run unsubscribe handler instead
  6. Paths: Branch on the classification result
  7. Per branch: OpenAI drafts personalised reply → update Close.io lead status → send email via Close.io

The OpenAI Tone Classification Prompt

Classify this sales email reply. Return ONLY valid JSON.

{
  "category": "interested" | "objection" | "not_now" | "unsubscribe" | "out_of_office" | "other",
  "objection_type": "price" | "competitor" | "timing" | "authority" | null,
  "confidence": 0.0-1.0,
  "urgency": "high" | "medium" | "low",
  "one_line_summary": "string"
}

Email reply:
{{email_body}}

The Reply Templates (OpenAI Drafted)

Interested branch

The prospect just replied to your outreach and said:
"{{email_body}}"

They work at {{company_name}} as {{prospect_title}}.
Our product is an AI automation platform.

Write a reply (max 3 sentences) that:
1. Confirms you saw their interest
2. Proposes a specific 20-minute call time (use "Tuesday or Wednesday this week")
3. Includes a Calendly link placeholder: [CALENDAR_LINK]

No fluff. Sound like a real person, not a template.

Objection branch — price

The prospect objected to price: "{{email_body}}"

Write a 2-sentence reply that:
1. Acknowledges the concern without being defensive
2. Reframes the ROI (automation saves X hours/week)

Don't discount. Don't apologize. Keep it confident.

Why 84 steps? Each of the 5 reply categories has its own sub-flow: OpenAI draft → format message → update lead status in Close → update lead custom fields → send email → create follow-up task → log activity. That's ~15 steps per branch × 5 branches + the shared upstream logic = 84 total.

The Results

After 60 days running this workflow for the client:

Key Lessons from Building This

This kind of workflow is what I build for outreach-heavy sales teams. If you're running outreach at scale and drowning in manual reply handling, let's talk.

Hire Me For This

I build Zapier outreach workflows with Close.io and OpenAI auto-reply — multi-branch, personalized, and fully automated.