Agency reporting and client separation
Monitor follow-up opportunities without leaking client conversations.
Agency: one dashboard per workspace
Scenario: An agency manages multiple clients or brands and wants to report unanswered conversations without mixing data.
Recommended design
- Organize client mailboxes into separate Nudge workspaces.
- Create a separate developer API key for each client's automation. Restrict the key to that workspace.
- Give reporting jobs only
nudge.mailboxes.readandnudge.conversations.read. - Run a scheduled report using
GET /api/v1/workspaces,GET /api/v1/mailboxesandGET /api/v1/opportunities?workspaceId=.... - Aggregate counts and statuses only for the workspace authorized by that key.
Security
Never reuse one global unrestricted key across independent client automations. Even if a user can access several workspaces, least-privilege keys make mistakes less likely. Revoking one key should not disrupt other integrations.
Example call
curl -G "https://app.nudgeforme.com/api/v1/opportunities" \
-H "Authorization: Bearer YOUR_WORKSPACE_RESTRICTED_KEY" \
--data-urlencode "workspaceId=WORKSPACE_ID" \
--data-urlencode "limit=50"
Reporting ideas
- Number of open follow-up opportunities.
- Drafts waiting for review.
- Watched threads by status.
- Changes since the previous weekly report, calculated in your reporting system.
The REST API does not create a webhook subscription or write back to agency dashboards automatically. Use your scheduler or n8n to pull results.