Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate ecommerce marketing workflows including contact management, bulk operations, and subscriber segmentation through Omnisend via Composio
.claude/skills/openteams-lab-omnisend-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-15 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 21% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 112% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 78% | 0% |
| case-16 | ✗→✓ | ▲ Improved | -4% | 0% |
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
Other measured skills in the registry, with their headline benchmark lift.