If you run an SEO/GEO agency with multiple client brands, you optimize for throughput, white-label trust, and batch operations — not for the depth of any single dashboard. This guide walks through Arenza's agency workflow end-to-end with timing benchmarks at 10 / 50 / 200 client brand scale.
Day 1 onboarding: 50 client brands in 45 minutes
- Contact hello@arenza.ai with your agency email + brand count. Onboarding agent provisions /portfolio access within 1 day.
- Bulk import: click 📋 Import multiple from CSV. Drop a spreadsheet with columns
name,domain,region_preset,agency_public_name. Validates client-side (you fix errors immediately, not after a round trip). Submit → 50 brands created in seconds. - Apply a prompt template across the portfolio: open one brand → /prompts → click 🪄 Suggest buyer prompts → review the AI-suggested 12 (review takes ~30 seconds; the LLM runs in 3-8s). Track the ones you want.
- Copy that prompt set to all client brands in the same vertical: /portfolio/copy-settings → pick source brand → multi-select target brands → check Prompts → Submit. 1 operation = 50 brands populated.
- Configure agency Slack channel (cross-brand alerts): /portfolio/alerts → New rule → trigger=avs_drop, threshold=5pts, period=24h, channel=your #alerts Slack. Single rule, fans out to all 50 brands.
- White-label per top-3 client (the ones that matter for renewals): /brands/[slug]/settings/white-label → upload client logo + accent color + public display name. Reports + emails + share URLs now carry their brand, not Arenza's.
Realistic time: 45 minutes including coffee. The bulk import + copy-settings combo is what makes this fast — the alternative (single-brand onboarding × 50) takes ~8 hours.
Daily 10am ritual (5 minutes)
- Open
/portfolio. Scan the red/yellow/green grid — anything in red needs attention. - Cross-brand AVS chart panel — spot the dropping line, click into the brand.
- Brand sidebar → Opportunities/Discussions tab — mark as done what you handled overnight.
- Slack #alerts channel — anything fired since you last checked? Click through to brand.
Goal: surface the 1-2 brands that need work today, not get sucked into 50-brand surveying.
Weekly client meeting prep (per brand, 3 minutes)
- Open
/brands/[slug]/dashboardfor that client. - Compare AVS trend vs last week (cross-brand chart).
- Pull the Sources page — note which publishers gained/lost weight (PR pitch material).
- Schedule weekly digest: /brands/[slug]/settings/schedule → add client VP email. Auto-sends Mondays 9am with their snapshot, white-labeled under your agency name.
On automatic from week 2 onwards. The agency principal does monthly QBR review, not weekly dashboard babysitting.
White-label settings reference
logo_url: PNG / JPEG / SVG / WEBP, upload via /brands/[slug]/settings/white-label. Renders on PDF report cover, email digest header, public share URL. ≤1 MB.accent_color: #RRGGBB. Drives the primary highlight color in reports + email.public_display_name: Overridesnameon shared reports. Use the legal entity name if your contract demands it.- Footer always reads "Powered by Arenza" — non-removable on the Protect tier (Enterprise tier with full theming removes it).
Per-brand integrations: Slack, Feishu, webhook
/brands/[slug]/settings/integrations supports four channel kinds:
- Slack incoming webhook — paste the webhook URL from your Slack workspace. Set severity floor (low/med/high) so low-severity noise doesn't drown the channel.
- Feishu (Lark) bot — paste the bot URL. Same severity floor logic.
- Generic webhook — POST JSON to your own endpoint. Useful for routing into custom ops tooling.
- Email — recipient email address; uses Resend.
For agency-side cross-brand alerts (one rule fires across all owned brands), use /portfolio/alerts instead of per-brand integrations.
MCP integration: Claude as the agency's reporting layer
An MCP-aware Claude (Desktop, Code, or any client) can call Arenza directly. The hosted server lives at mcp.arenza.ai. Setup in 2 minutes — full walkthrough at /guides/use-claude-with-arenza-mcp-server.
Read tools (always available): list_brands, get_brand_overview, list_prompts, list_opportunities. Write tools: add_competitor, mark_opportunity_done, dismiss_competitor, suggest_competitors, suggest_prompts, generate_geo_article.
Real agency Monday workflow: "Claude, give me a 5-line summary of all 50 client brands' visibility this week, sorted by biggest drop" → 1 prompt = the standup deck.
Public REST API (for custom dashboards)
If your agency runs Notion / Looker / custom Slack bots / internal Slack apps, the REST API at api.arenza.ai is documented in our methodology page. OAuth via Clerk; per-brand scopes; includes /agency/* endpoints for cross-brand queries.
Pricing for agencies (no per-brand seat fees)
Arenza Protect is $99/mo + usage — base includes 1,000 scans, 10 findings, and 5 deployed fixes per month, with overage at $0.05/scan + $1/finding + $5/fix. Adding brand 51 to the workspace doesn't add a base fee; you only pay for the additional scans + findings + fixes you actually consume. White-label, all 3 AI platforms, MCP server, and REST API are all included from Protect — not gated to Enterprise. (Pro at $9.99/mo is single-brand and ChatGPT-only — for solo operators, not agencies.)