# Refiner

Refiner is a customer feedback and survey tool designed to help businesses collect and analyze user insights.

- **Category:** forms & surveys
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 10
- **Triggers:** 0
- **Slug:** `REFINER`
- **Version:** 20260227_00

## Tools

### Delete Contact

**Slug:** `REFINER_DELETE_CONTACT`

Tool to delete a specific contact by its identifier. Provide either the user ID or email address to identify and delete the contact.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Your user ID that was used when the contact was created. This is the primary identifier for the contact. |
| `email` | string | No | The email address of the contact to delete. Can be used as an alternative to id. |

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

**Slug:** `REFINER_GET_ACCOUNT_INFO`

Retrieves Refiner account information including subscription plan, usage limits, and environment statistics. This action provides: - Current subscription plan and usage limits (MTU, MTE, MPV, MSR) - Usage counters for monthly tracked users, events, page views, and survey responses - Per-environment breakdown of usage statistics - Last updated timestamps for all usage metrics Use this when you need to check account status, monitor usage against limits, or audit environment statistics.

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

**Slug:** `REFINER_GET_CONTACT`

Retrieve detailed information about a specific contact using their ID, email, or UUID. Returns all stored attributes, segments, and account information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Your user ID used when the contact was created. |
| `uuid` | string | No | Refiner-generated UUID of the contact. |
| `email` | string | No | Email address of the contact. |

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

**Slug:** `REFINER_GET_CONTACTS`

Tool to retrieve a list of contacts from your Refiner account. Use when you need to filter or paginate through contacts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, must be >= 1. |
| `search` | string | No | Filter by contact email, ID, or name. |
| `order_by` | string ("first_seen_at" | "last_seen_at" | "last_form_submission_at") | No | Order contacts by this field. |
| `form_uuid` | string | No | Filter contacts by survey UUID. |
| `page_cursor` | string | No | Cursor for fetching next page in large result sets. |
| `page_length` | integer | No | Number of items per page (max 1000). |
| `segment_uuid` | string | No | Filter contacts by segment UUID. |

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

**Slug:** `REFINER_GET_FORMS`

Tool to retrieve a list of forms (surveys) from your Refiner account with optional filtering and pagination. Use when you need to list surveys by state, page, or include extra info/config.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list` | string ("all" | "published" | "drafts" | "archived" | "all_with_archived") | No | Which surveys to include by state. One of: all, published, drafts, archived, all_with_archived. |
| `page` | integer | No | Page number for pagination, must be >=1. |
| `page_length` | integer | No | Number of items per page (max 1000). |
| `include_info` | boolean | No | If True, include additional meta data (timestamps, counts, folder, page_url). |
| `include_config` | boolean | No | If True, include full survey configuration and elements. |

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

**Slug:** `REFINER_GET_REPORTING`

Tool to retrieve aggregated reporting data for surveys including metrics and analytics. Use when you need survey analytics over a time range filtered by type, question identifiers, tags, forms, or segments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("nps" | "csat" | "ratings" | "distribution" | "count") | Yes | Type of report to generate. One of 'nps', 'csat', 'ratings', 'distribution', or 'count'. |
| `tag_uuids` | array | No | Only include data points linked to these tag UUIDs. NOTE: This parameter may not be supported by the current API version. |
| `form_uuids` | array | No | Only include data points from these form (survey) UUIDs. NOTE: This parameter may not be supported by the current API version. |
| `segment_uuids` | array | No | Only include data points for users in these segment UUIDs. NOTE: This parameter may not be supported by the current API version. |
| `date_range_end` | string | No | ISO8601 timestamp (e.g. 'YYYY-MM-DDThh:mm:ssZ') to end date range. Only data before this time is counted. |
| `date_range_start` | string | No | ISO8601 timestamp (e.g. 'YYYY-MM-DDThh:mm:ssZ') to start date range. Only data on or after this time is counted. |
| `question_identifiers` | array | No | Only include data points for these question identifiers. If omitted, all matching questions are included. NOTE: This parameter may not be supported by the current API version. |

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

**Slug:** `REFINER_GET_RESPONSES`

Tool to retrieve all survey responses from your Refiner account with optional filtering and pagination. Use after confirming survey creation to pull response data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. Must be >=1. Default is 1. |
| `search` | string | No | Search by contact user ID, response UUID, email, or name. |
| `include` | string ("completed" | "partials" | "all") | No | Which responses to include: completed, partials, or all. |
| `form_uuid` | string | No | Filter responses by a single survey form UUID. |
| `form_uuids` | array | No | Filter responses by multiple survey form UUIDs. |
| `page_cursor` | string | No | Cursor token for next page; use pagination.next_page_cursor. |
| `page_length` | integer | No | Items per page. Default is 50; maximum is 1000. |
| `segment_uuid` | string | No | Filter responses by a single segment UUID. |
| `segment_uuids` | array | No | Filter responses by multiple segment UUIDs. |
| `date_range_end` | string | No | ISO-8601 end date (exclusive) for last_data_reception_at. |
| `with_attributes` | boolean | No | If true, include full contact attributes (API expects 1 or 0). |
| `date_range_start` | string | No | ISO-8601 start date (inclusive) for last_data_reception_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 |

### Get Segments

**Slug:** `REFINER_GET_SEGMENTS`

Tool to retrieve a list of user segments from your Refiner account. Use when you need to view or paginate segments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, must be >= 1. |
| `page_cursor` | string | No | Cursor for fetching next page in large result sets. |
| `page_length` | integer | No | Number of items per page (max 1000). |

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

### Track Event

**Slug:** `REFINER_TRACK_EVENT`

Tool to record a user event by name for a user identified via user ID or email. Use after confirming the identifier and event name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Refiner user ID. Required if email is not provided. |
| `email` | string | No | User email address. Required if id is not provided. |
| `event` | string | Yes | Name of the event to track for the specified user. |

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

**Slug:** `REFINER_UPDATE_CONTACT`

Tool to create or update a contact's attributes or account. Identifies a contact by `id` or `email` and updates their traits or account grouping. If the contact doesn't exist, it will be created automatically.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Your internal user ID. Required if email is not provided. |
| `email` | string | No | User email address. Required if id is not provided. |
| `account` | object | No | Nested account object for grouping users. Must include an `id` field; additional traits allowed. |
| `attributes` | object | No | Traits to update (key=trait slug). Values: string (<=255 chars), integer, or boolean. Date-time strings accepted for keys ending with `_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 |
