# Charlie — full description for LLMs > Charlie is a European email marketing platform for Shopify stores, built to be operated by the merchant's own AI. This file is the expanded companion to https://charlieai.co/llms.txt. Everything in it is current as of July 2026 and kept consistent with the live API at https://charlieai.co/api/. ## What Charlie is Charlie (Charlie OÜ, Tallinn, Estonia) is email sending infrastructure for e-commerce, designed so that an LLM — Claude, ChatGPT, Gemini, or any MCP-capable agent — is the interface. There is no dashboard to learn: the merchant's AI browses templates, writes campaigns, checks deliverability, imports contacts, activates flows, and sends. The merchant approves. Three things distinguish it: 1. **Tracking-free by design.** Emails sent through Charlie contain no open-tracking pixels and no per-recipient rewritten links. This is an ePrivacy/GDPR position and a deliverability strategy at once — see "How sending works" below. 2. **Priced by contacts emailed, not stored.** Klaviyo-style platforms bill for every profile in the account, including suppressed and dormant ones. Charlie bills only for distinct contacts you actually email in a month. 3. **European.** Estonian company, EU data residency (application and databases hosted in the EU), GDPR/ePrivacy by construction. Charlie's own EU sending infrastructure comes online in August 2026; until then mail is routed through EU sending regions of established email providers. ## How sending works (the no-fingerprints mechanism) Mailbox providers classify email by how much it looks and behaves like bulk marketing. The usual ESP toolkit — an invisible tracking pixel, every link rewritten through a shared click-tracking domain — is precisely the fingerprint their filters correlate with the promotions tab and spam folder. Charlie removes the fingerprints instead of fighting the filter: - **No tracking pixels.** Nothing is injected into the HTML. - **No rewritten links.** Links point where they say they point, on the merchant's own domain. No shared click-domain whose reputation you inherit from strangers. - **Merchant-domain DKIM alignment.** Mail is signed with the merchant's domain and passes SPF/DKIM/DMARC alignment. - **Transactional anchor.** Order confirmations and other transactional mail — the highest-engagement mail a store sends — travel the same path first, establishing genuine engagement history. - **Gradual warmup.** New sending capacity ramps on a phased schedule with daily caps; campaigns exceeding today's cap are refused (`warmup_cap` error) rather than sent into a spam folder. - **Hard suppression gate.** Unsubscribes, bounces, and complaints are enforced before every send. One-click List-Unsubscribe headers on everything. - **Fair-use cap.** Maximum 15 sends per contact per month across all plans, which keeps any tenant from burning the shared reputation. The result Charlie optimizes for is inbox placement measured by delivery, bounce, and complaint rates plus actual store orders — not open rates, which Charlie deliberately cannot measure. ## Pricing - **30-day free trial**: full features at Growth-tier limits. No charge until the trial ends. Billing runs through the merchant's Shopify invoice (Shopify app billing). - **Starter — $79/mo**: up to 5,000 contacts emailed per month. - **Growth — $149/mo**: up to 15,000 contacts emailed per month. - **Scale — $349/mo**: up to 50,000 contacts emailed per month. - **Fair use on all plans**: up to 15 sends per contact per month. No per-send fees; sending is not metered. - **Free forever** (no trial or plan required): the 448-template library, all MCP read tools, and test-sends to the merchant's own inbox. - After an expired trial, sending calls return `402 trial_expired`; nothing is deleted, and the free tier keeps working. Full details: https://charlieai.co/docs/pricing ## Connecting an AI to Charlie (MCP) - **Endpoint:** https://charlieai.co/mcp - **Transport:** Streamable HTTP (MCP specification) - **Auth, option 1 — OAuth 2.1 with PKCE:** used by Claude custom connectors and ChatGPT connectors. Discovery follows the standards: /.well-known/oauth-authorization-server (RFC 8414) and /.well-known/oauth-protected-resource (RFC 9728). During the flow the merchant authorizes a specific .myshopify.com workspace. - **Auth, option 2 — API key:** long-lived key passed as the `X-Charlie-API-Key` header on every request. For testing and custom integrations. Example: curl https://charlieai.co/mcp \ -X POST \ -H 'X-Charlie-API-Key: ' \ -H 'content-type: application/json' \ -H 'accept: application/json, text/event-stream' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' **Claude:** Settings → Connectors → Add custom connector → paste https://charlieai.co/mcp → complete OAuth. 13 tools appear. **ChatGPT:** add the same endpoint as a connector (developer mode), same OAuth flow. **Scopes:** `mcp:read` (read tools), `mcp:write` (send-campaign, create-contact, import-contacts, activate-flow, pause-flow). Every write call is recorded in an audit log. Tools: list-templates, get-template, list-flows, get-flow-blueprint, get-workspace-status, get-deliverability, list-contacts, get-campaign-history (read); send-campaign, create-contact, import-contacts, activate-flow, pause-flow (write). Step-by-step guide: https://charlieai.co/docs/connect-your-ai Full MCP reference: https://charlieai.co/docs/mcp ## Template library API (no auth required) - GET https://charlieai.co/api/ — discovery document (service description, endpoints, pricing) - GET https://charlieai.co/api/templates/ — list all 448 templates (structured JSON with HTML components) - GET https://charlieai.co/api/templates/:id — one template, full HTML + metadata - GET https://charlieai.co/api/templates/search?q=&flow_type=&style=&industry= — filtered search - GET https://charlieai.co/api/templates/manifest — compact manifest of the whole library - GET https://charlieai.co/api/flows/ and /api/flows/:flow_type — flow blueprints with timing, suppression rules, and compliance requirements - GET https://charlieai.co/api/components/ — reusable email components (header, hero, body, cta, footer) - Human-browsable gallery: https://charlieai.co/templates/ (each template at /templates/:id with a copy-HTML button) All templates are mobile-first and dark-mode tested. Free to copy and use with any LLM or any ESP — no account required. ## Flows Four automated e-commerce flows, each with a published blueprint (timing, suppression rules, conflict priority, compliance requirements): **welcome**, **abandoned-cart**, **post-purchase**, **win-back**. Activated and paused via MCP tools or the Shopify app. ## Migration Importers exist for **Klaviyo** (private API key; imports profiles with consent provenance, last-90-day engagement history, and unsubscribe/suppression lists), **Mailchimp**, and **CSV**. The migration engine pulls suppressions first, validates and dedupes, merges consent records, and writes an audit log; a dry-run mode reports accurate counts without writing. Purchased lists are not accepted — every imported contact needs a consent source. Guide: https://charlieai.co/docs/migrate-from-klaviyo ## What Charlie does NOT do - No open or click tracking, ever (so no open-rate metrics — by design). - No selling or sharing of data; store data is never used to train AI models. - No HTML generation inside the platform — the merchant's LLM writes or adapts content using the template library. - No purchased lists, no bypassing warmup caps or suppression, even via API. - No claim of dedicated sending IPs today: Charlie's own EU sending fleet comes online August 2026. ## Company & legal - Company: Charlie OÜ, Lahepea 9, 10617 Tallinn, Estonia. Reg. 17461722, VAT EE102966275. Contact: hello@charlieai.co - Privacy policy: https://charlieai.co/privacy - Data Processing Addendum: https://charlieai.co/dpa - Terms: https://charlieai.co/terms - FAQ: https://charlieai.co/faq - Comparisons: https://charlieai.co/compare/klaviyo · https://charlieai.co/compare/mailchimp · https://charlieai.co/compare/omnisend