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

# Blooio

Blooio provides stable v2 APIs for messaging, chats, contacts, groups, phone numbers, and account analytics.

- **Category:** communication
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 26
- **Triggers:** 0
- **Slug:** `BLOOIO`
- **Version:** 00000000_00

## Tools

### Add Contact Tags

**Slug:** `BLOOIO_ADD_CONTACT_TAGS`

Add or reactivate one or more free-form tags on a contact.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | array | Yes | One or more free-form tag values to add. Existing tags are reactivated without duplication. |
| `contact_id` | string | Yes | Contact identifier as an E.164 phone number or valid email; the tool URL-encodes it. |

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

**Slug:** `BLOOIO_CREATE_CONTACT`

Create a contact from an E.164 phone number or email address, optionally assigning a name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Optional human-readable contact name. |
| `identifier` | string | Yes | Contact phone number in E.164 format or a valid email address. |

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

**Slug:** `BLOOIO_CREATE_GROUP`

Create a messaging group, optionally linking an existing iMessage chat and recording its members; new contacts may be created for unknown members.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Display name for the group. |
| `members` | array | No | Member phone numbers or emails to record. With chat_guid these do not add participants to the external iMessage chat. |
| `chat_guid` | string | No | Existing iMessage chat GUID to link; omit to create an API-managed group on first send. |

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

**Slug:** `BLOOIO_DELETE_CONTACT`

Soft-delete one contact identified by E.164 phone number or email.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | Contact identifier as an E.164 phone number or valid email; the tool URL-encodes it. |

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

**Slug:** `BLOOIO_DELETE_GROUP`

Soft-delete a group, remove its members, and exit its linked iMessage chat when one exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | Group identifier returned by create or list groups, beginning with grp_. |

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

**Slug:** `BLOOIO_GET_ACCOUNT`

Return the authenticated organization, assigned devices, and message usage without exposing the API-key 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 |

### Get Chat

**Slug:** `BLOOIO_GET_CHAT`

Return detailed counts, participant context, and latest-message metadata for one conversation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | Phone number, email, grp_ group ID, or comma-separated recipient identifiers for the conversation. |

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

Return one contact by E.164 phone number or email, including its current tags.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | Contact identifier as an E.164 phone number or valid email address. |

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

**Slug:** `BLOOIO_GET_CONTACT_CAPABILITIES`

Check whether a contact can receive iMessage, SMS, or FaceTime before choosing a communication path.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | Contact identifier as an E.164 phone number or valid email; the tool URL-encodes it. |

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

**Slug:** `BLOOIO_GET_GROUP`

Return one messaging group by its grp_ identifier.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | Group identifier returned by create or list groups, beginning with grp_. |

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

**Slug:** `BLOOIO_GET_MESSAGE`

Return one message with content, reactions, delivery status, protocol, errors, and inline-reply context.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | Phone number, email, grp_ group ID, or comma-separated recipients identifying the chat. |
| `message_id` | string | Yes | Message identifier returned by send, list messages, or a webhook, beginning with msg_. |

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

**Slug:** `BLOOIO_GET_POLL_RESULTS`

Return a poll's definition, option vote counts, and total votes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | Phone number, email, grp_ group ID, or comma-separated recipient identifiers for the chat. |
| `poll_id` | string | Yes | Poll identifier returned by Send Poll or a poll webhook. |

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

**Slug:** `BLOOIO_GET_RISK_SUMMARY`

Return the cached fleet risk rollup. A null computed_at means no report has been computed and must not be interpreted as low risk.

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

**Slug:** `BLOOIO_LIST_CHATS`

Search and page through conversations, ordered by recent activity or oldest activity.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("recent" | "oldest") | No | Order chats by most recent or oldest activity. |
| `limit` | integer | No | Maximum chats to return in this page (1-200). |
| `query` | string | No | Search text matched against phone number, email, or contact name. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call; omit for the first 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 Contacts

**Slug:** `BLOOIO_LIST_CONTACTS`

Search and page through organization contacts by identifier or name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("recent" | "oldest" | "name_asc" | "name_desc") | No | Order contacts by activity age or name. |
| `limit` | integer | No | Maximum contacts to return in this page (1-200). |
| `query` | string | No | Case-insensitive search text matched against contact identifier or name. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call; omit for the first 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 Group Members

**Slug:** `BLOOIO_LIST_GROUP_MEMBERS`

Page through the members recorded for a messaging group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum members to return in this page (1-200). |
| `group_id` | string | Yes | Group identifier returned by create or list groups, beginning with grp_. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call; omit for the first 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 Groups

**Slug:** `BLOOIO_LIST_GROUPS`

Search and page through messaging groups by name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("recent" | "oldest" | "name_asc" | "name_desc") | No | Order groups by activity age or name. |
| `limit` | integer | No | Maximum groups to return in this page (1-200). |
| `query` | string | No | Search text matched against group name. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call; omit for the first 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 Messages

**Slug:** `BLOOIO_LIST_MESSAGES`

Page through messages in one chat with direction, time-window, and ordering filters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("asc" | "desc") | No | Order messages by send time ascending or descending. |
| `limit` | integer | No | Maximum messages to return in this page (1-200). |
| `since` | integer | No | Only messages sent after this Unix epoch timestamp in milliseconds. |
| `until` | integer | No | Only messages sent before this Unix epoch timestamp in milliseconds. |
| `chat_id` | string | Yes | Phone number, email, grp_ group ID, or comma-separated recipient identifiers for the conversation. |
| `direction` | string ("inbound" | "outbound") | No | Return only inbound or outbound messages; omit for both. |
| `next_cursor` | string | No | Continuation cursor returned by a previous call; omit for the first 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 Numbers

**Slug:** `BLOOIO_LIST_NUMBERS`

List sender phone numbers assigned to the connected API key and their availability state.

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

### Mark Chat Read

**Slug:** `BLOOIO_MARK_CHAT_READ`

Mark every message in a chat as read and irreversibly send an externally visible read receipt to the sender; the receipt cannot be unsent.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | Phone number, email, grp_ group ID, or comma-separated recipients identifying the chat. |

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

### Remove Contact Tags

**Slug:** `BLOOIO_REMOVE_CONTACT_TAGS`

Soft-delete one or more exact tags from a contact sequentially; if a later removal fails, earlier removals remain applied.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | array | Yes | One or more exact tag values to remove sequentially. If a later removal fails, earlier removals remain applied. |
| `contact_id` | string | Yes | Contact identifier as an E.164 phone number or valid email; the tool URL-encodes it. |

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

**Slug:** `BLOOIO_SEND_MESSAGE`

Irreversibly send one or multiple text, attachment, multipart, or inline-reply messages; multi-recipient sends may create or reuse an unnamed group and may incur messaging charges.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | Phone number, email, grp_ group ID, or comma-separated recipients. Multi-recipient sends may create or reuse an unnamed group. |
| `content` | string | Yes | Required message content; choose exactly one text, attachments, or multipart variant. |
| `reply_to` | string | No | iMessage inline-reply target. Replies must use the same chat and sender and cannot target messages older than 30 days. |
| `from_number` | string | No | Assigned E.164 sender number. Omit to let Blooio select a sender where the connected API key supports that. |
| `idempotency_key` | string | No | Stable unique key for this logical send. Reusing it returns the original message result and prevents duplicate delivery. |
| `use_typing_indicator` | boolean | No | Whether to show a temporary typing indicator before sending. Omit to use the organization preference. |

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

**Slug:** `BLOOIO_SEND_POLL`

Irreversibly send an interactive native iMessage poll to a chat.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Optional poll title or question. |
| `chat_id` | string | Yes | Phone number, email, grp_ group ID, or comma-separated recipients identifying the chat. |
| `options` | array | Yes | Poll choices in display order. The v2 contract does not document a stricter count limit. |

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

### Set Message Reaction

**Slug:** `BLOOIO_SET_MESSAGE_REACTION`

Add or remove a classic tapback or emoji reaction on a specific or relative message in a chat.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `action` | string ("add" | "remove") | Yes | Whether to add or remove the reaction. |
| `chat_id` | string | Yes | Phone number, email, grp_ group ID, or comma-separated recipients identifying the chat. |
| `reaction` | string | Yes | Classic tapback name (love, like, dislike, laugh, emphasize, question) or one emoji, without a leading + or - prefix. |
| `direction` | string ("inbound" | "outbound") | No | Optional direction filter used when message_id is a relative index. |
| `message_id` | string | Yes | Exact msg_ identifier or a relative index such as -1 for the latest message. |

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

Set or clear the display name of an existing contact.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | New contact name, or null to clear the current name. |
| `contact_id` | string | Yes | Contact identifier as an E.164 phone number or valid email; the tool URL-encodes it. |

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

**Slug:** `BLOOIO_UPDATE_GROUP`

Rename a group and, when linked, synchronize the new name to its iMessage chat.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | New group display name. |
| `group_id` | string | Yes | Group identifier returned by create or list groups, beginning with grp_. |

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