Always-on WhatsApp for recruiting agencies.

Candidates respond to WhatsApp at 90 percent inside a few hours. They respond to email when they get around to it. Mossmoon connects each recruiter’s own WhatsApp number to your ATS, 24/7, with no Meta Business API in the loop. Every inbound message lands in your pipeline the instant it arrives. Every outbound sends from the recruiter’s actual line so the candidate is always talking to the recruiter they know. $15 per recruiter line per month, flat.


01The reality

Recruitment runs on WhatsApp in every market that matters.

LATAM, India, MENA, much of Europe, increasingly the US tech recruiting scene. The screening, the scheduling, the offer negotiation, the start-date coordination. The fastest-moving conversations in any pipeline happen on WhatsApp, on the recruiter’s personal number, off the ATS.

When the conversation lives only on the recruiter’s phone, the team has no visibility. Hand-offs break. Candidates get pinged twice by different recruiters. The ATS doesn’t know when a candidate ghosted because nobody noticed the last WhatsApp message was 12 days ago.

02The Mossmoon fix

Every recruiter’s WhatsApp inside your ATS, 24/7.

Each recruiter scans one QR. An always-on connection joins their WhatsApp account and stays online continuously. Every inbound message fires your webhook with the candidate’s number, the message body, the timestamp, any media. Your ATS attaches the message to the candidate record, your dashboard surfaces the conversation in the team’s pipeline view, your AI agent (if you run one) processes it in real time.

The recruiter’s phone stays the primary device. The candidate still sees the recruiter’s normal WhatsApp identity. Nothing about the candidate-facing experience changes. The agency just gets to see and act on every conversation in real time.


03What it unlocks

Six patterns recruiting agencies ship in the first month.

Pattern 01

Inbound candidate capture

Every new WhatsApp message creates or matches an ATS candidate record. If the recruiter sourced the candidate from LinkedIn, Indeed, or a referral form earlier, the inbound auto-attaches to the existing record. Job-board signals get layered in if the candidate mentioned a specific role.

Pattern 02

AI screener on the recruiter's line

Inbound message past business hours kicks off an AI agent that asks visa status, salary expectations, notice period, current role. Qualifies in or out, books a recruiter screen if in. The candidate sees the recruiter's WhatsApp identity the whole conversation, with faster responses than they'd get from a human recruiter at 11pm.

Pattern 03

Interview scheduling + reminders

ATS books a screen, the workflow sends a confirmation through the recruiter's WhatsApp, then a same-day reminder, then a 'I'm dialing in' message at start time. Candidate replies 'reschedule' in the same thread, inbound webhook routes back into the rebook workflow.

Pattern 04

Status updates during pipeline

After every interview round, an automated WhatsApp message from the recruiter's line: 'Spoke to the team, you're through to round 2. Expecting feedback Thursday.' Candidates feel informed instead of ghosted, and the message rate keeps them engaged through long pipelines.

Pattern 05

Offer negotiation + start-date logistics

The final-mile conversation that often happens off-system. Offer details, counter-offer back-and-forth, start-date confirmation, paperwork reminders all flow into the ATS in real time, attached to the candidate record. Nothing lost when the candidate calls the recruiter on Saturday.

Pattern 06

Reference collection

Pre-fill a reference request, send through the candidate's WhatsApp to their references with a one-click link to the reference form. Higher completion rate than email, fewer cold-call referees ignoring the recruiter's voicemail.


04Stack-agnostic

Plugs into the ATS your team already uses.

Mossmoon is a clean REST API plus signed webhooks. Two endpoints (one inbound webhook configured in our dashboard, one outbound POST when your ATS wants to send) is the entire integration surface. Every modern ATS speaks that, directly or via an n8n / Make / Zapier hop.

Bullhorn

Webhook automations + REST API for record updates

Greenhouse

Custom webhooks + Harvest API

Lever

Webhook subscriptions both directions

JobAdder

Webhook integrations via API

Recruiterflow

Native webhooks + custom HTTP

Loxo

REST API for inbound + outbound

Workable

Webhook automations + API

Crelate

Workflow webhooks + REST API

Manatal

Webhook integrations + API

Custom backend

Plain REST, JSON payloads, your own logic


05What you pay

Per recruiter line, per month. Flat.

$15 per active recruiter line per month. No per-message fees, no per-candidate fees, no per-seat charges for internal users on your dashboard. First recruiter line free for 7 days from when it goes ready. Easy to mark up inside an agency’s per-recruiter tooling cost.

Voice calling on a line is an extra $5/mo, unlimited minutes, no per-minute fees. Common for recruiters who do phone screens over WhatsApp calling (the call and the WhatsApp thread sit on the same number the candidate already knows).

Recruiter line (messaging)
$15/ line / month

Unlimited inbound + outbound on the recruiter’s WhatsApp line. Text, images, video, voice notes, documents (CVs, offer letters). First line free for 7 days.


Recruiter line (with calling)
$20/ line / month

Everything in messaging, plus click-to-call from your dashboard through the recruiter’s WhatsApp. Unlimited minutes for phone screens.


06Common questions

What recruiting agencies ask before signing up.


Yes. Mossmoon is a clean REST API with signed webhooks, which every modern ATS supports. Inbound WhatsApp messages POST to a webhook URL of your choice (your ATS custom-webhook endpoint, an n8n / Make / Zapier hook, a custom backend). Outbound sends through one POST to /api/v1/wa/messages.

For ATSes that don't expose direct webhook automation (some Bullhorn instances, smaller systems), the standard pattern is to route inbound through n8n / Make, transform the payload to your ATS's contact-update or note-create API, and outbound through Mossmoon directly from those same orchestrators. The whole stack is HTTP, which makes it work with anything.


No. Their phone stays exactly as they use it. Mossmoon adds an always-on connection alongside it. They keep using WhatsApp normally on their phone. The difference is every conversation also flows into your ATS in real time, the team can search across recruiter pipelines from the dashboard, and outbound from your scheduler or AI agent goes through the recruiter's actual number.

When a candidate replies, they see the same recruiter, same number, same conversation thread as if the recruiter typed from the phone. There's no 'forwarded to a team' or 'auto-reply' signal in the experience.


The structural rules are the same on every WhatsApp path: cold unsolicited mass messaging will get any account flagged, fast. That's WhatsApp policy, not Mossmoon policy. Mossmoon rate-limits outbound, throttles bursts, and refuses patterns that look like cold blasts. We don't support cold mass outreach because it ends in banned recruiter numbers.

What works: warm outreach to candidates who applied, opted in to your talent network, or were sourced from a platform where they explicitly listed WhatsApp as a contact channel. Replies-to-inbound (any candidate who messaged the recruiter first) are always free territory. For most agencies these two patterns cover 90 percent of the outreach that actually converts anyway.


This is one of the highest-leverage use cases. ATS books a screening or interview, your scheduling workflow sends a WhatsApp confirmation through the recruiter's actual line, then a same-day reminder, then a 'I'm dialing in' message at start time. Candidate replies 'reschedule' in the same thread, inbound webhook routes the message back into your reschedule workflow.

Candidates respond to WhatsApp at near 90 percent within a few hours, versus email which they may not see for days. Reduces interview no-shows by a wide margin in every market where WhatsApp is the dominant channel (LATAM, India, MENA, much of Europe, and increasingly the US/EU for tech roles).


Yes. Inbound WhatsApp messages fire your webhook into an AI orchestrator (n8n, Make, OpenAI Realtime, a custom backend), the agent runs initial qualification (visa status, salary expectations, notice period, current role), and either books a recruiter screen or marks the candidate as not-a-fit. The recruiter steps in only for warm hand-offs.

End-candidate sees the recruiter's WhatsApp number the entire time. No 'AI bot' signal. They get faster responses, better-matched roles, and the recruiter spends time on candidates worth speaking to.


Mossmoon runs on EU infrastructure for the WhatsApp connection layer (EU residency). We don't replicate message bodies outside the EU by default. If you have specific compliance requirements (GDPR data processing agreement, named-region commitments for non-EU markets, audit logs, message retention windows), email [email protected] with the spec.

For recruiters operating in markets with stricter rules (Germany, France, Singapore, Brazil), the personal-API path is generally cleaner than the Business API because the message content sits in the recruiter's own WhatsApp account rather than crossing through a third-party messaging provider's identity.


Each recruiter scans their own QR on a Mossmoon-hosted connect page. Under two minutes per recruiter. Your platform issues a connect_url per recruiter (POST /api/v1/wa/lines with their ATS user ID as the external reference), embeds it in your internal portal, fires it into the recruiter's onboarding flow or Slack DM.

Most agencies onboard a 30-recruiter office in an afternoon. Compare to days-to-weeks per recruiter if you tried the same thing through Meta's WhatsApp Business API verification per number.


Same flow as any other WhatsApp conversation. Once the recruiter has the candidate's number, they can either text first from the recruiter's WhatsApp (which Mossmoon picks up and creates the ATS record from), or you can pre-create the contact in your ATS and trigger an outbound message through Mossmoon from the recruiter's line.

Critical: only text candidates who've consented, explicitly or implicitly through their interaction with you. Cold messaging strangers from a list will get the recruiter's number flagged.


Yes, with the caveat that high-volume staffing (blue collar, hospitality, healthcare staffing) usually has the highest WhatsApp dependency because candidates often don't check email. The flat $15/line model is particularly attractive for staffing firms running large recruiter pools because there's no per-message or per-candidate cost layer.

For perm/contract roles, the always-on nature of the channel matters most for late-stage candidates (offer negotiations, start-date logistics, reference collection). Recruiters report higher response rates on WhatsApp than any other channel for those flows.


$15 per active recruiter line per month, flat. No per-message fees, no per-candidate fees, no per-seat charges for internal users in your dashboard. First recruiter line free for 7 days from when it goes ready. Easy to mark up inside a per-recruiter SaaS or internal-tooling cost.

Voice-enabled lines are $20/line/mo with unlimited minutes (common for recruiters who do phone screens through WhatsApp calling).



Catch every candidate reply, every hour, on every recruiter’s own line. First line free for 7 days.

WhatsApp for recruiting agencies and staffing firms. Always-on, no Business API — Mossmoon