Published: · Last updated:
The best model test is work you cannot afford to get wrong. When we decided to move Chat-O’s email marketing off a bare transactional provider, we treated the migration as a benchmark for GLM-5.3 Flash, Z-AI’s speed-optimized model and the default across every Chat-O tier. The engineer drove OpenCode through OpenCode Go, the agent setup we use and like, with GLM-5.3 Flash behind the wheel. It handled the job end to end: domain setup, DNS records, contact import, sequence authoring, go-live. Under an hour, on the first pass.
Pombo is a newer lifecycle marketing tool, and it was the other half of the experiment. We looked at the options and chose it as the right fit for Chat-O, mostly because of how AI-native it is: an MCP server an agent can drive directly, sequences drafted from our own brand voice, and marketing plus transactional email on a single pipeline with per-message analytics.
Migrating email marketing platforms has a reputation. There is a reason “we’re changing our email provider” usually comes with a war story: DNS records copied wrong, lists imported with dead addresses, unsubscribe states lost, weeks of dashboard clicking. We just finished ours, and ours went like this: one engineer, one AI agent, and less than one hour for the new system to be up and running, with a much better setup than we had before.
Pombo exposes an MCP server, so our agent did not click through a UI. It talked to the platform directly, the way it talks to our database and our servers. Registering our sending domain, copying three DKIM keys plus SPF and the envelope records into Cloudflare, verifying DKIM, SPF, and DMARC green: that was the first minutes of the first session. No dashboards, no support tickets, no copying values by hand and praying.
The MCP surface covers the whole operation. A sample of the tools our agent used, roughly in the order an onboarding needs them:
get_setup_status gives a readiness checklist: sending domain, mailing address, brand voice, contacts, account review. Our agent called it first, and it returned exactly what was missing and what to do next. add_sending_domain returns the DNS records to publish, and check_sending_domain re-verifies them once they are live. This is how the DKIM, SPF, and DMARC setup ran hands-free. update_brand_voice and get_brand_voice capture tone, ideal customer, and positioning. We grounded ours in our own site copy, and every email Pombo drafts afterwards sounds like us. import_contacts brings an audience over in batches, and the REST contact upsert endpoint keeps it in sync from a backend. Ours ran after validation, as described below. create_template and validate_template author and dry-run emails (MJML or structured blocks) before they exist anywhere sendable. create_sequence and validate_sequence build the lifecycle graph, including wait steps, A/B test splits, and conversion goals, and refuse to start anything that would not run. preview_template renders a 7-day browser preview of any email, and send_test_email delivers to your own team. We reviewed every design this way before anything went near a real send. set_sequence_status is the go-live switch, and analytics_summary plus list_recent_sends are the read-back afterwards. create_api_key mints scoped keys (events:write, contacts:write) so your backend can post lifecycle events and sync contacts. That is the whole loop: set up, author, preview, activate, measure. Our agent moved through it without a dashboard.
The same session moved our contacts. 288 verified addresses, every one of them checked against a disposable-domain blocklist, live MX lookups, and AWS SES’s email validation API before import. 48 dead and throwaway addresses never made it onto the list. Our sender reputation starts clean instead of apologetic.
We pointed Pombo’s assistant at the Chat-O website. It read the brand from the site: voice, what Chat-O is, who uses it. Then it suggested email actions that fit this product: welcome flows shaped to our tiers, and a tips sequence for after a user sends their first chat.
We took most of the suggestions. A welcome series for new signups and a tips series that starts after a first completed chat now run automatically. Each email exists in two designs, new signups split 50/50, and we will see which layout people engage with. This is one of ours, straight from the design-B track of the welcome series:
Half of our email strategy was written for us, in our voice, on the first day.
We had hardcoded emails built directly into our Phoenix app before: confirmations, password resets, data-export notices, pushed through a transactional provider with no visibility. Now everything, marketing and transactional, runs through Pombo, and the difference shows up in the metrics. Every send has its own history. Delivery status per message, opens, clicks, bounces, all of it queryable, so a silent failure is no longer silent. When someone requests a data export, the notice now goes out through the same authenticated pipeline, and we can actually see that it arrived.
That split matters for privacy too, our top concern. Pombo treats opt-outs the right way: marketing stops when you unsubscribe, receipts and important notices still arrive because receipts are not promotions. No awkward workarounds on our side, no accidentally emailing someone who asked to be left alone. Our fuller reasoning on data practices lives in why we don’t compromise on privacy.
We intend to send less, not more. Only sequences that match where you actually are, only emails with something genuinely useful inside. Pombo’s AI helps with targeting and content, and our own AI knows what you have been working on, so the bar is simple: every email should feel like a tip from a knowledgeable friend, or it does not go out.
We will keep watching the numbers over the next few weeks: opens, clicks, which design wins the split, whether the sequences help people get more out of Chat-O. Pombo’s analytics make that a query, not a project, and we will report back when there is something worth reporting.
This migration was a fair test because it fails loudly when a model slips. Publishing our DNS records meant surviving three layers of shell quoting: a local command, wrapped for SSH, wrapped again for Docker, executed on a remote host. One misplaced quote and the deployment mangles silently. GLM-5.3 Flash got it right every time, and the domain verified on the first pass.
The harder part was the tool loop. Pombo’s MCP server exposes dozens of operations, and the model had to chain them in the right order: check setup status, add the sending domain, publish the records, re-verify, import contacts, author and validate templates, build sequences, then flip them live. A model that loses the thread halfway through leaves you with a half-configured account. This one did not.
That is the profile GLM-5.3 Flash is built for: high-volume agent loops where per-call speed and reliable structured output matter more than maximum single-shot reasoning. It is open weight, it is the default model on every Chat-O tier, and its cost-to-intelligence ratio is why we keep reaching for it.
To be honest about the ceiling: a more expensive frontier model such as Claude Opus 5 or GPT-5 Sol would likely do even better here. Pombo exposes tools, skills, and documentation that make any capable model more effective, and better reasoning on top of good tools compounds. What we did not expect is that GLM-5.3 Flash would not need the upgrade. The model first appeared as the stealth release ox alpha, which migrated a full Rails codebase to Go, and it has been doing real work ever since. For pure API access we recommend OpenRouter; for the model inside a private multi-model chat, it is on every Chat-O tier.
If you run email marketing and you are weighing a move, these are the lessons that transfer:
The broader point: the value of an agent-native tool is not that it writes your copy. It is that the whole operation, setup included, becomes something you can describe and hand off.
As a builder myself, I love to try and use any tool that makes my life easier. Pombo is definitely one of the tools that I would recommend without a doubt to other builders. It seems to work great for companies of any size, from side projects to companies with much bigger audiences. Their AI lifecycle marketing tools are well thought out, and they clearly have experience in this space, so the features feel built by people who have run email at scale, not assembled from a feature checklist. If you want to try the same setup we describe here, Pombo is where I would start.
We test new models constantly, and we are starting to share more of those tests and what we learn from them on this blog. Soon we will also start organizing AI tips inside Chat-O itself, so the guidance shows up where you are already working.