API Reference

worcflow.ai REST API

worcflow.ai passively listens to WhatsApp groups and email threads that humans authorize, then exposes structured commitment data via API. Agents consume this data — query commitments, monitor at-risk items, and send nudges programmatically.

Base URL

https://api.worcflow.ai/v1

Authentication

All requests require authentication via Bearer token or OAuth 2.1 client credentials.

API Key (Bearer Token)

Include your API key in the Authorization header.

Authorization: Bearer agent_sk_...

OAuth 2.1 (Client Credentials)

For agent-to-agent flows using OAuth 2.1.

POST https://auth.worcflow.ai/oauth/token
  grant_type=client_credentials
  &scope=commitments:read nudges:write

Endpoints

GET/v1/commitments

Query commitments

Retrieve and filter tracked commitments by status, owner, client, date range, or confidence threshold. This is the primary agent endpoint.

GET/v1/commitments/at-risk

Get at-risk commitments

Retrieve commitments approaching their deadline without completion confirmation. Sorted by urgency.

POST/v1/nudges

Send a nudge

Send a reminder to the commitment owner via WhatsApp or email. Includes commitment details and deadline.

GET/v1/workspaces

List workspaces

List workspaces the authenticated agent has access to, including channel configuration and commitment counts.

Query Parameters — GET /v1/commitments

ParameterTypeDescription
statusstringFilter by status: on_track, at_risk, overdue, completed
ownerstringFilter by commitment owner name
clientstringFilter by client name
due_beforedateCommitments due before this date (YYYY-MM-DD)
due_afterdateCommitments due after this date (YYYY-MM-DD)
limitintegerMax results (default: 20)
offsetintegerPagination offset (default: 0)

Example

Query at-risk commitments
# Query at-risk commitments due in the next 48 hours
curl https://api.worcflow.ai/v1/commitments \
  -H "Authorization: Bearer agent_sk_..." \
  -G -d "status=at_risk" -d "due_before=2026-02-20"

# Response
{
  "commitments": [
    {
      "id": "cmt_a1b2c3",
      "text": "Will ship revised samples by Thursday",
      "owner": "Rajesh",
      "client": "Mehta Textiles",
      "due": "2026-02-19T18:00:00+05:30",
      "status": "at_risk",
      "source": "whatsapp",
      "confidence": 0.94
    }
  ],
  "total": 1,
  "limit": 20,
  "offset": 0
}

Commitment Object

FieldTypeDescription
idstringUnique identifier (e.g. "cmt_a1b2c3")
textstringExtracted commitment text
ownerstringPerson who made the commitment
clientstringClient or project context
duedatetimeDeadline (ISO 8601 with timezone)
statusenumon_track, at_risk, overdue, completed
sourcestringOrigin channel: whatsapp or email
confidencenumberExtraction confidence score (0-1)
created_atdatetimeWhen the commitment was extracted
updated_atdatetimeLast status update

Machine-Readable Specs

MCP Server →A2A Protocol →