Reference
Troubleshooting
The stuck points that come up most often, plus the diagnostic steps for each. Can't find your issue here? Tell us — we add the page after we resolve the ticket.
Agent
The agent keeps re-running the same tool and looping.
Stop it manually — open the agent panel, click the running spinner, hit Cancel. Looping usually means it can't complete a step but hasn't surfaced why (an integration is missing, a row failed validation, a file path doesn't exist).
Open Settings → Audit log — every tool call the agent made is recorded with its arguments and the failure reason. Tell the agent in plain language what to fix: "the insert_row call failed because email is required, default it to a placeholder for now".
Agent says it can't find a project / file / table.
Open the agent panel from inside the project page (not the global dashboard). The active project context appears as a badge next to "Agent" in the header — without it, the agent only sees workspace-level data.
I asked the agent to delete something, can I undo?
If the row / file is in your project: Settings → Backup & export gives you a JSON archive you can restore against a fresh project. Export early and often when you're learning.
Database column drops are also reversible from the same archive — re-add the column, then restore the rows.
Integrations
I clicked "Enable payments" but the panel never turns green.
Make sure you actually finished the OAuth flow on Polar's side — pick an organization and click Allow. If you closed the tab early the redirect never fires.
After authorizing, the panel should flip to 'Payments enabled' within a second. If it still says 'pending' after a refresh, hit Refresh status on the panel; it re-syncs from Polar.
If you connected the wrong Polar account, click Disconnect on the panel and re-do Enable payments — Polar will let you pick a different org this time.
Visitors reached Polar checkout but no order appears in my Coagentic dashboard.
Most likely: the webhook from Polar to Coagentic is failing signature verification. Re-register it from the admin panel (or disconnect+reconnect Platform Payments) — the OAuth flow auto-registers a fresh webhook with a matching secret on every connect.
Polar retries failed deliveries for several days, so once the secret is fixed past orders will land on retry. You can also click 'Replay' on each delivery in your Polar dashboard → Webhooks → Deliveries.
BYOK Polar integration says "connected" but checkout still 500s.
The most common BYOK failure is a missing product — the action's product_id must reference a product that exists in the organization the token belongs to. Check Polar dashboard → Products and copy the right id.
Sandbox tokens can also accidentally land in production mode if you flipped POLAR_ENV mid-paste. Sandbox tokens are scoped to sandbox.polar.sh; using one against production returns a 401.
If you're using Platform Payments (the green panel, OAuth-based) instead of BYOK, these issues don't apply — try that path instead, it's the recommended setup.
Where do I see how much my customers actually paid?
Project → Integrations → Platform Payments panel shows this month's gross volume and the most recent orders.
Your Polar dashboard is the source of truth for payouts, refunds, and disputes. Click 'Open Polar dashboard' on the Platform Payments panel to jump straight there.
I haven't received any money in my bank yet.
Polar's payout schedule depends on your account history — typically weekly for established accounts, with a longer first-payout hold for new accounts (similar to how Stripe behaves).
Before any payout, you must complete identity verification (KYC) and add a bank account in your Polar dashboard. Coagentic never collects this info; it's all on Polar's side.
Check Polar dashboard → Payouts for the exact schedule and any holds.
Resend emails go to spam.
Verify your sending domain in Resend's dashboard — it wants one DNS TXT record. Without it, emails come from a shared sender pool with bad reputation.
Use a real From address on your domain (e.g. [email protected]), not a no-reply alias on a free email host.
Don't put a tracking pixel on the welcome email if you don't need open rates — Gmail tabs them aggressively.
Custom domains
I added my custom domain but it's stuck on "verifying DNS".
DNS changes take 5 minutes to 48 hours to travel, depending on your registrar's TTL. From a terminal: dig TXT _coagentic-verify.<your-domain> should return the value shown on the project's Site → Domain screen. When it does, press Check DNS there (or ask your assistant) and it goes live.
If 24 hours pass: check the record's NAME. Most providers append your domain automatically, so typing the full _coagentic-verify.example.com leaves you with _coagentic-verify.example.com.example.com. Also check the value has no quotes added around it.
DNS says verified but HTTPS is broken.
Cert issuance via Let's Encrypt is automatic but takes another 1-5 minutes after DNS verifies. The project's Site → Domain screen shows the status.
If still broken after 30 minutes: check that you don't have a CAA record on your domain blocking Let's Encrypt. dig CAA <your-domain> — if you see issue "letsencrypt.org" you're fine; if you see issue "some-other-CA.com" that's why.
Workflows
Cron workflow doesn't fire at the time I expect.
All cron schedules are evaluated in UTC. Automation → Workflows shows the next-fire timestamp converted to your browser timezone for sanity-checking.
Common gotcha: 0 18 * * * is 18:00 UTC daily, which is 21:00 in Istanbul (winter) or 20:00 (summer DST). Adjust accordingly or ask the agent for "daily 6 PM Istanbul" — it'll write the right cron.
form_submit workflow doesn't trigger when the form is submitted.
Verify the form's action attribute points to /forms/<your-subdomain> and uses method="POST". The agent does this automatically when you tell it to wire a form to a workflow, but hand-edited HTML can drift.
Check the project's Activity → Submissions — if rows arrive there but no workflow runs, the workflow's trigger filter (e.g. "only fires when subject == X") may be excluding them.
Account & billing
I hit the agent-message quota mid-session.
The dashboard banner shows when you're approaching the cap. On the Free plan it's 50 conversations / month; Starter is 200; Pro is 750; Business is 3000.
Hitting the cap blocks the agent panel until next month, but everything else still works — the dashboard, your live site, your workflows, and your existing data are untouched. Upgrade from Settings → Billing to keep going.
Why didn't I get a verification email after sign-up?
First check spam and the Promotions tab (Gmail puts our welcome there until you reply). Add [email protected] to your contacts to keep future mail in the primary inbox.
If it isn't in spam either, your provider may be rejecting our sending domain. Try an alternate inbox (Gmail / Fastmail) — if that one arrives, the first inbox is filtering us silently.
Still nothing? Email [email protected] from the same address you signed up with; we can resend manually and dig into the bounce log on our side.