Skip to main content
Configure handoff and follow-up behavior in Onboard and configure and validate it in Test and evaluate. During operation, the agent, human-support workflow, and backend automation must not assume that they control the same thread at the same time.

Inspect conversation turns

Use conversation turns to investigate latency, errors, and the sequence of LLM and tool calls for one WhatsApp user. API reference: GET Get Conversation Turns
user_phone_number must contain the country code and digits only. Do not include a leading +, spaces, or separators. Timestamp boundaries are inclusive Unix epoch milliseconds. Do not combine before and after. Each turn requires conversation_id, turn_id, and steps. message_id is optional, and the response does not contain session_id. Each step has type LLM_CALL or TOOL_CALL and can have status SUCCESS, ERROR, or TIMEOUT. Continue pagination while paging.next is present, even when the current data array is empty or contains fewer items than limit.

Control a customer thread

Use pass, release, or take with the general thread-control endpoint. Provide to as an E.164 phone number or WhatsApp ID. metadata is optional and supports up to 2,000 characters. API reference: POST Control Thread
Releasing control stops the agent from responding in that thread. Conversation context can be lost when control later returns to the agent. The current REST surface does not expose an endpoint that reports the current thread owner, so your integration must track requested transitions and their outcomes.

Submit and track business events

Submit an event only while the agent controls the customer thread. API reference: POST Submit Agent Event · GET Get Agent Event Status
Retain agent_event_id from the response and poll GET Get Agent Event Status for processing state, timestamps, error_message, or skipped_reason. A successful submission confirms only that the event was accepted for asynchronous processing; it does not guarantee a customer-facing response. A skipped event can mean that the agent no longer controls the thread.

Inspect connector execution logs

Query GET List Connector Logs when a tool call fails or becomes slow. The response combines log entries with counts, success rate, and latency statistics. Connector log queries support a bounded time range. The current upstream limit is seven days. Check credential placement, certificate state, request bindings, and tool definitions before retrying a failing operation.

Handle failed requests safely

YCloud preserves the relevant upstream HTTP status and returns a safe error envelope instead of exposing raw upstream responses or credentials. When the upstream service does not return a usable error, YCloud can return MBA_UPSTREAM_UNAVAILABLE. Retry reads with bounded exponential backoff for 429, 500, and 502. Before retrying a create, update, delete, event, test, tool-run, credential, or multipart request, determine whether the original write already took effect. Record both request IDs and a sanitized request shape when escalating a repeated failure.

Plan for early-access limitations

The following behaviors are limitations, not guarantees of the YCloud REST contract:
  • Some eligibility failures appear as 500 instead of a stable ineligibility response.
  • Agent testing can depend on rollout and audience settings.
  • Conversation context may be lost after human handoff and return.
  • PDF or CSV tables may not be interpreted reliably.
  • The agent may not reliably send files or images to consumers.
  • MCP connectors are not available; use HTTP connectors and tools.
  • Billing and commercial behavior may change while the product is in early access.

Delete the agent when retiring the phone number

Send DELETE Delete Agent only when the agent should be removed from that WhatsApp Business phone number. A successful request returns HTTP 200 and can include deleted_agent_id when the upstream response supplies it. Deleting the agent is different from disabling rollout. Use rollout.enabled=false when you need a reversible pause.