---
canonical_url: "https://docs.composio.dev/toolkits/iterate"
markdown_url: "https://docs.composio.dev/toolkits/iterate.md"
product: "platform"
version: null
last_updated: null
---

# Iterate

Iterate is a customer feedback platform for distributing surveys, analyzing responses, and managing company user privacy data.

- **Category:** forms & surveys
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 13
- **Triggers:** 0
- **Slug:** `ITERATE`
- **Version:** 00000000_00

## Tools

### Add Survey Recipient

**Slug:** `ITERATE_ADD_SURVEY_RECIPIENT`

Add one email recipient to a survey for a later send without sending the survey now.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Recipient email address. |
| `last_name` | string | No | Recipient last name. |
| `survey_id` | string | Yes | Survey ID to receive the recipient. |
| `first_name` | string | No | Recipient first name. |

#### 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 |

### Anonymize Company User

**Slug:** `ITERATE_ANONYMIZE_COMPANY_USER`

Irreversibly remove one Iterate user's email and attributes while retaining survey responses. Optionally also remove response properties. Requires an exact user ID and explicit confirm_anonymization=true.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | Exact Iterate user ID to anonymize, normally returned by Search Company Users. |
| `confirm_anonymization` | boolean | Yes | Must be the boolean value true to confirm irreversible removal of this user's identifying data. This confirmation is validated locally and is never sent to Iterate. |
| `include_response_properties` | boolean | No | Also irreversibly remove properties stored on the user's responses; defaults to false. |

#### 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 |

### Bulk Anonymize Company Users

**Slug:** `ITERATE_BULK_ANONYMIZE_COMPANY_USERS`

Irreversibly remove identifying data from every Iterate company user matching at least one explicit email, external-ID, or typed user-property selector while retaining survey responses. Requires confirm_bulk_anonymization=true.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `emails` | array | No | One or more email addresses selecting users to anonymize. |
| `external_ids` | array | No | One or more external user IDs selecting users to anonymize. |
| `user_properties` | array | No | One or more typed user-property matches selecting users to anonymize. |
| `confirm_bulk_anonymization` | boolean | Yes | Must be the boolean value true to confirm irreversible anonymization of every user matched by these selectors. This confirmation is validated locally and is never sent to Iterate. |
| `include_response_properties` | boolean | No | Also irreversibly remove properties stored on matching users' responses; defaults to false. |

#### 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 |

### Bulk Delete Company User Data

**Slug:** `ITERATE_BULK_DELETE_COMPANY_USER_DATA`

Permanently delete every matching Iterate company user and all matching users' survey responses using explicit non-empty selectors. This cannot be undone and requires confirm_bulk_permanent_deletion=true.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `emails` | array | No | Email addresses selecting users and responses for permanent deletion. |
| `external_ids` | array | No | External user IDs selecting users and responses for permanent deletion. |
| `user_properties` | array | No | Typed user-property matches selecting users and responses for deletion. |
| `confirm_bulk_permanent_deletion` | boolean | Yes | Must be the boolean value true to confirm permanent deletion of every matched user and survey response. It is validated locally and never sent to Iterate. |

#### 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 Company User Data

**Slug:** `ITERATE_DELETE_COMPANY_USER_DATA`

Permanently delete one Iterate user object and all of that user's survey responses. This cannot be undone and requires an exact user ID plus explicit confirm_permanent_deletion=true.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | Exact Iterate user ID whose object and responses will be permanently deleted, normally returned by Search Company Users. |
| `confirm_permanent_deletion` | boolean | Yes | Must be the boolean value true to confirm permanent deletion of this user and every associated survey response. This confirmation is validated locally and is never sent to Iterate. |

#### 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 Survey

**Slug:** `ITERATE_GET_SURVEY`

Return one survey's configuration and questions by survey ID. The action fails when Iterate embeds an error in an HTTP 200 response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `survey_id` | string | Yes | Survey ID returned by List Surveys. |

#### 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 Survey Stats

**Slug:** `ITERATE_GET_SURVEY_STATS`

Return delivery, display, response-count, and response-rate statistics for one survey.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `survey_id` | string | Yes | Survey ID whose aggregate statistics 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 |

### Import Survey Recipients

**Slug:** `ITERATE_IMPORT_SURVEY_RECIPIENTS`

Add a non-empty batch of email recipients to a survey without sending it, and return duplicate, failure, and success counts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `survey_id` | string | Yes | Survey ID to receive the imported recipients. |
| `recipients` | array | Yes | One or more recipients to add. Each recipient requires an email address and may include a first and last name. |

#### 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 Survey Response Groups

**Slug:** `ITERATE_LIST_SURVEY_RESPONSE_GROUPS`

Return one reverse-chronological page of completed survey submissions grouped by user, plus a continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation URL returned as next_cursor by the previous call; omit for the first page and pass it back unchanged. |
| `survey_id` | string | Yes | Survey ID whose completed user-grouped submissions to list. |

#### 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 Survey Responses

**Slug:** `ITERATE_LIST_SURVEY_RESPONSES`

Return one reverse-chronological page of individual answers for a survey, with an optional date range and continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor returned as next_cursor by the previous call; omit for the first page and pass it back unchanged. |
| `end_date` | number | No | Optional inclusive upper bound as a Unix timestamp. |
| `survey_id` | string | Yes | Survey ID whose individual responses to list. |
| `start_date` | number | No | Optional inclusive lower bound as a Unix timestamp. |

#### 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 Surveys

**Slug:** `ITERATE_LIST_SURVEYS`

Return all surveys available to the connected Iterate API key, including the survey and company IDs needed by other tools.

#### 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 |

### Search Company Users

**Slug:** `ITERATE_SEARCH_COMPANY_USERS`

Find one user in the connected Iterate company by email, external ID, or one typed user property and return survey participation totals.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | User email to match; use exactly one search selector. |
| `external_id` | string | No | External user ID to match; use exactly one search selector. |
| `user_property_name` | string | No | Custom user property name to match; supply user_property_value and no other selector. |
| `user_property_value` | string | No | Typed scalar value for user_property_name. Its JSON type must match the stored property type. |

#### 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 |

### Send Survey

**Slug:** `ITERATE_SEND_SURVEY`

Irreversibly send or schedule an email survey to one specified recipient or every previously added recipient. Requires an explicit audience and confirmation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Recipient email address. Required for single_recipient and forbidden for all_added_recipients. |
| `send_at` | string | No | Optional Unix timestamp at which to send, no more than 30 days in the future. Do not combine with delay_seconds. |
| `audience` | string ("single_recipient" | "all_added_recipients") | Yes | Explicitly choose one email address or every recipient already added to the survey. all_added_recipients may send many emails. |
| `last_name` | string | No | Optional last name for the single recipient. |
| `survey_id` | string | Yes | Survey ID to send. |
| `first_name` | string | No | Optional first name for the single recipient. |
| `confirm_send` | boolean | Yes | Must be true to confirm this externally visible, irreversible email send or schedule operation. |
| `custom_fields` | object | No | Optional custom user fields for a single recipient, keyed without the field_ prefix. Values must be strings, numbers, or booleans. |
| `delay_seconds` | string | No | Optional non-negative delay before sending, in seconds. Do not combine with send_at. |

#### 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 |
