composio-skills/omnisend-automation/SKILL.md
Automate ecommerce marketing workflows including contact management, bulk operations, and subscriber segmentation through Omnisend via Composio
npx skillsauth add ComposioHQ/awesome-claude-skills Omnisend AutomationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automate ecommerce marketing operations -- create and update contacts, manage subscriber lists with cursor pagination, run bulk batch operations, and segment audiences -- all orchestrated through the Composio MCP integration.
Toolkit docs: composio.dev/toolkits/omnisend
https://rube.app/mcpOMNISEND_* tools become available for executionUpsert a contact by email identifier with subscription status, profile fields, and optional welcome message.
Tool: OMNISEND_CREATE_OR_UPDATE_CONTACT
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| identifiers | array | Yes | At least one identifier object with id (email), type (email), optional channels.email.status (subscribed, nonSubscribed, unsubscribed), and sendWelcomeMessage (boolean) |
| firstName | string | No | Contact's first name |
| lastName | string | No | Contact's last name |
| gender | string | No | m or f |
| birthdate | string | No | Format: YYYY-MM-DD |
| country | string | No | Full country name |
| countryCode | string | No | ISO 3166-1 alpha-2 code (e.g., US) |
| city | string | No | City name |
| address | string | No | Street address |
| postalCode | string | No | ZIP/postal code |
Retrieve contacts in batches with optional filters for email, phone, status, segment, or tag.
Tool: OMNISEND_LIST_CONTACTS
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| limit | integer | No | Results per page (default: 100, max: 250) |
| after | string | No | Cursor for next page (base64-encoded ContactID) |
| before | string | No | Cursor for previous page |
| email | string | No | Filter by exact email address |
| phone | string | No | Filter by full phone number with country code |
| status | string | No | Filter by: subscribed, nonSubscribed, unsubscribed |
| segmentID | integer | No | Filter by segment ID |
| tag | string | No | Filter by tag (e.g., VIP) |
Retrieve the full profile for a single contact when you already have their contact ID.
Tool: OMNISEND_GET_CONTACT
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| contactId | string | Yes | Unique contact identifier (e.g., 60e7412b1234567890abcdef) |
Patch specific fields on a contact by ID without overwriting the entire record.
Tool: OMNISEND_UPDATE_CONTACT
Requires the contactId and the fields to update. Retrieve the contact ID first via OMNISEND_LIST_CONTACTS or OMNISEND_GET_CONTACT.
Process many records asynchronously in a single call -- contacts, products, orders, events, or categories.
Tool: OMNISEND_CREATE_BATCH
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| method | string | Yes | POST or PUT |
| endpoint | string | Yes | Target: contacts, orders, products, events, categories |
| items | array | Yes | Array of payload objects for each operation |
| eventID | string | Conditional | Required when endpoint is events |
Use batch operations to avoid rate limits when processing large data sets.
| Pitfall | Details |
|---------|---------|
| Identifier required | OMNISEND_CREATE_OR_UPDATE_CONTACT requires at least one identifier in the identifiers array -- only email type is supported |
| Cursor-based pagination | OMNISEND_LIST_CONTACTS uses base64-encoded after/before cursors, not page numbers -- follow cursors to avoid incomplete data |
| Contact ID resolution | OMNISEND_UPDATE_CONTACT requires a contactId -- always resolve it first via list or get operations |
| Batch method constraints | OMNISEND_CREATE_BATCH only accepts POST or PUT methods -- no DELETE or PATCH |
| Event ID dependency | When batching events, the eventID parameter is mandatory -- omitting it causes the batch to fail |
| Tool Slug | Purpose |
|-----------|---------|
| OMNISEND_CREATE_OR_UPDATE_CONTACT | Create or upsert a contact by email |
| OMNISEND_LIST_CONTACTS | List contacts with filtering and cursor pagination |
| OMNISEND_GET_CONTACT | Get full profile for a single contact by ID |
| OMNISEND_UPDATE_CONTACT | Patch specific fields on an existing contact |
| OMNISEND_CREATE_BATCH | Bulk async operations for contacts, products, orders, events |
Powered by Composio
tools
Automate Zoho Mail tasks via Rube MCP (Composio): email sending, folders, labels, and mailbox management. Always search tools first for current schemas.
tools
Automate Zoho Invoice tasks via Rube MCP (Composio): invoices, estimates, expenses, clients, and payment tracking. Always search tools first for current schemas.
tools
Automate Zoho Inventory tasks via Rube MCP (Composio): items, orders, warehouses, shipments, and stock management. Always search tools first for current schemas.
tools
Automate Zoho Desk tasks via Rube MCP (Composio): tickets, contacts, agents, departments, and help desk operations. Always search tools first for current schemas.