# Tally

Tally is a form-building platform that allows users to create forms, collect responses, and integrate with various tools and services.

- **Category:** forms & surveys
- **Auth:** API_KEY, OAUTH2
- **Composio Managed App Available?** No
- **Tools:** 18
- **Triggers:** 0
- **Slug:** `TALLY`
- **Version:** 20260316_00

## Tools

### Create Form

**Slug:** `TALLY_CREATE_FORM`

Tool to create a new form. Use after preparing block definitions and optional settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Title of the form. |
| `blocks` | array | Yes | Ordered list of blocks that make up the form (content blocks, question blocks, and child/option blocks). Each block object includes: uuid, type, groupUuid, groupType, payload. |
| `status` | string ("BLANK" | "PUBLISHED") | Yes | Form status: BLANK or PUBLISHED. This field is required by the API. BLANK forms are inaccessible to users; use PUBLISHED for public access. |
| `settings` | object | No | Optional form appearance and behavior settings. |
| `templateId` | string | No | Template ID to base the form on. |
| `workspaceId` | string | No | Workspace ID to create the form under. The API expects 'workspace_id' (snake_case), not 'workspaceId' (camelCase). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Webhook

**Slug:** `TALLY_CREATE_WEBHOOK`

Tool to create a new webhook for a form. Use after confirming you have the form ID and the callback URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | Callback endpoint URL for webhook notifications. Must be a publicly reachable HTTPS endpoint. FORM_RESPONSE events may be retried, so the handler should process payloads idempotently. |
| `formId` | string | Yes | ID of the form to associate with the webhook. |
| `eventTypes` | array | No | List of event types that trigger the webhook. Currently only 'FORM_RESPONSE' is supported. |
| `httpHeaders` | array | No | Optional list of custom HTTP headers to send with each webhook call. |
| `signingSecret` | string | No | Optional secret used to sign payloads for verification. |
| `externalSubscriber` | string | No | Optional external identifier for the subscriber. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Form

**Slug:** `TALLY_DELETE_FORM`

Tool to delete a specific form identified by its ID. Use after confirming the form should be permanently removed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `formId` | string | Yes | The unique identifier of the form to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Webhook

**Slug:** `TALLY_DELETE_WEBHOOK`

Tool to delete a specific webhook. Use after confirming the webhook ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhookId` | string | Yes | Unique identifier of the webhook to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Form Details

**Slug:** `TALLY_GET_FORM_DETAILS`

Tool to retrieve details of a specific form. Use when you need comprehensive form metadata by ID. Use after confirming the form ID to fetch its full configuration, blocks, and stats.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `formId` | string | Yes | The unique identifier of the form to retrieve details for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Form Responses

**Slug:** `TALLY_GET_FORM_RESPONSES`

Tool to retrieve the responses of a specific form. Use after confirming the form ID and when paginated data is needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (>=1). |
| `limit` | integer | No | Number of submissions per page (>=1). |
| `formId` | string | Yes | The unique identifier of the form to retrieve responses for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Info

**Slug:** `TALLY_GET_USER_INFO`

Tool to retrieve information about the authenticated user. Use when you need to confirm account-level details before proceeding. Returns account/workspace context only — not form-level access; follow up with TALLY_LIST_FORMS to verify form access. Confirm the returned workspace and user context match the intended account before creating or modifying resources, as acting on the wrong context places resources in an unintended account. Do not expose sensitive response fields (e.g., tokens) in user-visible output.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Webhook Events

**Slug:** `TALLY_GET_WEBHOOK_EVENTS`

Tool to list events associated with a specific webhook. Use when you need to inspect delivery history after creating or listing a webhook.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, must be >= 1 |
| `webhookId` | string | Yes | Unique identifier of the webhook to list events for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Workspace

**Slug:** `TALLY_GET_WORKSPACE`

Tool to retrieve a single workspace by its ID with associated members. Use when you need to get detailed information about a specific workspace.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `workspaceId` | string | Yes | The unique identifier of the workspace to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Form Questions

**Slug:** `TALLY_LIST_FORM_QUESTIONS`

Tool to retrieve all questions from a specific form. Use when you need to list all questions and their structure after obtaining the form ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `formId` | string | Yes | The unique identifier of the form to retrieve questions for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Forms

**Slug:** `TALLY_LIST_FORMS`

Tool to retrieve a paginated list of forms. Use when you need to list all forms accessible to the authenticated user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (>=1). Increment to iterate through all pages when total forms exceed one page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Organization Invites

**Slug:** `TALLY_LIST_ORGANIZATION_INVITES`

Tool to retrieve all pending invites in your organization. Use when you need to view or manage organization invitation status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organizationId` | string | Yes | The ID of the organization to retrieve invites for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Organization Users

**Slug:** `TALLY_LIST_ORGANIZATION_USERS`

Tool to retrieve all users in an organization. Use when you need to list organization members or check user permissions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organizationId` | string | Yes | The ID of the organization to retrieve users from |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Webhooks

**Slug:** `TALLY_LIST_WEBHOOKS`

Tool to retrieve a paginated list of configured webhooks. Use when you need a full listing of webhooks across your accessible forms and workspaces.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (>=1). |
| `limit` | integer | No | Number of webhooks per page (1-100). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Workspaces

**Slug:** `TALLY_LIST_WORKSPACES`

Tool to retrieve a paginated list of workspaces. Use when you need to browse workspaces accessible to the authenticated user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (>=1). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Form

**Slug:** `TALLY_UPDATE_FORM`

Tool to update form details. Use after confirming the form exists and obtaining its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the form. |
| `blocks` | array | No | Updated ordered list of blocks defining the form content. |
| `formId` | string | Yes | The unique identifier of the form to update. |
| `status` | string ("BLANK" | "PUBLISHED") | No | New status of the form. |
| `settings` | object | No | Optional appearance and behavior settings for a form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Webhook

**Slug:** `TALLY_UPDATE_WEBHOOK`

Tool to update an existing webhook configuration. Use when you need to modify webhook settings such as URL, event types, or enable/disable status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | Callback endpoint URL for webhook notifications. |
| `formId` | string | Yes | ID of the form to associate with the webhook. |
| `isEnabled` | boolean | Yes | Whether the webhook should be enabled or disabled. |
| `webhookId` | string | Yes | Unique identifier of the webhook to update. |
| `eventTypes` | array | Yes | List of event types that trigger the webhook. Currently only 'FORM_RESPONSE' is supported. |
| `httpHeaders` | array | No | Optional list of custom HTTP headers to send with each webhook call. |
| `signingSecret` | string | No | Optional secret used to sign payloads for verification. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Workspace

**Slug:** `TALLY_UPDATE_WORKSPACE`

Tool to update the details of a specific workspace identified by its ID. Use when you need to rename a workspace after confirming the workspace ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new name for the workspace. |
| `workspaceId` | string | Yes | The unique identifier of the workspace to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
