Cold Outreach Playbook & Automation Copy Framework
Kyntlo A06 · Growth Operations Cold outreach playbook & the automation copy framework Written once, used hundreds of times. Ahmed sends it by hand now, and the outbound agent sends it later. The copy is built from small blocks, so every message fits what the agent can safely send from day one. Owner Ahmed Review Mahmoud · pending Market UAE · Niche 1 live Version 1.1 · 28 Sep 2026 Start here How to use this page The strategy lives in the Acquisition Engine, and the per-firm messages for niche 1 live in the Outreach Run Sheet. This page sits between them. It is the reusable version: the blocks every message is made of, the rules that assemble them, and the limits the agent has to work within. Ahmed, sending by hand (now) Pick the signer in the bar above. It fills every message on the page. Pink tokens are CRM field names. Replace each one with the real value from the contact record. If a value is missing, leave the message unsent. Copy copies the message with its tokens still in it, on purpose. A message that still has a pink token in it is not ready to send. Run every message through the pre-send check until the rules are second nature. What's already set up in the account, and what's still open: follow-up status page . The outbound agent, sending automatically (later) The tokens are the agent's merge fields, spelled the way the CRM spells them. Paste the text into the workflow as it is. The gates in Agent constraints are part of the copy, not extras. A message sent without its gate breaks the playbook. Everything marked human only stays with a person, even once the agent is live. Non-negotiable The eight rules every block obeys These come straight from the Acquisition Engine and Playbook 02 §9–11. If a block breaks one of them, the block is wrong, not the rule. # Rule What it means in the copy 1 Only someone who looked The first line holds a fact about them that we measured: a timestamp, their own promise, their own tool. Never "I came across your website". 2 The leak, not the product Kyntlo is not described in the first message. It first appears in email 3, in a single sentence. 3 Blank beats guessed If a token has no verified value, the message is not sent. We never guess a timestamp, and we never make up a client or a number. 4 One idea, one question Each message asks one question and then stops. Email 1 is under 60 words and every other email under 80. The first WhatsApp message is under 60 words. 5 Their words, not ours Say "how fast someone gets an answer", not "speed-to-lead". We don't say CRM, pipeline, workflow, platform or automation to a prospect. 6 Kyntlo is Kyntlo We never name the engine underneath, anywhere, to anyone. "We built it" is fine. 7 One stop stops everything A "stop", "no" or reply 3 ends every channel at once and for good, and no later campaign picks them up again. 8 Honest about the method If someone at the firm replies to our timing enquiry, we tell them straight away that it was a test. Nobody should prepare a quote for a project that doesn't exist. Step 1 · the modular templates Four modules, assembled per message Each message in the sequence is built from these blocks: a pain hook , a case metric , a soft audit invite and a respectful breakup . The agent picks the variant using fields already on the contact record ( contact.ae_opener_type , contact.ae_day_0_reply_hours ), so the right version goes out without anyone choosing. M1 · Pain hook Each hook ends in an outcome line , O1 to O4, chosen from the Day 0 result. O4 means we don't send . If they answered quickly there is no leak to name, and the hook would be false. Outcome Day 0 result Line inserted as {{outcome}} O1 · slow A person replied after 2 hours or more "A person replied {{contact.ae_day_0_reply_hours}} hours later." O2 · auto only An automatic acknowledgement came, but no person after 72 hours "An automatic acknowledgement came straight back. A person hasn't replied yet." O3 · silent Nothing after 72 hours "Nobody has replied yet." O4 · fast A person replied within 2 hours do not send Move to Nurture and re-score. This wedge doesn't fit them. H1 · Timing Copy Subject: enquiry form {{contact.first_name}} — I used the enquiry form on your website on {{contact.ae_day_0_display}} to ask about {{contact.ae_day_0_enquiry}}. {{outcome}} I'm not selling anything in this email. Is that the normal turnaround, or did I catch a bad week? {{custom_values.sender_name}}, Kyntlo When: ae_opener_type = timing . They run ads and make no response promise anywhere. H2 · Broken promise Copy Subject: your reply window {{contact.first_name}} — your website says you reply within {{contact.ae_promise_text}}. I sent an enquiry through the form on {{contact.ae_day_0_display}}. {{outcome}} Not a complaint, and I'm not selling anything here. Was that an unusual week? {{custom_values.sender_name}}, Kyntlo When: ae_opener_type = broken promise . Quote their promise word for word. H3 · Incumbent tool Copy Subject: your {{contact.ae_incumbent_tool}} {{contact.first_name}} — I used the {{contact.ae_incumbent_tool}} on your website on {{contact.ae_day_0_display}} to ask about {{contact.ae_day_0_enquiry}}. {{outcome}} Genuine question, no pitch: who picks those up after hours and on Fridays? {{custom_values.sender_name}}, Kyntlo When: ae_opener_type = incumbent tool . They already have a chat box, scheduler or CRM. We are not replacing it. H4 · Split enquiry Copy Subject: which office {{contact.first_name}} — you have {{contact.ae_locations}} offices and one enquiry form. I used it on {{contact.ae_day_0_display}}. {{outcome}} Out of curiosity, no pitch: which office does a form enquiry land in? {{custom_values.sender_name}}, Kyntlo When: ae_opener_type = split enquiry . Several offices, one form. Hooks for niches 2–4 · drafts, not live until that niche opens The strategy runs one niche at a time. These are here so the agent's variant switch is designed once. They use different Day 0 tests, which need fields that don't exist yet (listed under agent constraints ). Test them with a phase-zero run of 15 before any volume. H5 · Missed call · contractors, salons Copy Subject: your phone on {{contact.ae_call_test_day}} {{contact.first_name}} — I rang {{contact.company_name}} on {{contact.ae_call_test_display}}. It rang out, and no message came back afterwards. Not a complaint, and not a pitch. Is that the busy stretch for you, or did I pick a bad moment? {{custom_values.sender_name}}, Kyntlo H6 · Review gap · clinics, med spas Copy Subject: your Google reviews {{contact.first_name}} — {{contact.company_name}} has {{contact.ae_review_count}} Google reviews, and the most recent is {{contact.ae_last_review_age}} old. Patients comparing clinics nearby read that before they book. No pitch in this one. Do you ask patients for a review after a visit, or does it happen on its own? {{custom_values.sender_name}}, Kyntlo M2 · Case metric: the proof ladder Always use the highest rung that is true . Kyntlo has no published case study yet (Playbook 01 calls proof "the binding constraint"), so P3 is locked . Until it unlocks, the agent uses P2, and P2 only once Day 0 has produced real cohort numbers. Retired line: the Playbook 02 cold email includes "one of our home services clients went from 34 missed calls a month to zero". Don't send it, or anything like it, until that client exists in the case library with written consent. Dubai is small enough that people check. P1 · Their own number always available Copy The delay matters less than when it happens. Enquiries that arrive in the evening or on a Friday wait until someone is back at a desk. By then, most people have asked somebody else as well. Used in: email 2 and WhatsApp voice note VN-1. "The delay" works whether they replied slowly or not at all. P2 · The cohort after Day 0 Copy This month I timed the forms of {{custom_values.cohort_forms_submitted}} {{custom_values.cohort_niche_label}} advertising in Dubai. {{custom_values.cohort_never_replied}} never replied. The rest took a median of {{custom_values.cohort_median_hours}} hours. Used in: email 3 and battle card WA-10. The numbers belong to Kyntlo alone and are true as soon as Day 0 is logged. P3 · A named client locked Copy {{case.client_descriptor}} in {{case.area}} had the same gap. We put an instant first reply in front of their form, and in {{case.days}} days their first-response time went from {{case.before}} to {{case.after}}. Unlocks when: a real client, real before and after numbers from their own data, their written consent to be described, and the same niche as the prospect. M3 · Soft audit invite The ask grows one step at a time. First we ask permission, then for a number, then we make the offer, then we ask for the meeting. Each ask is only as big as the trust built so far. The offer is always the 14-Day Leak Test : one leak, free, on their own channels, with one number agreed before we start. A1 · Permission WhatsApp 1 Copy Can I send you the timestamps and a 60-second recording of what I found? If it's not useful, tell me and I'll drop it. A2 · A number Email 2 Copy Roughly how many enquiries come through the site in a month? A3 · The offer Email 3 Copy Happy to put an instant first reply on your own form for 14 days, free. We agree one number first. If it doesn't move, I'll tell you. Worth a look? A4 · The meeting After a warm reply Copy Easiest is 15 minutes: I show you the timestamps and we agree the one number. {{slot_1}} or {{slot_2}}? M4 · Respectful breakup Two steps. The reframe gives "not now" a way to say so without it meaning no. The permission close makes every answer easy to give. Numbered replies are also something the agent can read without guessing. B1 · The timing reframe Email 4 · day 15 Copy Possible I've got the timing wrong. If you're mid-season and the last thing you need is another system, that's fair. Most firms I speak to say the same in {{custom_values.reframe_month}}. The reason I keep coming back to it: the enquiries slipping now are the ones that would have closed next quarter, and the gap stays invisible until someone looks at the timestamps. Worth a conversation in {{custom_values.reframe_month}} instead? {{custom_values.sender_name}} B2 · The permission close Email 5 · day 21 Copy I'll stop here. This is the last one from me. Reply with a number if it's easier: 1 — send me the timestamps, I want to see them 2 — not now, try me in 90 days 3 — not interested, close the file Any of the three is a fine answer. {{custom_values.sender_name}} 1 → hand to Ahmed within 15 minutes. 2 → Nurture, with a reminder task 90 days out. 3 → stop every channel and suppress permanently. B3 · WhatsApp close After WA-2 · no reply Copy Last one from me on here, {{contact.first_name}}. If the timing's wrong, reply "later" and I'll check back in {{custom_values.reframe_month}}. If it's a no, reply "stop" and you won't hear from us again. Either is fine. Human only while there's no Business API number. Once there is one, this has to be an approved template (see below). The recipes How the modules assemble into the 21-day sequence Same days, channels and order as the Acquisition Engine. Days 6, 10 and 18 are cut for now, as in the Run Sheet: there is no A tier yet, no registered commercial line, and no personal profiles collected. Any reply stops the automated sequence. From that point a person runs the conversation. Day Touch Recipe Agent may send? 0 Day 0 research Submit their form, log the submit time and the first human reply human only 1 Email 1 M1 hook (by opener type) + outcome O1–O3. No link. yes, gated 3 WhatsApp 1 Reference line + A1 permission. Template kyn_wa1_permission . yes, template only 4 Email 2 · in thread "Following up on the form timing below." + P1 + "That's not a service problem. It's conversations that never started." + A2 yes, gated 6 Instagram DM One line about a recent post. No ask. cut human only 8 Email 3 · in thread "One more and then I'll stop guessing at your numbers." + P2 (P3 once unlocked) + A3 yes, only if cohort values are set 10 Voice AI call Engine opener, company named within 15 seconds cut until A tier + registered line 12 WhatsApp 2 · the asset Their own 60-second screen recording. Template kyn_wa2_asset , video header. sends it a person records it 15 Email 4 · in thread B1 reframe yes 18 LinkedIn / IG A different angle, no mention of the emails cut 21 Email 5 · in thread B2 permission close yes Step 2 · WhatsApp & voice notes Battle cards WhatsApp is where a Gulf owner actually answers, and a voice note is the one thing that clearly can't be mass-produced (Playbook 02 §10). That is why voice notes are always recorded by a person, never by the agent . A synthetic voice note sent as though a person recorded it is exactly the kind of fake these rules exist to stop. Tone of voice: explicit direction Who you sound like A local operator who did his homework, talking to another business owner. A peer with a finding, not a vendor with a product. Energy Calm, about 6 out of 10. Warm, never excited. Slightly slower than your normal speaking pace. No exclamation marks, in text or in your voice. Words Plain English with contractions. Spoken sentences under 15 words. Concrete before abstract: "8:40 on Tuesday evening" comes before "after hours". Address First name if they published it, otherwise the company name. Never "Dear Sir", never "bro" or "habibi". If they open with salam, reply "Wa alaikum assalam" and carry on in their language. Language Reply in the language they write in. Arabic replies are handled by a person until the Arabic set has been written and approved. Rhythm One idea per message and one question, then stop. Don't send two messages in a row. Wait for their reply. Never Emojis in the first two messages. "Just checking in", "hope you're well", or forwarding the email. Links or images in the first message. A voice note before they've replied. Voice notes 25 to 35 seconds. Quiet room, no music. Say their company name within 5 seconds and end on a question. Talk from three bullet points, don't read a script. Keep a small stumble. Re-record anything over 40 seconds. WA-01 · DAY 3 First WhatsApp, after email 1 Text · only to numbers the business publishes Copy Hi {{contact.first_name}}, it's {{custom_values.sender_name}} from Kyntlo. I emailed you on {{email1_weekday}} about the enquiry form on your website and how long the reply took. Can I send you the timestamps and a 60-second recording of what I found? If it's not useful, just say so and I'll drop it. Mentioning the email turns a cold interruption into a follow-up. Asking permission before sending the asset means fewer blocks. WA-02 · WHATSAPP-FIRST No published email, WhatsApp only Text · 5 a day at most Copy Hi {{contact.first_name}}, {{custom_values.sender_name}} from Kyntlo here. I sent an enquiry through your website on {{contact.ae_day_0_display}}. {{outcome}} Not a complaint, and not a pitch. Can I send you what I found? It's 60 seconds. This is the coldest touch in the playbook, so it's the most important one to get right. Only send it if Day 0 found a real leak (O1–O3). WA-03 · THEY SAID YES "Sure, send it" → voice note VN-1 Voice note · about 30 seconds, then send the screenshot Copy Hi {{contact.first_name}}, it's {{custom_values.sender_name}} from Kyntlo, thanks for coming back to me. So, quickly. I sent the form on your site on {{contact.ae_day_0_display}}, about {{contact.ae_day_0_enquiry}}. {{outcome_spoken}}. And honestly, that's normal. Nobody's watching the inbox at eight in the evening, or during a viewing. But that's exactly when people are browsing. I'll send you the screenshot now. Can I ask, roughly how many enquiries come through the site in a month? Tone: relaxed, as if telling a colleague what you noticed. Slow down on the timestamp, because that's the part they need to hear. Say "that's normal" and mean it: it tells them it's not their fault, which is what stops them getting defensive. WA-04 · "WHO IS THIS?" Suspicious or confused reply Text, then VN-1 Copy Fair question. I'm {{custom_values.sender_name}}, from Kyntlo in Dubai. I tested how fast your website form gets a reply. Sending you what I found now, it's short. WA-05 · THEY GAVE A NUMBER "About 40 a month" → voice note VN-2 Voice note · about 25 seconds Copy Thanks {{contact.first_name}}, that's really useful. So here's what I'd want to know if I were you. Of those {{their_number}}, how many come in after six, or on a Friday? Because those are the ones sitting till Sunday. And roughly what's one closed deal worth to you? Ballpark is fine. Tone: curious, not clever. Then say nothing. They do the multiplication. A number they work out themselves is one they believe. Never send the finished sum yourself. WA-06 · "HOW MUCH?" Price question · alert Ahmed Text · never a voice note Copy The 14-day test is free: no contract, no card. If it moves the number we agree, then we talk monthly, and every price is published at kyntlo.ai/pricing so you don't have to take my word for it. Before any of that, how many enquiries do you get in a month? No custom quote in chat, ever. A price question counts as buying intent, so it goes to Ahmed within 15 minutes. WA-07 · "WE ALREADY HAVE A SYSTEM" They have software they don't fully use Text Copy Good, then this is quicker. I'm not trying to replace it. The form I sent still took {{contact.ae_day_0_reply_hours}} hours, so something between it and a person isn't firing after hours. Want me to show you where? WA-08 · "SEND ME AN EMAIL" Polite brush-off Text Copy Will do. What should I put in it so it's worth your time: the timestamps, or what the fix looks like? Then reply in the existing email thread, not a new one. WA-09 · "TOO BUSY" True, and also a signal Text Copy Completely fair. The test takes about an hour of your time in total. Shall I come back in {{custom_values.reframe_month}}, or is there a week in the next six that's least bad? WA-10 · "WHO ELSE HAVE YOU DONE THIS FOR?" They want proof · honest version Voice note or text · until P3 unlocks Copy Honest answer: you'd be one of the first in Dubai real estate. That's exactly why the test is free, and why we agree the number before we start. What I can show you today is the data. I timed {{custom_values.cohort_forms_submitted}} firms this month, and {{custom_values.cohort_never_replied}} never replied at all. Tone: say it plainly, with no apology in your voice. Saying it straight builds more trust than a logo wall would. Once P3 unlocks, switch to one named client in their niche, with the number. WA-11 · "IS THIS A BOT?" Always tell the truth If a person is replying Copy No, it's me, {{custom_values.sender_name}}. Happy to jump on a quick call if that's easier. If the agent is replying: required disclosure, then hand off Copy I'm Kyntlo's assistant, which is an AI. {{custom_values.sender_name}} is the person behind this, and I can have them message you directly. Would you like that? WA-12 · "ARE YOU AN AGENCY?" Agency fatigue Text or voice Copy No. Agencies bring you more leads. I'm here about the ones you already have. WA-13 · STOP / ANGRY / "HOW DID YOU GET MY NUMBER" Leave well Text · the last message they ever get from us Copy Sorry for the interruption. The number is the one listed on your website. I've removed you, and you won't hear from us again on any channel. Then turn on Do Not Disturb for every channel. Send this only after the removal has actually been done. WA-14 · DAY 12 · THE ASSET No reply to WA-01 → send the recording Text with a video · the recording is theirs, made by a person Copy {{contact.first_name}}, in case it's useful, here's the 60-second recording I mentioned: your form, {{contact.ae_day_0_display}}, and what happened next. No reply needed. How to make it: a screen recording of the form submission, the inbox, and the clock. Say their company name out loud in it. Keep it under 60 seconds. Step 3 · technical constraints What the outbound agent can and can't send This is the spec behind the copy, and it feeds OS task A27 (Ahmed writes the agent's business logic). Boush builds the agent and Keroles configures the sequences. The field names are the real ones already in the Kyntlo account. Fields marked created were added on 28 Sep. Token map Token in the copy Source Status Notes contact.first_name Standard field exists Only a name the business itself published. Otherwise the agent uses the H-variant without a name. contact.company_name Standard field exists contact.ae_day_0_enquiry AE Day 0 Enquiry exists Short phrase, e.g. "a 2-bed fit-out in Marina" contact.ae_day_0_reply_hours AE Day 0 Reply Hours exists Blank means never replied. Drives O1–O4. contact.ae_opener_type AE Opener Type exists Chooses H1–H4 contact.ae_incumbent_tool · ae_locations AE fields exists H3 and H4 contact.ae_track · ae_tier · ae_wave · ae_niche AE fields exists Gates. Only Engine + Niche 1 + wave released. contact.ae_day_0_display New text field created "Tuesday at 2:10pm", written by hand at Day 0. The existing ae_day_0_submitted stores a raw timestamp that reads badly in a sentence. contact.ae_day_0_auto_ack New yes/no created Separates O2 from O3 contact.ae_promise_text New text field created Their published reply window, word for word (H2) contact.consent_basis New dropdown created Required by the Engine's compliance standard. Blank means not contactable. contact.ae_asset_url New text field created The per-firm recording for WA-14 contact.ae_reply_class New dropdown created See reply handling below custom_values.sender_name Custom value created Default "Rustam" custom_values.cohort_* (4) · reframe_month Custom values label + month created · 3 wait for Day 0 Set by hand from the Day 0 log. Email 3 is held while any of them is blank. contact.ae_outcome_line (= {{outcome}} ) AE Outcome Line exists The O1, O2 or O3 sentence, filled in after Day 0. Blank (O4) means the firm doesn't enter the sequence. Gates checked before every send Every token resolves to a value. Any blank holds the message and creates a task for Ahmed. ae_track = Engine , consent_basis is set, and Do Not Disturb is off on that channel. UAE addresses only. No KSA or Qatar sends of any kind. DIFC and ADGM addresses are held for consent. Sunday to Thursday, 09:00–21:00 Gulf time. Nothing in the first week of Ramadan. Caps: 20 emails a day per inbox, rising by 10 a week to 50. Up to 40 new WhatsApp conversations a day per number. Bounces above 2% stop sending for the day. Any inbound reply on any channel stops the sequence before the next step runs. Channel limits Email: plain text, no images, no attachments, no tracking pixel. Lowercase subject, 5 words at most. No link in emails 1–2. Emails 2–5 are replies in the same thread with no new subject. A one-click unsubscribe line in the footer, sent from the outreach domain, never kyntlo.ai. WhatsApp: any message outside a 24-hour reply window must be a Meta-approved template in the Marketing category. Inside the window, free text is allowed and a person takes over. Instagram: the messaging API only answers conversations the business started. There are no cold DMs by agent, ever. SMS: not a cold channel here. It's only a fallback for contacts who have given consent. Voice: AI disclosure plus company name within 15 seconds, on a registered commercial line, 09:00–21:00, and never a second dial the same day after a decline. WhatsApp templates to submit for approval Meta's rules: numbered variables, no variable at the very start or end of the body, no two variables side by side, and a body under 1,024 characters. Quick-reply buttons let the agent read the answer without interpreting free text. kyn_wa1_permission Marketing · en Copy Hi {{1}}, it's {{2}} from Kyntlo. I emailed you on {{3}} about the enquiry form on your website and how long the reply took. Can I send you the timestamps and a 60-second recording of what I found? If it's not useful, just say so and I'll drop it. [Button] Yes, send it [Button] Not interested {{1}} first_name · {{2}} sender_name · {{3}} email-1 weekday. "Not interested" = reply class 3. kyn_wa2_asset Marketing · en · video header Copy [Header: video = ae_asset_url] Hi {{1}}, in case it's useful, here's the 60-second recording I mentioned: your website form, {{2}}, and what happened next. No reply needed. [Button] Let's talk [Button] Stop messages {{1}} first_name · {{2}} ae_day_0_display The agent may Assemble and send M1–M4 exactly as written, with tokens resolved Classify replies and route them (below) Reply to "how much" with the pricing page link and hand off Offer two calendar slots (A4) once the reply class is "warm" Say it is an AI whenever asked, and in every voice call The agent must never Write a sentence that isn't on this page, or a number that isn't in a field Quote a custom price or discount, or promise anything not on the readiness one-pager Name the engine underneath, or use the banned words list Send a voice note, or record the per-firm asset Argue, or send a second message before they reply Contact anyone who has said stop, on any channel Reply handling ae_reply_class Looks like Agent does Person does warm "Send it", "yes", "1", a number, a question about the finding Stops the sequence, sends A4 slots, alerts Ahmed Ahmed replies with VN-1 or VN-2 within 15 minutes price "How much?" Sends WA-06 text, alerts Ahmed Takes over objection "Already have a system", "busy", "send email", "agency?" Sends the matching card (WA-07, 08, 09 or 12) once, then alerts Ahmed Takes over if they reply again proof "Who else?" Alerts Ahmed, sends nothing WA-10 as a voice note later "2", "later", "next quarter" Moves to Nurture, creates a reminder 90 days out — no "3", "not interested", "stop", anger Turns on Do Not Disturb for all channels, then sends WA-13 Reviews any complaint the same day human? "Is this a bot?" WA-11 agent disclosure, then alerts Ahmed Takes over they replied to Day 0 A salesperson answering our test enquiry Alerts Ahmed, sends nothing Tells them straight away it was a timing test (rule 8) other Out of office, wrong person, Arabic Pauses and alerts Ahmed Decides Tool Pre-send check Paste a message and pick the touch. This runs the same checks the agent has to pass: word limit, unfilled tokens, banned words, links, exclamation marks and emojis. Nothing typed here leaves the page. Touch Email 1 · 60 words, no link Email 2 · 80 words, no link Emails 3–5 · 80 words WhatsApp first message · 60 words, no link WhatsApp reply · 60 words For Mahmoud's review Open decisions before sign-off Which market leads. This page follows the Acquisition Engine (UAE first, niche 1 real estate and interior design). Playbook 02 v2.1 puts Ring 1 in Cairo, Giza and Alexandria, with clinics, salons and home services first. The modules are market-neutral (city and niche are tokens), but the gates, send windows and compliance rules above are written for the UAE. Arabic set. Every block here is English only. The Arabic versions belong to the OS task "Arabic and English core set" and need a native reviewer before the agent sends any of them. Fields and templates. The contact fields, three custom values, email templates and the agent's knowledge base now exist in the Kyntlo account. The three cohort values wait for Day 0, and the two WhatsApp templates still need an API number. See the follow-up status page . Kyntlo · Own Tomorrow · Internal. Sources: Kyntlo Acquisition Engine (v5, 21 Sep), Outreach Run Sheet (niche 1), Playbooks 01–02 v2.1 (24 Sep). Version 1.1, 28 Sep 2026.