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

# Reteno

Reteno is a customer engagement platform for managing contacts, behavioral events, messaging campaigns, and omnichannel communications.

- **Category:** marketing automation
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 14
- **Triggers:** 0
- **Slug:** `RETENO`
- **Version:** 00000000_00

## Tools

### Get Account Balance

**Slug:** `RETENO_GET_ACCOUNT_BALANCE`

Return monetary balance, credit limit, currency, and remaining prepaid email and SMS quotas for the connected Reteno account.

#### 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:** `RETENO_GET_ACCOUNT_INFO`

Return the Reteno organization and API user associated with the connected account. Use this to verify which account subsequent operations affect.

#### 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:** `RETENO_GET_CONTACT`

Return the full Reteno profile for one contact identified by its internal contact ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | integer | Yes | Reteno internal contact ID, obtainable from Search Contacts. |

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

**Slug:** `RETENO_GET_CONTACT_IMPORT_STATUS`

Return the current state and resulting contact IDs for an asynchronous Reteno contact import started by Upsert Contacts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `session_id` | string | Yes | Asynchronous session ID returned by Upsert Contacts. |

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

**Slug:** `RETENO_LIST_ADDRESS_BOOKS`

Return Reteno contact address books and their assigned field groups and fields.

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

**Slug:** `RETENO_LIST_CONTACT_FIELDS`

List custom contact fields, their field IDs and keys, data types, allowed values, and validation metadata.

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

**Slug:** `RETENO_LIST_CONTACT_MESSAGES`

Return one page of a contact's email, SMS, push, web push, or App Inbox message history for a required date range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Contact email address. Provide exactly one contact selector. |
| `phone` | string | No | Contact phone number. Provide exactly one contact selector. |
| `cursor` | string | No | Opaque continuation cursor from a previous response. Omit for the first page. |
| `date_to` | string | Yes | End of the history period in YYYY-MM-DD or YYYY-MM-DDTHH:mm format. |
| `max_rows` | integer | No | Maximum history items in this page (1-100). |
| `date_from` | string | Yes | Start of the history period in YYYY-MM-DD or YYYY-MM-DDTHH:mm format. |
| `contact_id` | integer | No | Reteno internal contact ID. Provide exactly one contact selector. |
| `channel_types` | array | No | Optional channel filters: email, sms, mobilepush, webpush, or appinbox. |
| `external_customer_id` | string | No | External customer ID. Provide exactly one contact selector. |

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

**Slug:** `RETENO_LIST_CONTACTS`

List one bounded page of Reteno contacts. Optionally filter by external customer ID, email, phone, or name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Email address to match. |
| `phone` | string | No | SMS phone number to match. |
| `cursor` | string | No | Opaque continuation cursor from a previous response. Omit for the first page. |
| `max_rows` | integer | No | Maximum contacts in this page (1-500). Keep this bounded because contacts may contain personal data. |
| `last_name` | string | No | Contact last name to match. |
| `first_name` | string | No | Contact first name to match. |
| `sort_by_contact_id` | boolean | No | Sort an unfiltered scan by contact ID for stable bulk traversal. |
| `external_customer_id` | string | No | Exact external customer ID to match. |

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

**Slug:** `RETENO_LIST_SEGMENTS`

Search Reteno contact segments by name and return one bounded page with segment IDs and types.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Optional segment name filter. |
| `cursor` | string | No | Opaque continuation cursor from a previous response. Omit for the first page. |
| `max_rows` | integer | No | Maximum segments in this page (1-500). |

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

**Slug:** `RETENO_LIST_SUBSCRIPTION_CATEGORIES`

List the organization's contact subscription categories and the keys used to manage communication preferences.

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

**Slug:** `RETENO_LIST_WORKFLOWS`

Search Reteno automation workflows by name and return their IDs, status, and tags.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Optional workflow name filter. |
| `cursor` | string | No | Opaque continuation cursor from a previous response. Omit for the first page. |
| `max_rows` | integer | No | Maximum workflows in this page (1-500). |

#### 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:** `RETENO_TRACK_EVENT`

Send one non-retractable backend event for an identified contact. A new event type key is created after Reteno accepts its first event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Contact email address. Provide at least one contact identifier. |
| `phone` | string | No | Contact phone number. Provide at least one contact identifier. |
| `contact_id` | integer | No | Reteno internal contact ID. Provide at least one contact identifier. |
| `push_token` | string | No | Web or mobile push token. Provide at least one contact identifier. |
| `event_type_key` | string | Yes | Reteno event type key. A new key creates an event type after Reteno accepts the first event. |
| `event_parameters` | object | No | Optional event-specific parameters required by this event type. Values may be strings, numbers, booleans, or nested objects and arrays (for example cart line items). Do not include contact identifiers here. |
| `external_customer_id` | string | No | External customer ID. Provide at least one contact identifier; this is the recommended identifier. |

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

### Upsert Contact

**Slug:** `RETENO_UPSERT_CONTACT`

Create or update a Reteno contact in real time and return its Reteno contact ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | array | No | Custom field values to set on the contact. |
| `address` | object | No | Contact postal address. |
| `channels` | array | No | Contact channels, each containing a type and value. Provide this or external_customer_id; at least one is required. |
| `last_name` | string | No | Contact last name (maximum 40 characters and 3 digits). Use letters; Reteno permits apostrophes and hyphens only within words and a trailing period only on a word of up to 3 characters. |
| `market_id` | string | No | Market or region identifier using letters, numbers, hyphen, or underscore (maximum 64 characters). |
| `time_zone` | string | No | IANA contact time zone, for example Europe/London. |
| `first_name` | string | No | Contact first name (maximum 40 characters and 3 digits). Use letters; Reteno permits apostrophes and hyphens only within words and a trailing period only on a word of up to 3 characters. |
| `language_code` | string | No | Contact language code. |
| `address_book_id` | integer | No | Address book ID from List Address Books. |
| `external_customer_id` | string | No | Stable contact ID from your system. Provide this or channels; at least one is required. Recommended for deterministic upserts. |

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

### Upsert Contacts

**Slug:** `RETENO_UPSERT_CONTACTS`

Create or update 1-3000 Reteno contacts asynchronously using one explicit deduplication strategy. Returns an import session ID and immediate failures.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contacts` | array | Yes | Contacts to create or update asynchronously (1-3000). |
| `field_id` | integer | No | Custom field ID used for deduplication when dedupe_on is field_id. |
| `dedupe_on` | string ("email" | "sms" | "push" | "email_or_sms" | "id" | "external_customer_id" | "field_id") | Yes | Field Reteno uses to identify existing contacts. A contact's external_customer_id takes precedence when present. |
| `group_names` | array | No | Static segments to add the contacts to. |
| `contact_fields` | array | No | Contact fields to update. If omitted, Reteno updates every field and may set omitted values to null. |
| `restore_deleted` | boolean | No | Whether to restore matching previously deleted contacts. |
| `custom_field_ids` | array | No | Custom field IDs to update when contacts include custom field values. |
| `excluded_group_names` | array | No | Static segments to remove the contacts 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 |
