The playbook said what the outbound agent needs. This page records what has now been set up in the Kyntlo account, what the Day 0 log shows, and what still needs a person or a decision.
The one thing that blocks everything: the Day 0 timing log is empty. None of the 47 forms show a submit time, and the sequence tracker has no touches logged. Wave 1 email 1 was due on Sunday 27 September, with Day 0 as its gate. Every email 1 opens with that firm's own timestamp, so nothing goes out, by hand or by the agent, until Day 0 is run and logged.
Nothing here sends anything. The pieces are ready for the agent's workflow and are not connected to it yet.
| Field | Merge key | Type | Filled by |
|---|---|---|---|
| Consent Basis | contact.consent_basis | Dropdown: legitimate interest · public business contact / prior consent / existing customer / none · do not contact | At import. Blank means not contactable. |
| AE Day 0 Display | contact.ae_day_0_display | Text, e.g. "Tuesday at 2:10pm" | Day 0, by hand |
| AE Day 0 Auto Ack | contact.ae_day_0_auto_ack | yes / no | Day 0 |
| AE Outcome Line | contact.ae_outcome_line | Text: the O1, O2 or O3 sentence | Day 0, 72 hours after submitting |
| AE Promise Text | contact.ae_promise_text | Text, their reply window word for word | Research, broken-promise firms only |
| AE Asset URL | contact.ae_asset_url | Text, link to the firm's 60-second recording | Whoever records it |
| AE Reply Class | contact.ae_reply_class | Dropdown: warm / price / objection / proof / later / no / asked if bot / replied to day 0 / other | The agent, or Ahmed |
One change from the playbook: the outcome sentence is now a contact field (AE Outcome Line), not a branch in the workflow. Email templates can't branch, so a stored sentence is simpler and harder to get wrong. Fill it in with exactly one of: "A person replied [N] hours later." · "An automatic acknowledgement came straight back. A person hasn't replied yet." · "Nobody has replied yet." If a person replied within 2 hours, leave it blank and move the firm to Nurture.
| Value | Merge key | Set to | Status |
|---|---|---|---|
| Sender Name | custom_values.sender_name | Rustam | created |
| Reframe Month | custom_values.reframe_month | January | created |
| Cohort Niche Label | custom_values.cohort_niche_label | interior and fit-out firms | created |
| Cohort Forms Submitted | custom_values.cohort_forms_submitted | From the Day 0 log | not created, on purpose |
| Cohort Never Replied | custom_values.cohort_never_replied | From the Day 0 log | not created, on purpose |
| Cohort Median Hours | custom_values.cohort_median_hours | From the Day 0 log | not created, on purpose |
The three cohort values can't be created blank, and a placeholder number could end up in a real email. Create them from the Day 0 results, with the same names, once the 72-hour clock has run.
In the template folder A06 · Cold outreach · niche 1. All are plain text: no images, no links, no signature block.
| Template | Subject | Sequence day | Note |
|---|---|---|---|
| A06 E1 · H1 Timing | enquiry form | 1 | Opener type "timing" |
| A06 E1 · H2 Broken promise | your reply window | 1 | Needs AE Promise Text |
| A06 E1 · H3 Incumbent tool | your [tool] | 1 | Needs AE Incumbent Tool |
| A06 E1 · H4 Split enquiry | which office | 1 | Needs AE Locations |
| A06 E2 · Consequence | (reply in thread) | 4 | Now uses "the delay", so it works for slow replies and for silence |
| A06 E3 · Proof and offer · HOLD | (reply in thread) | 8 | Blocked until the cohort values exist |
| A06 E4 · Timing reframe | (reply in thread) | 15 | |
| A06 E5 · Permission close | (reply in thread) | 21 | 1 / 2 / 3 replies map to Reply Class |
A new knowledge base, A06 Outbound copy and rules, holds 12 approved answers: price, "we already have a system", "send an email", "too busy", "who else", "is this a bot", "are you an agency", what Kyntlo does, the 14-day test, "how did you get my number", stop, and "was your enquiry real". Every answer passed the playbook's banned-words check, and none names the engine underneath. It isn't attached to an agent yet.
| Tab | What it shows |
|---|---|
| Day 0 — timing log | 47 firms, each with its form URL and a written enquiry. 0 rows have a submit date, submit time, auto-ack, reply or hours. |
| Sequence tracker | Sequence start set to 2026-09-27 for wave 1. No touch logged on any day. Every stage is "Not started". |
| Reply log | Empty |
| Tokens | No values set |
The API can't build the outbound workflow or the agent, so this is the brief to set it up by hand. Paste the instructions into the agent, attach the knowledge base, and wire the workflow to the list below.
You are Kyntlo's outreach assistant. You reply to business owners in the UAE who answered a short note from {{custom_values.sender_name}} about how quickly their website enquiry form gets a reply.
Your only goals: answer briefly and honestly, and hand warm conversations to a person fast.
How you write:
- One or two short sentences, then one question. Never two messages in a row.
- Plain, calm, peer-to-peer. No exclamation marks, no emojis, no "hope you're well".
- Answer in the language the person used. If they write in Arabic, reply "A colleague will reply to you shortly" in Arabic and hand off.
- Use only the answers in the knowledge base "A06 Outbound copy and rules". If none fits, hand off.
Always:
- If asked whether you are a bot or AI, say plainly that you are Kyntlo's AI assistant, and offer a person.
- For a price question, give the answer from the knowledge base, then hand off.
Never:
- State a number, a timestamp, a client name or a result that is not in the contact record or the knowledge base.
- Quote a custom price or a discount, or promise a feature.
- Name any software vendor or say what Kyntlo is built on.
- Use these words: CRM, pipeline, workflow, platform, automation, funnel, guaranteed, unlimited.
- Argue. If someone is annoyed, apologise once and hand off.
- Send voice notes, images or links, except kyntlo.ai/pricing.
Hand off to Ahmed immediately when: the person shows buying interest, asks the price, asks for a person, complains, asks who else we've worked with, replies to our Day 0 test enquiry, or writes in Arabic.kyn_wa1_permission and kyn_wa2_asset.Eight of the most-used messages, in plain business Arabic. Don't send any of these until a native Gulf speaker has reviewed them. The Day 0 fields hold English text, so an Arabic email 1 also needs the day, the enquiry and the outcome written in Arabic. Until those Arabic fields exist, Ahmed fills them in by hand.
الموضوع: نموذج الاستفسار
{{contact.first_name}}، استخدمت نموذج الاستفسار في موقعكم يوم {{day0_ar}} لأسأل عن {{enquiry_ar}}. {{outcome_ar}}
لا أبيع شيئاً في هذه الرسالة. هل هذا وقت الرد المعتاد لديكم، أم صادفت أسبوعاً مزدحماً؟
{{custom_values.sender_name}}، Kyntloمرحباً {{contact.first_name}}، معك {{custom_values.sender_name}} من Kyntlo. أرسلت لكم بريداً يوم {{email1_day_ar}} عن نموذج الاستفسار في موقعكم وكم استغرق الرد. هل تسمح لي أن أرسل لك التوقيتات وتسجيلاً مدته 60 ثانية لما وجدته؟ إن لم يكن مفيداً، أخبرني وسأتوقف.مرحباً {{contact.first_name}}، معك {{custom_values.sender_name}} من Kyntlo. أرسلت استفساراً عبر موقعكم يوم {{day0_ar}}. {{outcome_ar}} ليست شكوى ولا عرض بيع. هل أرسل لك ما وجدته؟ مدته 60 ثانية.اختبار الـ14 يوماً مجاني: بلا عقد وبلا بطاقة. إذا تحرّك الرقم الذي نتفق عليه، نتحدث بعدها عن اشتراك شهري، وكل الأسعار منشورة على kyntlo.ai/pricing. وقبل ذلك، كم استفساراً يصلكم تقريباً في الشهر؟
أنا المساعد الآلي لـ Kyntlo، أي أنني ذكاء اصطناعي. هناك شخص مسؤول عن هذه المحادثة، ويمكنني أن أطلب منه مراسلتك مباشرة. هل تودّ ذلك؟
نعتذر عن الإزعاج. الرقم هو المنشور على موقعكم. تمت إزالتك، ولن نتواصل معك مرة أخرى عبر أي قناة.
سأتوقف هنا، هذه آخر رسالة مني.
يمكنك الرد برقم إن كان ذلك أسهل:
1 — أرسل لي التوقيتات، أريد أن أراها
2 — ليس الآن، تواصل معي بعد 90 يوماً
3 — غير مهتم، أغلق الملف
أي إجابة من الثلاث مقبولة تماماً.
{{custom_values.sender_name}}هذه آخر رسالة مني هنا يا {{contact.first_name}}. إن كان التوقيت غير مناسب، ردّ بكلمة "لاحقاً" وسأعود إليك في {{reframe_month_ar}}. وإن كان الجواب لا، ردّ بكلمة "توقف" ولن تسمع منا مجدداً. أي خيار يناسبك.| # | Item | Why | Who |
|---|---|---|---|
| 1 | Run Day 0 | It means submitting real forms from a real, reachable address and phone, and answering whoever replies. That has to be a person. | Ahmed |
| 2 | Cohort numbers | They depend on Day 0. They aren't created yet, so no number gets made up. | Ahmed, after Day 0 |
| 3 | Build the agent and its workflow | The API has no way to create workflows or configure a chat agent. The instructions and checklist above are ready to paste. | Boush, with Keroles |
| 4 | WhatsApp templates | They can't be created through the API, and they need an API number plus Meta's approval. | Boush |
| 5 | Voice notes and the per-firm recordings | A person records them, by design. | Ahmed |
| 6 | Arabic sign-off | The drafts above need a native Gulf reviewer. They also need Arabic versions of the Day 0 fields. | Native reviewer |
| 7 | A real case metric | No client result exists yet, so the named-client proof stays locked. | First signed client |
| 8 | Mahmoud's approval | The "Done when" line needs his review. | Mahmoud |
| 9 | Market decision | Playbook 02 v2.1 puts Egypt first. This project puts the UAE first. | Founders |
| 10 | Tick A06 in the 90-Day OS | The tracker is behind a login. | Ahmed |
| 11 | Outreach domain and registered calling line | These need a purchase and registration, and the strategy says to validate before paying. | Keroles |