Signal

Internal agency operations console

Meta operations proof console

This reviewer console shows how Signal helps authorized agency operators manage client business portfolios, Facebook Pages, Instagram placement eligibility, ad accounts, ad groups, ads, placements, reporting, and human-approved campaign changes.

App Signal
App ID 647183340477512
Business The Contractors Marketing
Token source Checking live access
Live API Loading

Requested access

Permission coverage map

Readiness status Checking Live readback endpoint must be ready before submission
Required permissions 0 / 5 ready business, Page, engagement, ads_read, and ads_management
ads_read insights Checking Usable spend, impressions, clicks, and reach rows
ads_management proof Checking Paused proof asset found by live readback
Marketing API tier Daily reads active Final dashboard check must show 500+ calls and no active warning
Proof write controls Code-gated One paused campaign proof rename; no delivery changes
business_management

Business asset validation

Purpose
Confirm the authorized business portfolio and assigned assets.
Test on this page
Business proof section
Live proof
Business, ad account, Page, and asset table readbacks.
Safety boundary
Readback only; no asset assignment changes from the page.
pages_show_list

Assigned Page selection

Purpose
List assigned Pages and bind the correct Page to ad identity.
Test on this page
Page list proof section
Live proof
Selected Page, masked Page ID, category, and tasks.
Safety boundary
No Page publishing or Page setting changes from the demo.
pages_read_engagement

Page health readback

Purpose
Read Page engagement context before campaign planning.
Test on this page
Page engagement proof
Live proof
Followers, fan count, talking-about count, and evidence log row.
Safety boundary
Read-only Page metrics; no organic Page content mutation.
ads_read

Ad reporting readback

Purpose
Read campaign objects and Ads Insights for reporting and audits.
Test on this page
Ads read proof section
Live proof
Spend, impressions, clicks, reach, campaigns, ads, and creatives.
Safety boundary
Reporting calls do not mutate delivery assets.
ads_management

Paused proof update

Purpose
Prepare and update client-approved paused ad workflow settings.
Live proof
Proof readiness and PAUSED/PAUSED readback.
Safety boundary
single configured PAUSED proof campaign, ad set, and ad; no status/budget/audience/creative/URL/placement/delivery change.
Marketing API Access Tier

API throughput proof

Signal has scheduled daily clean Marketing API reads. The final submission still must verify the 500-call volume gate and no active warning in Meta App Review.

System-user authorization context

Authorization and asset grant path

Signal is an internal agency operations app. It does not use a public consumer Facebook Login flow in this demo. Access is granted through Meta Business Manager by installing the app for the business, assigning assets to a system user, and issuing Signal-scoped system-user tokens.

App authorization Signal App ID 647183340477512
Token type Checking System user readback pending
Required scopes Checking business, Page, ads read, and ads management scopes
Assigned assets Checking Business Manager grants drive the internal console
Workflow step What Meta should see Why no public login appears
Business Manager grant System user is installed for the verified TCM business portfolio. System-user flow is server-to-server based.
Asset assignment Assigned Pages and ad accounts are read back from the API. Client assets are granted in Business Manager, not selected by a public user.
Permission proof Each requested permission is shown in the live evidence log. The demo uses app-scoped system-user tokens, never browser-exposed tokens.

Permission proof: business_management

Business portfolio and asset access

Loading redacted live Meta readbacks from the Signal app.

Business portfolio 1282278913857645 Waiting for system-user proof
Ad accounts Checking Signal system-user ad account readback
Pages Checking Requires Signal system-user token
Instagram Checking Checked for eligible placements
Asset Type Access check Workflow use
The Contractors Marketing Business portfolio Awaiting live readback Client identity, permissions, asset ownership
The Contractors Marketing Facebook Page ADVERTISE task Ad identity, Page posts, engagement context
TCM Demo Ad Account Ad account Read and manage Campaigns, ad groups, ads, reporting
Instagram placement inventory Instagram account Placement check Feed, Stories, Reels, Explore placement planning

Permission proof: pages_show_list

Business Manager assigned Page list

This pages_show_list proof uses the Pages assigned to the Signal system user in Meta Business Manager. The selected Page is then bound to ad identity, placement planning, and Page engagement checks before campaign setup.

TCM
Selected Page

The Contractors Marketing

Primary client Page used to validate Page access before campaign setup.

Permission proof: pages_read_engagement Checking Live Page metrics used before ad setup
Publishing identity Checking Mapped to eligible ad placements
Content source Signal How the app uses it
Facebook Page profile Page name, masked Page ID, category, tasks Confirm the Business Manager-assigned client Page before ad setup.
Page engagement metrics Followers, fans, talking-about count Validate the Page health signal before campaign setup.
Recent Page posts (optional) Recent post rows, if available Optional content context when the Page token returns post rows.
Instagram business account Account connection and placement eligibility Show whether Instagram placements can be used for ads.

Permission proof: ads_read

Campaign reporting and object readback

Permission proof: ads_read

ads_read
Spend Checking
Impressions Checking
Clicks Checking
Reach Checking

Loading campaign-level ads_read insight metrics from the authorized reporting proof account.

Campaign insight row Spend Impressions Clicks / reach
AgencyAI Proof $0.00 Checking Checking
Campaign object Status Object readback Relationship
AgencyAI Proof Paused Campaign object Related to campaign-level insight rows above

Permission proof: ads_management

ads_management
Placements
Live ads_management proof Waiting for paused ad readback
Needs proof

Public writes are blocked unless the private proof code is entered. The gated proof action can rename the parent PAUSED proof campaign and then reads the campaign, ad set, and ad back as PAUSED.

This action updates only the proof campaign name, then verifies PAUSED readback.

If this panel shows IN_PROCESS, wait for Meta to finish processing and click Open live readback until the campaign, ad set, and ad all show PAUSED/PAUSED. The proof action is blocked during processing so no delivery or spend can be triggered.

Meta Ads
Creative preview

Signal paused proof ad

Draft creative is created or updated only as PAUSED. The console shows the selected Page, destination URL, ad group, placements, and readback status.

Marketing API Access Tier + audit trail

Operations evidence log

API call target Final gate pending Daily scheduled reads are active; verify Meta's same-day dashboard gate before submission
Error-rate target Non-blocking Do not submit if Meta request edit shows a new warning
Mutation policy Paused proof only Proof action can rename one PAUSED proof campaign only
Live proof state Checking Waiting for API readback
Step Permission Operations evidence Safety control
1. Validate app token public_profile Signal app ID, operator identity, granted scopes Secrets are never exposed in the UI
2. Select business business_management Business portfolio and assigned assets read back Only authorized client assets are displayed
3. Select Page pages_show_list Business Manager-assigned Pages listed for the connected business Wrong Page selection blocks ad setup
4. Read Page engagement pages_read_engagement Page and content engagement is shown for planning Data is retained only for authorized workflow needs
5. Read campaigns ads_read Spend, impressions, clicks, reach, campaigns, ad sets, ads, and creatives read back Reporting views do not mutate delivery assets
6. Stage paused draft preview ads_management Campaign, ad group, creative, ad, URL, and placements are prepared Human approval and PAUSED status required
7. Run paused proof update ads_management Proof-code-gated server action renames the parent configured PAUSED proof campaign Name-only update; proof campaign, ad set, and ad must remain PAUSED