← Blog index
2026-09-28·Foreign trade Agents

WhatsApp + Email Trade Follow-Up: Caps, Suppression, and Human Confirm

A WhatsApp + email dual-channel follow-up Agent serves buyers already in the lead store: draft or send on one next-touch clock, read a shared suppression list, and route high-risk sends to human confirm. It is not cold outreach (domain reputation and blast caps: /blog/foreign-trade-outreach-agent-compliance) and not CRM uniqueness itself (/blog/foreign-trade-agent-crm-follow-up). Inquiry stages: /blog/foreign-trade-inquiry-agent-playbook. WeCom/Feishu is identity-bearing domestic IM—do not copy those rules onto WhatsApp (/blog/private-domain-wecom-feishu-agent). GeonAI delivers per-channel guardrails; /agents are capability references only (not a public trial of 363+ presets). Email [email protected].

One-sentence definition

Dual-channel follow-up = one CRM task clock + one cross-channel suppression list + per-channel caps + a human-confirm table. Two independent drips is double-tapping the buyer.

Not outreach, not inquiry, not WeCom

MotionChannelCovered here
Cold email / domain warmupMailbox (ESP)No—see outreach compliance
First inquiry reply, slots, quote handoffEmail / site inboxNo—see inquiry stages
Nudge an existing leadWhatsApp + emailYes: caps, suppression, human confirm
WeCom / Feishu presalesDomestic IMNo—see the WeCom/Feishu post

What actually breaks

  • Turning outreach sequences into WhatsApp templates for scraped numbers
  • Separate WhatsApp and email clocks → two hits the same day
  • Buyer replies STOP on WhatsApp; email drip continues
  • Free-text price, MOQ, or lead time outside a confirmed session
  • Follow-up and outreach Agents sharing a direct-send key

Hard rules (paste into the SOW)

  1. WhatsApp only to numbers in the lead store and allowed for follow-up; scraped numbers are not a cold pool
  2. If your provider uses a buyer-initiated session window, outside it use approved templates—and those templates still obey caps and human confirm
  3. Email follow-up still needs an opt-out path; the follow-up sequence is not the cold outreach pool
  4. Both channels share next_touch_at; a send on one starts cool-down on the other
  5. Suppression is cross-channel: STOP / unsubscribe / complaint / hard bounce / invalid number; default sync, exceptions only in the runbook
  6. Writes default to draft; direct-send allowlist covers approved short nudges only—no prices or lead times

Contract do / do not / human-confirm tables: /blog/custom-agent-scope-boundary-in-contract. Follow-up copy must not invent quote fields: /blog/foreign-trade-quotation-agent-guardrails.

Sample dual-channel cap table

TargetCapNotes
Same WhatsApp number / 7 days≤ 3 proactive nudges (exclude buyer replies)STOP / block → stop that channel
Same mailbox / 14-day follow-up≤ 2 emailsUnsubscribe → stop email; do not auto-switch to WhatsApp
Both channels combined / 7 days≤ 4 proactive touchesClock lives only on the CRM task
Buyer already replied todayPause proactive nudgesAnswer questions; quotes still need human confirm
Invalid number / email hard bounceNever reuse that channelNo “try the other channel” unless the runbook allows and a human confirms

Minimum suppression fields

FieldWhen to setFollow-up Agent must
do_not_whatsappSTOP, block, complaint, invalid numberSend no proactive templates to that number
do_not_emailUnsubscribe, complaint, hard bounceStop follow-up and cold sequences (cold: outreach post)
suppress_all_channelsExplicit “do not contact” or legal orderStop both channels
opt_in_whatsappVerifiable source (number on the inquiry, card, etc.)No flag → first WhatsApp is human-confirm
next_touch_atRecalculate after any send or buyer replyNo sequence that bypasses the task clock

Sends that need human confirm

SceneDefaultHandoff must include
First proactive WhatsApp to that numberHuman confirmOpt-in source, talk-track version, lead ID
Price / MOQ / lead time / sample feeHuman confirmPrice-list doc ID; model must not fill numbers
After STOP, switch to the other channelHuman confirm or forbidSuppression fields, owner note
Bulk WhatsApp templatesOwner confirmList size, remaining cap, sample for review
Approved short nudge (no numeric promises)Direct send after stableStill counts toward the combined cap

Decision rules

  • Email follow-up drafts first: lead is in CRM, not unsubscribed, isolated from the cold pool
  • Customize before WhatsApp Business API: opt-in field, template list, combined clock, human-confirm table
  • Do not open cold WhatsApp: no verifiable number source means it is not follow-up
  • Do not share a direct-send key with the outreach Agent: follow-up may nudge; cold blast must not borrow this channel for volume

Anti-patterns (stop the project)

  • Scraped WhatsApp numbers with “outreach-style” templates
  • Two drips that cannot see each other
  • STOP on one channel only
  • Pasting WeCom talk tracks into WhatsApp
  • Treating 363+ presets as WhatsApp seats

Pilot acceptance

  • Combined cap breaches = 0
  • First WhatsApp with no opt-in flag and no human-confirm log = 0
  • Unconfirmed price or lead time on either channel = 0
  • Proactive send after STOP/unsubscribe (unless a written exception) = 0

Do-no-harm metrics: /blog/custom-agent-30-day-pilot-metrics. Trade Agent overview: /blog/what-is-foreign-trade-ai-agent.

How to brief GeonAI

List where WhatsApp numbers come from, whether a Business API and templates already exist, whether email follow-up is split from cold outreach, who owns suppression fields, and which lines may send directly. Email [email protected], /pricing, or Live chat. First-call pack: /blog/how-to-brief-ai-agent-vendor. We accept on the dual-channel clock—we do not promise unlimited nudges with zero complaints.

Frequently asked questions

Can we cold-WhatsApp the way we cold-email?

Do not treat scraped numbers as a cold pool. This post covers numbers already allowed for follow-up in the lead store. Cold email blasts belong in the outreach compliance post.

If the buyer replies STOP on WhatsApp, do we keep emailing?

Default: set do_not_whatsapp and consider suppress_all_channels. Continuing email needs a written exception and human confirm—not a model “trying the other channel.”

How is this different from the outreach compliance post?

That post covers cold-touch domain reputation, daily send caps, and list hygiene. This one covers WhatsApp + email sharing one clock and one suppression list after an inquiry exists.

How is this different from the CRM follow-up post?

That post covers unique keys, stages, and write ACL. This one covers how the two outbound channels are capped and stopped. Without a CRM clock, dual-channel caps cannot land.

Can WhatsApp follow-up reuse the WeCom talk-track library?

No. WeCom/Feishu carry enterprise identity and group rules. WhatsApp is a number channel; opt-in, templates, and STOP semantics differ.

Do the 363+ presets include WhatsApp caps?

No. Presets do not include your opt-in fields, template allowlist, combined clock, or suppression list.

foreign trade AgentWhatsAppemail follow-upcapssuppressionGeonAI