0saas

Job ticket 913177 · smb · reply forge · no subscription

Tidio's page prints no free plan. The reply itself was never the expensive part.

Starter is US$24.17 a month billed annually for 100 billable conversations, and the macros a live queue actually runs on wait on Growth at US$49.17. But turning a thread into a reply your team would sign is composition work a free-tier model does without a meter. Paste a thread; keep the drafts.

Tidio is a trademark of Tidio Ltd. This is an independent, unaffiliated comparison built on Tidio's own published pricing page, linked below and re-read every thirty days.

The reply forge — rendered in this browser

Source: noneRendered: 0Uploaded to 0saas: nothing

Sample data is illustrative, not a claim about Tidio. Every Tidio figure on this page comes from the linked pricing page, read 2026-09-28.

The prompt pack

Two prompts, each mapped one-to-one onto a Tidio feature you are currently rationed on. Run them from this page with a free key, or copy them into any free chat model — the text is identical either way, and it is printed in full at the bottom of this section so it survives this site.

Loading the pack from tools.json… If this fails, the full prompt text is still readable below.

One-time unlocks only, never a subscription. If a price ever appears here it was read from Stripe in that request, not typed by hand. An unlock is client-side gating, not secure payment verification: it is stored in this browser and cannot prove payment to anyone else.

What Tidio's own pricing page says

Read from tidio.com — pricing on 2026-09-28. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.

What the plans meter, and what this forge hands over — verified 2026-09-28
The jobTidio's page (read 2026-09-28)What it costsThis page + a free-tier model
A standing free tierNot printed — every card is a 7-day trialUS$290/yr (Starter, annual)US$0 — draft replies without an account
AI-drafted repliesLyro, metered per conversation50 one-off on StarterOne REPLY row per pasted thread, unlimited
Macro libraryGrowth plan and upFrom US$49.17/moA trigger-texted table from your own replies
Escalation judgmentAutomation rules on paid cardsPlan-dependentA named threshold on every ESCALATE row

What this replaces, and what it does not

A displacement claim you cannot substantiate is a lie with good typography. This is the whole scope, including the parts where Tidio wins.

Drafts, not dispatch

One sendable reply per pasted thread, tagged and caveated. Export the macro table as CSV and paste macros into whatever desk you already run.

Your threads stay yours

Nothing is stored, synced or uploaded. No channel connection, no visitor tracking, no chat widget.

Escalation you can audit

ESCALATE appears only with the threshold named — money, safety or legal exposure.

Not a help desk

No shared inbox, no ticket history, no SLA timers, no channel integrations. Tidio (or any desk) still hosts the conversation.

Not live chat

Real-time two-party chat is out of scope by design; this page writes the answers, it doesn't host the room.

No automation sends

Flows, triggers and proactive messages are Tidio's machinery; the forge writes copy, never sends it.

The prompts, in full, as text

Copy these into any model. They are the product; the page around them is convenience. Each block is the exact system prompt the interactive runner sends, plus the user-message template.

Prompt 01 — 1. Thread-to-reply drafter · tidio-reply-drafter v1.0.0 · best ally: Groq Cloud — free tier · openai/gpt-oss-120b

Replaces: Lyro's drafted answers and the Copilot-style assist — a sendable reply per thread, without spending one of Starter's 100 billable conversations.

Why this model: One thread in, one signed-quality reply out is a short structured composition with a strict format; a free instruct model at low temperature keeps the reply, the tag and the caveat machine-clean for the table. Fallback ally: OpenRouter — :free model variants.

System prompt (1524 chars):

You work the reply forge: a support thread goes in, one sendable reply comes out. You write in the shop's own voice, you answer the human's actual question first and the policy second, and you never promise what the shop cannot do. When the thread is angry, you de-escalate in the first sentence; when it is ambiguous, you ask exactly one clarifying question instead of guessing.

Return ONLY one JSON object. No markdown fences, no commentary, no preamble.

{
  "kicker": string (max 8 words),
  "title": string (the table's caption, max 8 words),
  "columns": [ { "label": "REPLY" }, { "label": "FOLLOWUP" }, { "label": "ESCALATE" } ],
  "rows": [ [ value, value, value — one array per row, same order as the columns, every cell a short string ] ],
  "notes": [ string (one short footnote each) ]
}

Hard rules:
1. Emit exactly one row tagged REPLY whose cells are: what the customer needs, the full reply text, and the tone you aimed for.
2. Emit exactly one FOLLOWUP row: the tag (refund / replace / info / bug / none), and what happens next and when.
3. Emit an ESCALATE row only when money, safety or legal exposure exceeds a first-line answer; name the threshold crossed.
4. The reply is at most 120 words, answers in the customer's language, and names concrete next steps with dates instead of 'soon'.
5. Never invent order numbers, prices, policies or dates that were not in the thread or the shop notes.
6. If the thread is a duplicate of an earlier one, say so in the notes row instead of drafting a second reply.

User message template:

Draft the reply to this thread. The thread: {{thread}} Shop facts (hours, policy, voice — one block): {{shop}}

Variables:

  • {{thread}} — The customer thread to answer (max 2500 chars) sample data shipped with the tool
  • {{shop}} — Shop facts: hours, policy, voice (max 600 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "columns", "rows" ], "properties": { "kicker": { "type": "string" }, "title": { "type": "string" }, "columns": { "type": "array", "minItems": 2, "maxItems": 6 }, "rows": { "type": "array", "minItems": 1, "maxItems": 60 }, "notes": { "type": "array" } } }

Decoding: temperature 0.4 · max 1400 output tokens · responseMimeType application/json · budget ~450 in / ~500 out per thread · cost per run: 1 request against Groq's free daily pool; the relay floor needs no key at all.

Prompt 02 — 2. Macro smith · tidio-macro-smith v1.0.0 · best ally: Google Gemini API — Free usage tier · gemini-2.5-flash-lite

Replaces: The Macros feature the page gates behind Growth (from US$49.17/mo): your best past replies, compressed into a trigger-texted macro table with a when-not-to-use column.

Why this model: Compressing past replies into triggers and caveats is a label-and-quote task over a folder of text; a free Flash-lite at low temperature extracts the pattern without inflating the macros into essays. Fallback ally: Groq Cloud — free tier.

System prompt (1476 chars):

You are the forge's macro smith. Read the pasted past replies and file a macro library: one row per recurring situation, each row carrying the trigger that should summon it, the macro text itself, and one honest line on when the macro must not be used. Macros are splices, not essays — under 60 words, with blanks like [NAME] and [ORDER #] where a human fills in.

Return ONLY one JSON object. No markdown fences, no commentary, no preamble.

{
  "kicker": string (max 8 words),
  "title": string (the table's caption, max 8 words),
  "columns": [ { "label": "SHIPPING" }, { "label": "REFUND" }, { "label": "BUG" }, { "label": "ONBOARDING" }, { "label": "PRAISE" }, { "label": "ESCALATE" } ],
  "rows": [ [ value, value, value — one array per row, same order as the columns, every cell a short string ] ],
  "notes": [ string (one short footnote each) ]
}

Hard rules:
1. Emit between 3 and 12 macro rows; merge replies that differ only in wording into one macro.
2. Each trigger is the phrase you would type to summon it, at most 6 words.
3. Every macro text uses [BLANKS] for anything customer-specific and never embeds a real name, order or date.
4. The caveat column must name at least one concrete situation where sending this macro would be wrong.
5. If two past replies contradict each other on policy, flag the contradiction in notes instead of smoothing it over.
6. Write macros in the voice of the pasted replies, not in a corporate register the shop has never used.

User message template:

Forge a macro library from these past replies. The replies: {{replies}} Anything the macros must respect (policy, voice): {{rules}}

Variables:

  • {{replies}} — Paste 3–10 of your best past replies (max 3000 chars) sample data shipped with the tool
  • {{rules}} — Policy or voice rules the macros must respect (max 400 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "columns", "rows" ], "properties": { "kicker": { "type": "string" }, "title": { "type": "string" }, "columns": { "type": "array", "minItems": 2, "maxItems": 6 }, "rows": { "type": "array", "minItems": 1, "maxItems": 60 }, "notes": { "type": "array" } } }

Decoding: temperature 0.2 · max 2000 output tokens · responseMimeType application/json · budget ~800 in / ~900 out for ten replies · cost per run: 1 request against Gemini's free daily messages; the relay floor needs no key at all.

Questions worth asking before you cancel

Tidio used to have a free plan — what happened?

Not our call to narrate; what we can say is what the page prints today: no free card, a 7-day trial on every plan, and Starter from US$24.17/mo billed annually. That is the ceiling this page displaces, read 2026-09-28.

What counts as a 'billable conversation' on Tidio?

Their metering, not ours — we quote the allowance (100 on Starter) as printed and spend none of it here: every reply on this page runs on a model key you own, or on the copy-paste relay.

Will the drafts sound like a robot?

They sound like the shop notes you paste. Voice rules — 'warm, plain, no hedging' — are an input field, and the reply is 120 words maximum by rule.

Where do my threads go?

Nowhere. The page has no database and no form posts. Paste, render, download, clear the tab.

Does it work without an API key?

Yes. Copy the printed prompt into any free chat model, paste the JSON answer into the relay box, and the table renders exactly the same way.

Nothing is loaded from X or LinkedIn until you click, and no share is counted, logged or reported back to us — the buttons are plain links to each network's own share page.

Next on the ledger