1

Provision the tenant and domain

Use onboard_client.py rather than hand-typed calls — it’s idempotent and prints the remaining checklist:
2

Connect Google Search Console + GA4

The client grants property access to your platform’s Google OAuth app, then:
Initial sync pulls ≥90 days of history; daily scheduled sync keeps it current.
3

Connect WordPress

Self-hosted sites use an application password, not OAuth:
Validate against a throwaway WordPress site first, never a client site, before the first real publish.
4

Connect Ahrefs and Slack

Ahrefs requires an active subscription (rate-limited connector). Slack enables approval notifications with interactive approve/reject buttons — see Workflow Engine → Human approval gates.
5

Run a technical audit

Confirm the crawler respects the client’s robots.txt and doesn’t trip shared-hosting rate limits before running any content workflow:
6

Set the composite quality floor

For YMYL (medical) tenants, set composite_min ≥ 80 on the content workflow’s inputs — the content-evaluation gate reads this per-run.

RLS isolation check

Before treating a new tenant as production-ready, confirm cross-tenant isolation directly — not just trust the design:

Multi-Tenancy architecture