Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 0 additions & 25 deletions apps/docs/components/icons.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5730,31 +5730,6 @@ export function McpIcon(props: SVGProps<SVGSVGElement>) {
)
}

export function A2AIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} viewBox='0 0 860 860' fill='none' xmlns='http://www.w3.org/2000/svg'>
<circle cx='544' cy='307' r='27' fill='currentColor' />
<circle cx='154' cy='307' r='27' fill='currentColor' />
<circle cx='706' cy='307' r='27' fill='currentColor' />
<circle cx='316' cy='307' r='27' fill='currentColor' />
<path
d='M336.5 191H162C97.66 191 45.5 243.16 45.5 307.5C45.5 371.84 97.64 424 161.99 424C206.55 424 256.29 424 296.5 424C487.5 424 374 191.01 569 191C613.89 191 658.97 191 698.03 191C762.37 191 814.5 243.16 814.5 307.5C814.5 371.84 762.34 424 698 424H523.5'
stroke='currentColor'
strokeWidth='48'
strokeLinecap='round'
/>
<path
d='M256 510C270.36 510 282 521.64 282 536C282 550.36 270.36 562 256 562H148C133.64 562 122 550.36 122 536C122 521.64 133.64 510 148 510H256ZM712 510C726.36 510 738 521.64 738 536C738 550.36 726.36 562 712 562H360C345.64 562 334 550.36 334 536C334 521.64 345.64 510 360 510H712Z'
fill='currentColor'
/>
<path
d='M444 628C458.36 628 470 639.64 470 654C470 668.36 458.36 680 444 680H100C85.64 680 74 668.36 74 654C74 639.64 85.64 628 100 628H444ZM548 628C562.36 628 574 639.64 574 654C574 668.36 562.36 680 548 680C533.64 680 522 668.36 522 654C522 639.64 533.64 628 548 628ZM760 628C774.36 628 786 639.64 786 654C786 668.36 774.36 680 760 680H652C637.64 680 626 668.36 626 654C626 639.64 637.64 628 652 628H760Z'
fill='currentColor'
/>
</svg>
)
}

export function WordpressIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.93 25.93'>
Expand Down
207 changes: 0 additions & 207 deletions apps/docs/content/docs/de/tools/a2a.mdx

This file was deleted.

130 changes: 130 additions & 0 deletions apps/docs/content/docs/en/integrations/a2a.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
---
title: A2A
description: Interact with external A2A-compatible agents
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard
type="a2a"
color="#4151B5"
/>

{/* MANUAL-CONTENT-START:intro */}
The A2A (Agent-to-Agent) protocol lets Sim call external AI agents that expose an A2A-compatible endpoint. Use it to connect your workflows to remote agents — LLM-powered bots, microservices, and other AI systems — through a standardized message format.

With the A2A block you can:

- **Send messages to external agents**: Pass prompts, structured data, or files to a remote agent and get its response.
- **Track and cancel tasks**: Poll the state of a long-running task or request its cancellation.
- **Discover capabilities**: Fetch an agent's Agent Card to inspect its skills, capabilities, and supported modes.

You need the external agent's endpoint URL and, if it requires authentication, an API key.
{/* MANUAL-CONTENT-END */}

## Usage Instructions

Use the A2A (Agent-to-Agent) protocol to call external AI agents over the latest A2A specification.

## Tools

### `a2a_send_message`

Send a message to an external A2A agent and return its response.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `agentUrl` | string | Yes | The A2A agent endpoint URL |
| `message` | string | Yes | The message text to send |
| `data` | string | No | Optional structured JSON data to attach \(JSON string or object\) |
| `files` | array | No | Files to attach, uploaded or referenced from a previous block |
| `taskId` | string | No | Existing task ID to continue |
| `contextId` | string | No | Conversation context ID to continue |
| `apiKey` | string | No | API key for authentication \(if required\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | Agent response text |
| `taskId` | string | Task identifier |
| `contextId` | string | Conversation/context identifier |
| `state` | string | Task lifecycle state: `submitted`, `working`, `input-required`, `auth-required`, `completed`, `failed`, `canceled`, or `rejected` |
| `artifacts` | array | Structured task output artifacts |

### `a2a_get_task`

Retrieve the current state and result of an A2A task.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `agentUrl` | string | Yes | The A2A agent endpoint URL |
| `taskId` | string | Yes | The task ID to retrieve |
| `historyLength` | number | No | Maximum number of history messages to include |
| `apiKey` | string | No | API key for authentication \(if required\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | Agent response text |
| `taskId` | string | Task identifier |
| `contextId` | string | Conversation/context identifier |
| `state` | string | Task lifecycle state |
| `artifacts` | array | Structured task output artifacts |

### `a2a_cancel_task`

Request cancellation of an in-progress A2A task.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `agentUrl` | string | Yes | The A2A agent endpoint URL |
| `taskId` | string | Yes | The task ID to cancel |
| `apiKey` | string | No | API key for authentication \(if required\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `taskId` | string | Task identifier |
| `state` | string | Task lifecycle state after cancellation |
| `canceled` | boolean | Whether the task reached the canceled state |

### `a2a_get_agent_card`

Fetch the Agent Card (discovery document) for an external A2A agent.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `agentUrl` | string | Yes | The A2A agent endpoint URL |
| `apiKey` | string | No | API key for authentication \(if required\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `name` | string | Agent display name |
| `description` | string | Agent description |
| `url` | string | Agent endpoint URL |
| `version` | string | The agent's own version |
| `protocolVersion` | string | A2A protocol version the agent exposes |
| `capabilities` | json | Agent capability flags |
| `skills` | array | Skills the agent can perform |
| `defaultInputModes` | array | Default accepted input media types |
| `defaultOutputModes` | array | Default produced output media types |

## Notes

- Category: `blocks`
- Type: `a2a`
- Send Message blocks until the agent reaches a terminal (`completed`, `failed`, `canceled`, `rejected`) or interrupted (`input-required`, `auth-required`) state. Use Get Task to poll a task you continue later, and branch on `state`.
- Task IDs are scoped to the external agent, not to Sim. Anyone who knows an agent URL and task ID can read or cancel that task unless the agent enforces its own authentication — set an API key for agents that require one.
2 changes: 1 addition & 1 deletion apps/docs/content/docs/en/integrations/logs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Query workflow run logs in the current workspace with the full Logs-page filter
| `workflowIds` | string | No | Comma-separated workflow IDs to filter by |
| `folderIds` | string | No | Comma-separated folder IDs to filter by \(descendants included\) |
| `level` | string | No | Comma-separated statuses: 'info', 'error', 'running', 'pending', 'cancelled'. Omit for all. |
| `triggers` | string | No | Comma-separated trigger types \(api, webhook, schedule, manual, chat, mcp, a2a, workflow, sim, …\) |
| `triggers` | string | No | Comma-separated trigger types \(api, webhook, schedule, manual, chat, mcp, workflow, sim, …\) |
| `startDate` | string | No | ISO 8601 timestamp; only runs at or after this time |
| `endDate` | string | No | ISO 8601 timestamp; only runs at or before this time |
| `search` | string | No | Free-text search across log fields |
Expand Down
1 change: 1 addition & 0 deletions apps/docs/content/docs/en/integrations/meta.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"pages": [
"index",
"a2a",
"agentmail",
"agentphone",
"agiloft",
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/content/docs/en/logs-debugging/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ The **Logs page** lists every run across your workspace, one row per run. The [L

### The run

Each row on the Logs page is one **run**. It records the **trigger** that started it (manual, api, schedule, chat, webhook, mcp, mothership, copilot, workflow, or a2a), a **status**, a **duration**, and the **cost** in credits. It also carries an **execution ID** that uniquely names the run.
Each row on the Logs page is one **run**. It records the **trigger** that started it (manual, api, schedule, chat, webhook, mcp, mothership, copilot, or workflow), a **status**, a **duration**, and the **cost** in credits. It also carries an **execution ID** that uniquely names the run.

The status shows the run's outcome at a glance, with failed runs badged **Error**. When you are hunting a failure, you filter the list to the errors and start there.

Expand Down
Loading
Loading