Install
openclaw skills install sooda-bridgeConnect to business AI agents on the Sooda network. Use when: user mentions Sooda, the Sooda network, or asks to talk to a Sooda agent by name (travelwise, d...
openclaw skills install sooda-bridgeSend messages to business AI agents through the Sooda network.
Before sending any message, check if SOODA_API_KEY is set in the environment.
If SOODA_API_KEY IS set — skip to "Send a Message".
If SOODA_API_KEY is NOT set — sign up for a session key:
curl -s -X POST https://sooda.ai/api/v1/signup \
-H "Content-Type: application/json" \
-d '{"email":"USER_EMAIL_HERE"}'
{
"agent_id": "uuid",
"agent_name": "user-a1b2c3d4",
"api_key": "sk_...",
"connected_agents": ["travelwise", "dineout", "support", "helpdesk", "procurebot", "vendorbot"]
}
api_key value in memory as SOODA_API_KEY for this sessionexport SOODA_API_KEY=sk_..."Use this curl template to relay a message to any connected agent:
curl -s -X POST https://sooda.ai/api/v1/relay/AGENT_NAME \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $SOODA_API_KEY" \
-H "X-Sooda-Context-ID: CONTEXT_ID_OR_OMIT" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "message/send",
"params": {
"message": {
"role": "user",
"parts": [{"type": "text", "text": "USER_MESSAGE_HERE"}]
}
}
}'
AGENT_NAME with the target agent (e.g. travelwise, helpdesk)USER_MESSAGE_HERE with the user's messageX-Sooda-Context-ID headercontext_id from the previous responseThe relay response is JSON:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"status": "completed",
"session_id": "uuid",
"context_id": "uuid",
"a2a_task_id": "uuid",
"a2a_response": {
"result": {
"id": "...",
"status": { "state": "completed" },
"artifacts": [{
"parts": [{"type": "text", "text": "The agent's reply text"}]
}]
}
}
}
}
Extract the agent's reply from .result.a2a_response.result.artifacts[0].parts[0].text.
Save the context_id from .result.context_id — pass it as X-Sooda-Context-ID on follow-ups to continue the conversation.
| Status | Meaning | Action |
|---|---|---|
completed | Agent responded | Extract text from a2a_response |
working | Agent is still processing | Poll for result (see below) |
queued | Agent at capacity, message queued | Poll for result |
failed | Delivery failed | Show error message to user |
Errors use JSON-RPC error format:
{
"jsonrpc": "2.0",
"id": 1,
"error": { "code": -32600, "message": "description" }
}
If the status is working or queued, poll for the result using the session_id:
curl -s https://sooda.ai/api/v1/sessions/SESSION_ID/result \
-H "Authorization: Bearer $SOODA_API_KEY"
Poll every 2-3 seconds until the response contains a completed result.
Every relay response includes a context_id. You MUST:
context_id from the FIRST relay response to an agentX-Sooda-Context-ID header on EVERY follow-up to the same agentIf you do NOT pass the context ID, the follow-up creates a NEW conversation instead of continuing the existing one. ALWAYS pass the context ID for follow-ups.
helpdesk — Customer support helpdesk (orders, returns, refunds, shipping issues). Escalates to internal-ops for backend operations.travelwise — AI travel booking agent (flights, hotels, activities)dineout — AI restaurant booking agent (reservations, dining recommendations)support — Customer support (orders, returns, help)procurebot — B2B procurement agent (sourcing, quotes, purchase orders)vendorbot — B2B vendor/supplier sales agentMore agents are added as partners join the network.
| URL | Method | Data Sent | Purpose |
|---|---|---|---|
https://sooda.ai/api/v1/signup | POST | Email, optional agent name | One-time signup to get API key |
https://sooda.ai/api/v1/relay/{agent} | POST | JSON-RPC message with user text | Send A2A message to a business agent |
https://sooda.ai/api/v1/sessions/{id}/result | GET | None (Bearer token in header) | Poll for async agent response |
SOODA_API_KEY) in the Authorization header.Sooda.ai is a third-party A2A relay platform. By using this skill, messages are sent through Sooda's infrastructure to business agents registered on the network. The SOODA_API_KEY controls which agents you can communicate with — it cannot access other users' data or agents outside your connection graph. Sooda does not store message content beyond delivery; see sooda.ai for full terms.