ailiteracynepal 🇳🇵
Text size

Chapter 02 · Section II · 15 min read

Outreach language for cold sourcing

A cold message succeeds for one reason and fails for one reason — the candidate either felt seen in the first sentence, or did not. AI can give you a hundred openers in a minute; only one of them is the right one for the person you are messaging.

The hardest part of recruiting in Nepal is not finding a candidate. The Kathmandu tech scene is small enough that within an hour, with LinkedIn and two professional WhatsApp groups, you can name fifty people who could plausibly do the role. The hard part is getting a reply. A senior engineer at Khalti gets four cold InMails a week; a senior accountant at a Big Four firm in Lazimpat gets two; the strongest BPO team leads in Lalitpur get pinged by every competing call centre in town. Most of those messages get ignored, not because the candidate is rude, but because the messages are interchangeable. AI, used carelessly, makes this worse — it lets a recruiter generate fifty more interchangeable messages in an hour. Used carefully, it does the opposite: it forces you to do the personalisation work the model cannot do, and then it handles the rest.

The first sentence is the entire message

Look at your own inbox. A LinkedIn InMail from a recruiter you do not know — the one that opens “I came across your impressive profile and I think you would be a great fit for an exciting opportunity at a fast-growing company” — you delete without reading the rest. The reason is not the offer. You never got to the offer. The first sentence told you the recruiter sent the same message to two hundred other people and you are a row in a spreadsheet.

The candidate you want to reach is doing the same triage. They read the first sentence. If the first sentence shows the recruiter actually knows who they are — has read their recent post, has seen the talk they gave at a Kathmandu DevOps meetup, has noticed the open-source library they maintain, has read their cooperative-audit article on LinkedIn — they keep reading. If it does not, they delete. Everything else in the message is wasted unless the first sentence earns the read.

This is the work AI cannot do for you. The model does not know that the candidate gave a talk last month. It does not know she just got promoted. It does not know he wrote a thoughtful Facebook post about why he is thinking of leaving the donor sector. You have to find that one piece of evidence — five minutes on the candidate’s LinkedIn, Facebook, GitHub, recent posts, conference talks, papers — and you have to feed it into the prompt.

The pattern looks like this:

Draft a 90-word LinkedIn outreach to a senior backend engineer at a Kathmandu fintech.

What I know about her: she recently published a blog post on migrating a payments service from monolith to event-driven, and mentioned that the on-call burden was the hardest part. She has been at her current company for 3.5 years. Role I am sourcing for: backend engineer at a different Kathmandu payments company, smaller team, similar stack, salary band NPR 1.6–2.2L. Tone: respectful, peer-to-peer, not salesy. Structure: one sentence opener that references her specific blog post and what struck me about it. One paragraph on what the role actually is (team, stack, scope). One closing line with a low-cost ask (a 20-minute call). Do not say “I came across your impressive profile”. Do not say “exciting opportunity”. Do not use the word “passionate”.

The output is a message that reads as if a human wrote it, because a human did the part that mattered — the noticing.

The reusable spine, the variable opener

The trick scales. You are sending fifty messages a week, not five. The model lets you keep most of the message stable — the role description, the salary band, the closing ask — and swap only the first sentence per candidate. The structure of your prompt becomes a template with two slots:

[STABLE BLOCK: role, team, stack, salary band, location, ask] [VARIABLE OPENER: one sentence referencing the specific candidate’s recent work, post, project, or talk]

You spend three minutes per candidate finding the specific thing and one second pasting it in. The model handles the rest. Out of fifty messages, perhaps thirty have a genuinely personalised opener (some candidates have nothing public to reference, and that is fine — those get a more general opener that at least does not lie about being personal). The reply rate roughly triples. The candidates who reply are the ones you actually wanted to reach.

Channel matters more than message

Nepali sourcing does not happen on one channel. The country’s working-age talent is spread across LinkedIn, Facebook, Viber, WhatsApp, professional Slack and Discord groups, university alumni networks, and Telegram channels for specific industries. The same candidate may be unreachable on LinkedIn and replying in seconds on Facebook Messenger. The recruiter who only sources on LinkedIn is sourcing in roughly a third of the country.

LinkedIn is the right channel for mid-to-senior tech, finance, and INGO roles based in Kathmandu Valley. The tone is professional, the message slightly longer (90–120 words), and the convention is to disclose the role you are sourcing for in the first message. LinkedIn InMail reply rates in Nepal are around 15–20% for well-personalised messages; 3–5% for generic ones.

Facebook is the right channel for SME hiring, mid-level operational roles, hospitality, retail, regional roles outside Kathmandu, and a surprising amount of NGO programme work. Facebook Messenger is where the conversation actually happens. The tone is warmer, shorter (50–80 words), and the first message should still disclose the role — but Nepali candidates will often want a quick voice call on Viber or WhatsApp before any formal step. Reply rates are higher than LinkedIn for the segments where Facebook is the dominant channel.

Viber and WhatsApp are the right channel for follow-ups, scheduling, and quick clarifications — never the first cold message. A cold Viber message from an unknown number reads as either a scam or rude. Once the candidate has agreed to talk, however, moving the conversation to Viber or WhatsApp is the default and signals respect for their time.

Professional WhatsApp and Telegram groups — Nepal Tech HR, Women in Tech Nepal, various accountant and CA groups — are channels where you do not source one-to-one but post the role and let candidates self-select. The norms vary by group; observe before you post.

The prompt instruction is straightforward: “Rewrite this message for Facebook Messenger — shorter, warmer, more conversational, no LinkedIn-style formality.” The model handles channel translation cleanly once you tell it which channel you are writing for.

The respect-their-time rule

Every cold outreach asks the candidate for something — their attention, their time, eventually a call. The candidate is doing you a favour by reading the message at all. The discipline is to make the message as cheap to read and as cheap to reply to as possible.

Short body. A 90-word LinkedIn message gets read. A 250-word one gets skimmed and forgotten. Ask the model to compress: “Keep the body under 90 words. Cut anything that is not specific to the role or the candidate.”

One ask, not three. The first message asks for one thing: a 20-minute call, or a yes/no on whether they are open to hearing about a role. Not a CV. Not three references. Not their salary expectations. Senior candidates do not send their CV to a recruiter they have not spoken to.

Yes/no closing. The closing question should be answerable in one tap. “Are you open to a 20-minute call next week?” gets replies. “What do you think about the role? Would you like to know more? When would be a good time?” gets nothing because the candidate has to compose a paragraph to respond. The prompt instruction: “End with a single yes/no question or a binary choice between two times.”

No questions you can answer yourself. Do not ask the candidate what their current salary is in the first message. Do not ask whether they are looking. Do not ask where they live. These are filtering questions; you should already have done the filtering before you reached out.

The honest disclosure habit

The single fastest way to lose a senior candidate is to be cute about why you are messaging. “I would love to connect and learn about your work” — with no mention of a role — reads as either a sales pitch in disguise or a recruiter laying groundwork. Senior candidates have seen this pattern hundreds of times. They reply less to ambiguous outreach than to honest outreach.

If you are sourcing for a specific role, say so in the first sentence after the personalised opener. The candidate would rather know immediately, decide quickly, and either engage or politely decline. The recruiter who hides the ask, hoping to build “rapport” first, just wastes the candidate’s time and ends up with no rapport and no hire.

The prompt instruction is one line: “Disclose in the second sentence that this is about a specific role, and name the type of role and the type of company.” The model is happy to do this; it is the recruiter’s habit, not the model’s, that creates the ambiguity.

What never goes into a public chatbot

The same rule from drafting client emails applies here, with one addition. Do not paste a candidate’s full name, employer, phone number, or any private contact information into a public chatbot when generating outreach. Use a role-and-company description instead — “a senior backend engineer at a Kathmandu fintech who recently posted about event-driven migration” — and write or paste the actual name only when you send the message. The model does not need the identifier to write the opener; you do.

Check your understanding

Quick check

A recruiter generates 50 cold LinkedIn outreach messages with AI, all using the same template and the same opener (I came across your impressive profile and I think you would be a great fit). The reply rate is 2%. The recruiter then spends three minutes per candidate finding one specific thing — a recent post, talk, or project — and rewrites only the first sentence to reference it. What is the most likely effect on reply rate?

What comes next

Personalised outreach works one candidate at a time. To do it at scale you need a candidate pool — a tagged, searchable record of every interesting person you have ever found, organised so you can return to them next quarter when the right role opens. The next section is about using AI for Boolean searches and for systematically building those pools, with the specific Nepali sourcing realities — Kathmandu over-coverage, provincial under-coverage, diaspora and women-only networks — that change which strategies actually work.