Conversations
Follow-ups
Schedule and manage follow-up tasks with your customers
List follow-ups
GET
/v1/follow-ups
Returns a paginated list of follow-ups. You can filter by status, type, agent or customer.
| Field | Type | Required | Description |
|---|---|---|---|
status | string | No | Filter by status: pending, completed, overdue |
type | string | No | Filter by type: call, message, whatsapp, email, meeting, task |
user_id | uuid | No | Filter by assigned agent |
customer_id | uuid | No | Filter by customer |
limit | integer | No | Results per page (default: 20) |
Request example
curl https://recaudo.app/api/v1/follow-ups?status=pending \
-H "Authorization: Bearer sk_live_tu_secret_key" \
-H "Content-Type: application/json"
Response
{
"object": "list",
"data": [
{
"id": "01234567-89ab-cdef-0123-456789abcdef",
"title": "Llamar para confirmar pago",
"description": "El cliente solicitó una llamada de seguimiento",
"status": "pending",
"type": "call",
"scheduled_at": "2026-04-10T14:00:00Z",
"completed_at": null,
"customer": {
"id": "uuid-del-cliente",
"name": "Juan Pérez",
"phone": "+5215512345678"
},
"user": {
"id": "uuid-del-agente",
"name": "María López"
},
"created_at": "2026-04-08T10:00:00Z",
"updated_at": "2026-04-08T10:00:00Z"
}
],
"total": 15
}
Create follow-up
POST
/v1/follow-ups
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Follow-up title (max 255 chars) |
description | string | No | Description or additional notes |
customer_id | uuid | No | UUID of the associated customer |
conversation_id | uuid | No | UUID of the associated conversation |
user_id | uuid | No | UUID of the assigned agent |
scheduled_at | datetime | Yes | Scheduled date and time (ISO 8601) |
type | string | No | call, message, whatsapp, email, meeting, task |
Request example
curl -X POST https://recaudo.app/api/v1/follow-ups \
-H "Authorization: Bearer sk_live_tu_secret_key" \
-H "Content-Type: application/json" \
-d '{
"title": "Llamar para confirmar pago",
"description": "El cliente pidió que le llamemos el jueves",
"customer_id": "uuid-del-cliente",
"user_id": "uuid-del-agente",
"scheduled_at": "2026-04-10T14:00:00Z",
"type": "call"
}'
Response — 201 Created
{
"object": "follow_up",
"data": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"title": "Llamar para confirmar pago",
"description": "El cliente pidió que le llamemos el jueves",
"status": "pending",
"type": "call",
"scheduled_at": "2026-04-10T14:00:00Z",
"completed_at": null,
"customer": {
"id": "uuid-del-cliente",
"name": "Juan Pérez"
},
"user": {
"id": "uuid-del-agente",
"name": "María López"
},
"created_at": "2026-04-08T10:00:00Z"
}
}
Complete follow-up
POST
/v1/follow-ups/{'{id}'}/complete
Marks a follow-up as completed. Optionally you can add notes.
| Field | Type | Required | Description |
|---|---|---|---|
notes | string | No | Notes about the resolution |
Request example
curl -X POST https://recaudo.app/api/v1/follow-ups/{id}/complete \
-H "Authorization: Bearer sk_live_tu_secret_key" \
-H "Content-Type: application/json" \
-d '{ "notes": "Cliente confirmó que realizará el pago mañana" }'
Response
{
"object": "follow_up",
"data": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"title": "Llamar para confirmar pago",
"status": "completed",
"completed_at": "2026-04-08T15:30:00Z",
"notes": "Cliente confirmó que realizará el pago mañana"
}
}
Reschedule follow-up
POST
/v1/follow-ups/{'{id}'}/reschedule
Changes the scheduled date of a pending follow-up.
| Field | Type | Required | Description |
|---|---|---|---|
scheduled_at | datetime | Yes | New scheduled date and time (ISO 8601) |
Request example
curl -X POST https://recaudo.app/api/v1/follow-ups/{id}/reschedule \
-H "Authorization: Bearer sk_live_tu_secret_key" \
-H "Content-Type: application/json" \
-d '{ "scheduled_at": "2026-04-12T10:00:00Z" }'
Response
{
"object": "follow_up",
"data": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"title": "Llamar para confirmar pago",
"status": "pending",
"scheduled_at": "2026-04-12T10:00:00Z"
}
}
Was this page helpful?
Thanks for letting us know.