Workflows

Workflows combine multiple API calls into a single, atomic operation. Use them to simplify common automation patterns.

Atomic Operations

Workflows are atomic: if any step fails, the entire workflow is rolled back. This prevents orphan inboxes or incomplete operations.

create-inbox-and-wait

The most common workflow. Creates a new inbox and immediately starts a wait for the expected email type.

bash
curl -X POST https://agentinbox.in/api/v1/workflows/create-inbox-and-wait \
-H "Authorization: Bearer $AgentInbox_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"waitType": "otp",
"timeoutSeconds": 120,
"ttlSeconds": 3600
}'
POST/api/v1/workflows/create-inbox-and-wait

Create an inbox and wait for an email in one atomic call

Parameters

NameTypeRequiredDescription
waitTypestringRequiredThe type of email to wait for (otp, magic_link, etc.).
timeoutSecondsintegerRequiredMaximum time to wait for the email.(default: 120)
ttlSecondsintegerOptionalTTL for the created inbox.(default: 3600)
metadataobjectOptionalOptional metadata for the created inbox.

Responses

HTTP 201
{
"inbox": {
"id": "inb_123",
"emailAddress": "k3v9x2m4q7tz@agentinbox.in",
"expiresAt": "2024-06-12T11:30:00Z"
},
"wait": {
"id": "wait_789",
"status": "completed",
"result": {
"type": "otp",
"value": "123456",
"confidence": 0.98
}
},
"session": {
"id": "sess_abc",
"name": "workflow-signup",
"status": "active"
}
}

signup

A complete signup workflow that creates an inbox, waits for a verification email, extracts the code or link, and returns everything needed to complete the signup.

bash
curl -X POST https://agentinbox.in/api/v1/workflows/signup \
-H "Authorization: Bearer $AgentInbox_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"waitType": "magic_link",
"timeoutSeconds": 300,
"ttlSeconds": 3600
}'

Workflow Response

All workflow responses include the created inbox, wait result, and optionally a session.

Workflow response
{
"inbox": {
"id": "inb_123",
"emailAddress": "k3v9x2m4q7tz@agentinbox.in",
"expiresAt": "2024-06-12T11:30:00Z"
},
"wait": {
"id": "wait_789",
"status": "completed",
"result": {
"type": "otp",
"value": "123456",
"confidence": 0.98
}
},
"session": {
"id": "sess_abc",
"name": "workflow-signup",
"status": "active"
}
}

When to Use Workflows

Atomic Operations

Create inbox and wait in one API call

Reduced Latency

No round-trip between create and wait

Simplified Code

Fewer lines for common patterns

Session Tracking

Workflows automatically create sessions

Next Steps