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.
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.
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. |
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.
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. |
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
ae_opener_type = timing. They run ads and make no response promise anywhere.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
ae_opener_type = broken promise. Quote their promise word for word.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
ae_opener_type = incumbent tool. They already have a chat box, scheduler or CRM. We are not replacing it.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
ae_opener_type = split enquiry. Several offices, one form.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.
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}}, KyntloSubject: 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}}, KyntloAlways 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.
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.
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.
{{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}}.
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.
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.
Roughly how many enquiries come through the site in a month?
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?
Easiest is 15 minutes: I show you the timestamps and we agree the one number. {{slot_1}} or {{slot_2}}?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.
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}}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}}
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.
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 |
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.
A local operator who did his homework, talking to another business owner. A peer with a finding, not a vendor with a product.
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.
Plain English with contractions. Spoken sentences under 15 words. Concrete before abstract: "8:40 on Tuesday evening" comes before "after hours".
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.
Reply in the language they write in. Arabic replies are handled by a person until the Arabic set has been written and approved.
One idea per message and one question, then stop. Don't send two messages in a row. Wait for their reply.
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.
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.
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.
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).
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.
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.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.
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.
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?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.
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?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.
No, it's me, {{custom_values.sender_name}}. Happy to jump on a quick call if that's easier.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?No. Agencies bring you more leads. I'm here about the ones you already have.
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.
{{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.
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 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. |
ae_track = Engine, consent_basis is set, and Do Not Disturb is off on that channel.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.
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
[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
| 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 |
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.
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.