Actions
Execute integration actions via the Weavz API.
Actions
Actions are operations performed against third-party services through their integrations. For example, sending a Slack message, creating a Google Sheet row, or fetching GitHub issues.
Execute Action
POST
/api/v1/actions/executeExecute an integration action with the provided input.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
integrationName | string | Yes | Integration name (e.g., slack, gmail) |
actionName | string | Yes | Action to execute (e.g., send_channel_message, send_email) |
input | object | No | Action input parameters (defaults to {}) |
connectionExternalId | string | No | External ID of the connection to use |
workspaceId | string (uuid) | Yes | Workspace scope for connection resolution |
endUserId | string | No | Your end-user's identifier. Used for per-user connection resolution. KV Store and Storage actions use this for end_user scope (the default) — set the scope input property to control data isolation. |
partialIds | string[] | No | Partial IDs to apply. If omitted, default partials auto-resolve. |
If connectionExternalId is not provided, the system resolves a connection based on the workspace's integration configuration when a workspaceId is supplied.
Response
json
{
"success": true,
"output": {
"ok": true,
"channel": "C0123456789",
"ts": "1234567890.123456",
"message": {
"text": "Hello from Weavz!"
}
}
}Example
bash
curl -X POST https://api.weavz.io/api/v1/actions/execute \
-H "Authorization: Bearer wvz_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"integrationName": "slack",
"actionName": "send_channel_message",
"input": {
"channel": "C0123456789",
"text": "Hello from Weavz!"
},
"connectionExternalId": "slack-main",
"workspaceId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}'Errors
| Status | Code | Description |
|---|---|---|
400 | VALIDATION_ERROR | Missing required fields |
400 | ACTION_FAILED | The action execution failed (error details in response) |
400 | CONNECTION_REQUIRED | Action requires a connection but none was found |
400 | CONNECTION_NOT_FOUND | Specified connection does not exist |
400 | INTEGRATION_NOT_FOUND | Integration not found |
403 | QUOTA_EXCEEDED | Monthly action limit reached |
Discovering Actions
Use the Integrations API to list available actions for each integration, including their input schemas and required properties.
bash
curl "https://api.weavz.io/api/v1/integrations?name=slack" \
-H "Authorization: Bearer wvz_your_api_key"The response includes an actions object with all available actions and their input property definitions.