Quickstart
Integrate in four steps.
This is the shortest path from a project to a live support loop. If you want the full contract, use the integration guide.
1. Register the callback URL
Store the partner callback URL and signing secret for the workspace first.
PUT https://api.supportforagents.app/v1/workspaces/{workspace_id}/webhook-settings 2. Get OAuth credentials
Use the authorization-code + PKCE flow with a per-project client_id.
GET https://auth.supportforagents.app/oauth/authorize
response_type=code
code_challenge_method=S256
redirect_uri=https://profitroost.com POST https://auth.supportforagents.app/oauth/token
grant_type=authorization_code
code_verifier=...
redirect_uri=https://profitroost.com Token responses include access_token, refresh_token, expires_in, scope, and workspace_id.
3. Receive webhook events
Your handler receives signed events at your callback URL. Verify HMAC before processing.
X-SFA-Signature: <hex-hmac>
X-SFA-Timestamp: <unix-seconds> 4. Read the queue and resolve approvals
Use the inbox and approval endpoints to show humans what needs action.
GET /v1/inboxes/{inbox_id}/pending-approvals
POST /v1/approvals/{approval_id}/approve
POST /v1/approvals/{approval_id}/reject 5. Call the MCP tool when approval is needed
Use your proxy to call the outbound approval tool and resolve the review state explicitly.
POST https://api.supportforagents.app/mcp
tools/call → resolve_approval 6. Keep the loop human-safe
Approve, reject, or edit the body with full traceability. The workflow is meant to be easy to explain to a teammate in one sentence.
Decision shape
Small and explicit
ticket_id, reply_id, decision, optional edited_body, optional reason, and an auto flag.
Operational feel
One project, one scope
Keep the blast radius small and the mental model clean.