Agency panel (Meta Ops)
The agency console at /agency — which role sees which menu, and the daily operating loop for each job.
Agency panel (Meta Ops)
The agency console (/agency) is the workplace for the team that runs Meta ads for clients: account managers, ads specialists, creative specialists, QA reviewers and support agents. It is deliberately separate from both the client CRM (/admin) and the platform Super Admin (/super-admin) — agency staff see client workspaces, not the platform's plumbing.
Everything in the panel sits under one navigation group: Meta Ads.
Who this is for
-
Agency staff — your menu and your loop are below.
-
Platform admins — how the console is locked down.
-
Clients — know that this console exists and what it can/cannot do with your account.
-
Difficulty: Medium
-
Time: 15 minutes
-
Prerequisites: An agency account (created on the platform side). Five failed logins lock an account for 15 minutes — by design.
Access model in one minute
- The console is permission-gated per page: every screen declares the
meta.*permission it needs. Two people with different roles can log in to the same panel and see genuinely different menus. - The Super Admin bypasses the per-page gates (platform staff oversight).
- Only the QA reviewer can launch campaigns (
meta.campaign.launch). This is the control that makes the campaign workflow meaningful. - The client workspace list is viewable with the view permission, editable with client-manage, and not creatable or deletable from here — client workspaces are provisioned by the platform (
leadhub:meta-ops-provision).
The full page map (and the permission each page needs)
| Screen | Purpose | Permission |
|---|---|---|
| Overview | Portfolio health at a glance. | meta.view |
| Setup Queue | New client workspaces waiting for connection & setup. | meta.setup |
| Needs Attention | Open issues across clients (see Ads health). | meta.performance.view + lifecycle actions |
| Active Campaigns | Live campaigns with spend, attributed leads and CPL. | meta.performance.view |
| QA Queue | The 12-point QA and the launch gate. | meta.campaign.launch |
| Support Desk | Client support work. | meta.support.manage |
| Live Chat | Real-time client chat. | meta.support.manage |
| Requests Queue | Client requests routed to the team. | meta.support.manage |
| Team Workload | Who is carrying what. | meta.view |
| Daily Brief | The morning summary the platform composes for the team. | meta.view |
| Portfolio Report | Roll-up reporting across client workspaces. | meta.performance.view |
| Clients (All Clients) | Client workspace records — view / edit contact, budget, objective, team assignments. | meta.view (edit: meta.client.manage) |
| Creatives | The creative pipeline (see Creatives). | meta.creative.manage |
Your daily loop, by role
Account manager
Permissions: view, setup, connect, performance, client manage, support manage.
- Daily Brief — read the morning summary (issues, support items, changes overnight).
- Needs Attention — triage anything on your clients: acknowledge what you are handling, act on criticals.
- Setup Queue — push new client connections forward (assets connected, pages selected, forms mapped).
- Support Desk / Requests — work client asks; keep response times in the clients' own reports healthy.
- Portfolio Report — weekly: spend, leads, CPL per client before any client call.
Ads specialist
Permissions: view, setup, connect, campaign create/edit/pause, performance.
- Active Campaigns — spend and CPL first; pause runaway spend when warranted.
- Overview — compare clients; spot the outlier before it becomes a complaint.
- Setup Queue — help connections and asset selections land correctly.
- Team Workload — balance hands-on work across specialists.
- Escalate anything that looks like a broken pipeline to the client's CRM side (missing leads is often form selection, not ads).
Creative specialist
Permissions: view, creative manage.
- Creatives — work the production queue: internal review → in progress.
- Send to client for review when a version is genuinely ready.
- Handle changes requested feedback by producing a new version (never overwrite).
- Mark ready for ads on approved creatives.
QA reviewer
Permissions: view, campaign launch (only role).
- QA Queue — work approved drafts: Start QA (auto-mandatory items must pass), complete the five reviewer checks.
- Pass QA only with all 12 items done; Fail QA with written notes otherwise.
- Launch — the only role that can. Campaigns go live paused, then Verify Launch checks found/active/spending/producing leads.
- Keep the audit trail clean — every pass, fail and launch is recorded.
Support agent
Permissions: view, connect, support manage.
- Support Desk / Live Chat / Requests — own the client conversation.
- connect — help clients (or do it for them with permission) re-authorize Meta connections and refresh pages.
- Hand technical bugs to the platform side with the client workspace and symptom noted.
Expected result
Each agency role opens /agency and sees exactly the tools for their job — no more, no less — with the launch authority concentrated where it belongs and every client action auditable.
Common mistakes
- Expecting the client to see the agency console. They cannot — different panel, different accounts. Clients see results in their CRM and approve creatives there.
- Looking for "create client". Deliberately absent — provisioning is a platform operation.
- Asking a non-QA teammate to "just launch it". Fails by design. Route it through QA.
- Sharing logins. Roles are the security model; shared logins defeat it (and the lockout policy still applies).
Troubleshooting
| Symptom | Fix |
|---|---|
| A menu item is missing | Your role lacks that page's permission — see the page map table; ask the platform admin. |
| Locked out | 5 failed attempts → 15-minute lockout. Wait, then retry carefully. |
| Can view a client but not edit | View is meta.view; editing needs meta.client.manage. |
| Campaign stuck before launch | QA not passed, or the auto-mandatory items are incomplete — the queue explains. |
Technical details
- Panel:
App\Providers\Filament\AgencyPanelProvider(/agency) — a single nav group Meta Ads; login pageAgencyLoginwith a 5-failure / 15-minute lockout. Per-page gate:protected static string $metaPermission+ theChecksMetaPermissiontrait; Super Admin bypasses viaUser::hasMetaPermission. - Roles/permissions:
database/seeders/AgencyRolesSeeder— permissionsmeta.view,meta.setup,meta.connect,meta.campaign.create,meta.campaign.edit,meta.campaign.launch,meta.campaign.pause,meta.creative.manage,meta.performance.view,meta.client.manage,meta.support.manage,meta.billing.view,meta.audit.view. Role mapping: account_manager (view, setup, connect, client.manage, support.manage, performance.view); ads_specialist (view, setup, connect, campaign.create/edit/pause, performance.view); creative_specialist (view, creative.manage); qa_reviewer (view, campaign.launch — launch is exclusive); support_agent (view, connect, support.manage). - Pages:
MetaAdsOverview,SetupQueue,MetaNeedsAttention,MetaActiveCampaigns,MetaQaQueue,MetaSupportDesk,MetaLiveChat,MetaRequestsQueue,MetaTeamWorkload,MetaDailyBriefPage,MetaPortfolioReport. Resources:MetaClientWorkspaceResource(view/edit only),MetaCreativeResource. - Client workspaces are created by the platform command
leadhub:meta-ops-provision, not from the console.
Related guides
- Campaigns — the workflow the QA Queue enforces.
- Creatives — the creative specialist's pipeline.
- Ads health & needs attention — issue lifecycle.
- Roles: account manager, Roles: QA reviewer — the human guides.
Was this page helpful?
Thanks — noted. ✦