# Omnisend

Omnisend is a marketing automation platform for ecommerce businesses, focusing on email and SMS marketing.

- **Category:** marketing automation
- **Auth:** API_KEY, OAUTH2
- **Composio Managed App Available?** Yes
- **Tools:** 43
- **Triggers:** 0
- **Slug:** `OMNISEND`
- **Version:** 20260227_00

## Tools

### Add Cart Product

**Slug:** `OMNISEND_ADD_CART_PRODUCT`

Tool to add a product to a cart in Omnisend (v3 API). Use when updating cart contents or tracking abandoned carts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sku` | string | No | Stock keeping unit identifier. |
| `price` | integer | Yes | Current price in cents (e.g., 12111 for $121.11). |
| `title` | string | Yes | Product name or title. |
| `cart_id` | string | Yes | Unique identifier of the cart to add the product to. |
| `currency` | string | Yes | ISO 4217 currency code (3 characters). |
| `discount` | integer | No | Discount amount in cents. |
| `quantity` | integer | Yes | Number of items. Must be a whole number greater than or equal to 1. |
| `image_url` | string | No | URL to product image. |
| `old_price` | integer | No | Original price before discount in cents (e.g., 14311 for $143.11). |
| `product_id` | string | Yes | Unique product identifier from your catalog. |
| `variant_id` | string | Yes | Product variant identifier for tracking specific product variations. |
| `description` | string | No | Product description text. |
| `product_url` | string | No | URL to product page. |
| `cart_product_id` | string | Yes | Product identifier in cart. Must be unique within the cart. |

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

**Slug:** `OMNISEND_CREATE_BATCH`

Tool to create a new batch operation for multiple items. Use when you need to process many records asynchronously in one call, e.g., bulk contacts, products, orders, or events. Use after preparing the items list to avoid rate limits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | array | Yes | Array of payload objects for each operation. |
| `method` | string ("POST" | "PUT") | Yes | HTTP method for all operations in this batch. Must be POST or PUT. |
| `eventID` | string | No | Required when endpoint is 'events'; the ID of the event to trigger. |
| `endpoint` | string ("contacts" | "orders" | "products" | "events" | "categories") | Yes | Target endpoint for the operations. |

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

**Slug:** `OMNISEND_CREATE_CART`

Tool to create a new shopping cart in Omnisend. Use when tracking customer cart activity for abandoned cart campaigns.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Customer email address associated with this cart |
| `phone` | string | No | Customer phone number |
| `cartID` | string | Yes | Unique cart identifier. Must be unique across all carts. |
| `cartSum` | integer | No | Total cart value in cents (e.g., 9999 for $99.99) |
| `currency` | string | No | ISO 4217 currency code (e.g., USD, EUR, GBP) |
| `products` | array | No | Array of products in the cart |
| `contactID` | string | No | Existing Omnisend contact identifier to associate with this cart |
| `createdAt` | string | No | Cart creation timestamp in ISO 8601 format. If not provided, current time is used. |
| `updatedAt` | string | No | Cart last update timestamp in ISO 8601 format |
| `cartRecoveryUrl` | string | No | URL to recover the cart, used in abandoned cart emails |

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

**Slug:** `OMNISEND_CREATE_CATEGORY`

Tool to create a new category in Omnisend. Use when organizing products into categories.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Display name for the category. |
| `categoryID` | string | Yes | Unique identifier for the category. Must be unique within your Omnisend 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 |

### Create Order

**Slug:** `OMNISEND_CREATE_ORDER`

Tool to create a new order in Omnisend v3 API. Use when recording a customer purchase or order transaction.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | array | No | Order tags |
| `email` | string | No | Customer email address (email or phone or contactID required) |
| `phone` | string | No | Customer phone number (email or phone or contactID required) |
| `cartID` | string | No | Cart identifier |
| `source` | string | No | Order source |
| `taxSum` | integer | No | Tax amount in cents |
| `orderID` | string | Yes | Unique order identifier from your store |
| `currency` | string | Yes | Order currency code (e.g., USD, EUR) |
| `lastName` | string | No | Customer last name |
| `orderSum` | integer | Yes | Total order amount in cents (must be integer, not float) |
| `orderUrl` | string | No | URL to view the order |
| `products` | array | No | Array of ordered products |
| `contactID` | string | No | Omnisend contact ID (email or phone or contactID required) |
| `createdAt` | string | Yes | Order creation timestamp in ISO 8601 format (cannot be future date, required by API) |
| `firstName` | string | No | Customer first name |
| `updatedAt` | string | No | Order last update timestamp in ISO 8601 format |
| `courierUrl` | string | No | Tracking URL |
| `contactNote` | string | No | Note about the customer or order |
| `discountSum` | integer | No | Total discount amount in cents |
| `orderNumber` | integer | No | Order number for display |
| `shippingSum` | integer | No | Shipping cost in cents |
| `subTotalSum` | integer | No | Subtotal amount in cents |
| `courierTitle` | string | No | Courier service name |
| `customFields` | object | No | Custom fields as key-value pairs |
| `discountCode` | string | No | Discount code applied |
| `discountType` | string | No | Type of discount (e.g., fixedAmount, percentage) |
| `trackingCode` | string | No | Shipping tracking code |
| `discountValue` | integer | No | Discount value in cents |
| `paymentMethod` | string | No | Payment method description |
| `paymentStatus` | string ("awaitingPayment" | "partiallyPaid" | "paid" | "partiallyRefunded" | "refunded" | "voided") | No | Payment status enum values. |
| `billingAddress` | object | No | Address information for billing or shipping. |
| `shippingMethod` | string | No | Shipping method description |
| `shippingAddress` | object | No | Address information for billing or shipping. |
| `fulfillmentStatus` | string ("unfulfilled" | "inProgress" | "fulfilled" | "delivered" | "restocked") | No | Fulfillment status enum values. |
| `subTotalTaxIncluded` | boolean | No | Whether tax is included in subtotal |

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

**Slug:** `OMNISEND_CREATE_OR_UPDATE_CONTACT`

Tool to create or update a contact in Omnisend. Use after collecting subscriber details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `city` | string | No | City name |
| `gender` | string ("m" | "f") | No | Contact's gender ('m' or 'f') |
| `address` | string | No | Street address |
| `country` | string | No | Full country name |
| `lastName` | string | No | Contact's last name |
| `birthdate` | string | No | Birthdate in YYYY-MM-DD format |
| `firstName` | string | No | Contact's first name |
| `postalCode` | string | No | Postal or ZIP code |
| `countryCode` | string | No | ISO 3166-1 alpha-2 country code |
| `identifiers` | array | Yes | One or more ways to identify the contact; at least one required |

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

**Slug:** `OMNISEND_CREATE_PRODUCT`

Tool to create a new product in the Omnisend product catalog. Use when adding products for email campaigns or syncing inventory.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique product identifier from your store. Must be unique across all products. |
| `url` | string | Yes | URL to the product page on your website. |
| `tags` | array | No | Tags to categorize the product for filtering and organization (max 100 items). |
| `type` | string | No | Product type to categorize products (e.g., 'Electronics', 'Clothing'). |
| `title` | string | Yes | Product title displayed to customers. |
| `images` | array | No | Additional product image URLs beyond the default image (max 300 items). |
| `status` | string ("inStock" | "outOfStock" | "notAvailable") | Yes | Overall product availability status. Keep in sync with your shop to avoid sending out-of-stock products. |
| `vendor` | string | No | Manufacturer or brand of the product. |
| `currency` | string | Yes | ISO 4217 currency code (e.g., USD, EUR, GBP). |
| `variants` | array | Yes | Product variants with their own prices and SKUs. At least one variant is required (min 1, max 500 items). |
| `createdAt` | string | No | Product creation timestamp in ISO 8601 format (e.g., 2021-01-01T00:00:00Z). |
| `updatedAt` | string | No | Last update timestamp in ISO 8601 format. |
| `categoryIDs` | array | No | List of category IDs this product belongs to (max 100 items). |
| `description` | string | No | Short description of the product. Can be used in the email body. |
| `defaultImageUrl` | string | No | Primary image URL for the product. Recommended if more than one image is needed. |

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

**Slug:** `OMNISEND_CREATE_PRODUCT_CATEGORY`

Tool to create a new product category in the Omnisend catalog. Use when organizing products into categories.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title/name of the product category. Maximum 100 characters. |
| `categoryID` | string | Yes | Unique identifier for the product category. Must be between 1 and 100 characters. |

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

**Slug:** `OMNISEND_DELETE_CART`

Tool to delete a cart from Omnisend by its ID (v3 API). Use when you need to remove an abandoned or expired cart from the system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cartID` | string | Yes | Unique identifier of the cart to delete. |

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

**Slug:** `OMNISEND_DELETE_CATEGORY`

Tool to remove a category from Omnisend by its ID. Use when you need to delete a category and ensure it is no longer available in your catalog.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `category_id` | string | Yes | Unique identifier of the category to delete. |

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

**Slug:** `OMNISEND_DELETE_ORDER`

Tool to delete an order from Omnisend by its ID. Use when you need to remove an order from the system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orderID` | string | Yes | Unique identifier of the order to delete. |

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

**Slug:** `OMNISEND_DELETE_PRODUCT`

Tool to remove a product from Omnisend by its ID. Use when you need to delete a product and ensure it is no longer available in your catalog.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | string | Yes | Unique identifier of the product to delete. |

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

**Slug:** `OMNISEND_DELETE_PRODUCT_CATEGORY`

Tool to remove a product category from Omnisend by its ID. Use when you need to delete a product category from your catalog.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `category_id` | string | Yes | Unique identifier of the product category to delete. |

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

**Slug:** `OMNISEND_GET_BATCHES`

Tool to retrieve a list of batch operations. Use after initiating a batch job to monitor its progress and results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endpoint` | string ("contacts" | "orders" | "products" | "events" | "categories") | Yes | Target endpoint for the batch operations to retrieve. |

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

**Slug:** `OMNISEND_GET_BATCH_INFORMATION`

Tool to retrieve information about a specific batch by ID. Use after submitting a batch when you need a detailed status and counts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `batchId` | string | Yes | The unique identifier of the batch to retrieve |

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

**Slug:** `OMNISEND_GET_BATCH_ITEM`

Tool to retrieve a specific item within a batch by batchID and itemID. Use when you need to inspect the result of a single batch operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `itemID` | string | Yes | The unique identifier of the specific item to retrieve within the batch |
| `batchID` | string | Yes | The unique identifier of the batch containing the item |

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

**Slug:** `OMNISEND_GET_BATCH_ITEMS`

Tool to retrieve processed items of a specific batch by ID. Use when you need to inspect individual results of a batch operation after fetching batch details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `batchId` | string | Yes | The unique identifier of the batch whose items you want to retrieve. |

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

**Slug:** `OMNISEND_GET_BRAND`

Tool to retrieve information about the current authenticated brand. Use when you need brand details like currency, platform, or website.

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

**Slug:** `OMNISEND_GET_CART`

Tool to retrieve a specific cart by ID from Omnisend v3 API. Use when you need detailed cart information including products and customer contact details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cartID` | string | Yes | Unique identifier of the cart to retrieve. |

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

**Slug:** `OMNISEND_GET_CATEGORY`

Tool to retrieve details of a specific category by ID. Use when you need to fetch information about a category.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `categoryID` | string | Yes | Unique identifier of the category to retrieve. |

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

Tool to retrieve details of a single contact by ID. Use when you already have a contactId and need the full profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contactId` | string | Yes | Unique identifier of the contact to retrieve |

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

**Slug:** `OMNISEND_GET_ORDER`

Tool to retrieve details of a specific order by ID. Use when you need order information including products, addresses, and payment details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orderID` | string | Yes | Unique identifier of the order to retrieve |

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

**Slug:** `OMNISEND_GET_PRODUCT`

Tool to retrieve details of a specific product by ID from Omnisend. Use when you need full product information including variants, pricing, and stock status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | string | Yes | Unique identifier of the product to retrieve. |

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

**Slug:** `OMNISEND_GET_PRODUCT_CATEGORY`

Tool to retrieve a specific product category by ID. Use when you need details about a particular product category.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `categoryID` | string | Yes | Unique identifier of the product category to retrieve |

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

**Slug:** `OMNISEND_LIST_CAMPAIGNS`

Tool to retrieve a paginated list of campaigns with optional filtering by status and type. Use when you need to view or analyze campaign performance across multiple campaigns.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | No | Filter campaigns by type (e.g., regular, automation, split). |
| `limit` | integer | No | Number of results to fetch. Default is 5000, maximum is 5000. |
| `offset` | integer | No | Number of results to skip. Use for pagination. Default is 0. |
| `status` | string ("draft" | "paused" | "scheduled" | "inProgress" | "sent") | No | Campaign status values. |

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

**Slug:** `OMNISEND_LIST_CARTS`

Tool to retrieve a paginated list of carts with optional filtering. Use when you need to fetch carts by date range, contact, or segment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string | No | Sort order for results. |
| `email` | string | No | Filter carts by contact email address. |
| `limit` | integer | No | Number of results to fetch. Default is 100, max 250. |
| `phone` | string | No | Filter carts by contact phone number including country code. |
| `dateTo` | string | No | Cart creation date to. Format: YYYY-MM-DD. |
| `offset` | integer | No | Number of results to skip. Default is 0. |
| `dateFrom` | string | No | Cart creation date from. Format: YYYY-MM-DD. |
| `contactID` | string | No | Filter carts by contact ID. |
| `segmentID` | string | No | Filter carts by segment ID. |
| `updatedTo` | string | No | Cart update date to. Format: YYYY-MM-DD. |
| `updatedFrom` | string | No | Cart update date from. Format: YYYY-MM-DD. |

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

**Slug:** `OMNISEND_LIST_CATEGORIES`

Tool to retrieve a paginated list of product categories. Use when you need category IDs for product management or catalog organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string | No | Field to sort results by. Format: 'fieldName' for ascending, '-fieldName' for descending. |
| `limit` | integer | No | Number of results to fetch. Defaults to 100, maximum 250. |
| `offset` | integer | No | Number of results to skip. Defaults to 0. Use for pagination. |

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

Tool to retrieve a paginated list of contacts with optional filtering. Use when you need to fetch contacts in batches and handle cursor pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag` | string | No | Filter contacts by tag. |
| `after` | string | No | Cursor for pagination: contacts after this base64-encoded ContactID. |
| `email` | string | No | Filter contacts by exact email address. |
| `limit` | integer | No | Number of results per page. Defaults to 100, maximum 250. |
| `phone` | string | No | Filter contacts by full phone number including country code. |
| `before` | string | No | Cursor for pagination: contacts before this base64-encoded ContactID. |
| `status` | string ("subscribed" | "nonSubscribed" | "unsubscribed") | No | Filter contacts by email channel status. |
| `segmentID` | integer | No | Filter contacts by segment 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 |

### List Events

**Slug:** `OMNISEND_LIST_EVENTS`

Tool to retrieve all custom events created in Omnisend app. Use when you need to view available event types for automation workflows or event tracking.

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

**Slug:** `OMNISEND_LIST_PRODUCT_CATEGORIES`

Tool to retrieve a paginated list of product categories from the Omnisend catalog. Use when fetching category data for product organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("date" | "createdAt" | "updatedAt") | No | Field to sort by. Allowed values: 'date', 'createdAt', or 'updatedAt'. |
| `limit` | integer | No | Maximum number of categories to return. Defaults to 100. |
| `offset` | integer | No | Zero-based index of the first category to return. Use to page through results. |

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

**Slug:** `OMNISEND_LIST_PRODUCTS`

Tool to retrieve a paginated list of products. Use when syncing product catalog before campaign creation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("date" | "createdAt" | "updatedAt") | No | Field to sort by. Allowed values: 'date', 'createdAt', or 'updatedAt'. |
| `limit` | integer | No | Maximum number of products to return. Defaults to 100. |
| `offset` | integer | No | Zero-based index of the first product to return. Use to page through results. |

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

**Slug:** `OMNISEND_REMOVE_CART_PRODUCT`

Tool to remove a product from a cart in Omnisend. Use when you need to delete a specific product from a cart.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cart_id` | string | Yes | Unique identifier of the cart. |
| `cart_product_id` | string | Yes | Unique identifier of the product in the cart to remove. |

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

### Replace Cart

**Slug:** `OMNISEND_REPLACE_CART`

Tool to replace an existing cart in Omnisend using the v3 API. Use when you need to completely replace all cart data including products, pricing, and recovery URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cartID` | string | Yes | Unique identifier of the cart to replace |
| `cartSum` | integer | Yes | Total cart value in cents (e.g., 78777 = $787.77) |
| `currency` | string | Yes | ISO 4217 currency code for the cart (e.g., USD, EUR, GBP) |
| `products` | array | Yes | List of products in the cart |
| `createdAt` | string | No | ISO 8601 timestamp when the cart was created |
| `updatedAt` | string | No | ISO 8601 timestamp when the cart was last updated |
| `cartRecoveryUrl` | string | No | URL to restore the cart, used for abandoned cart recovery |

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

### Replace Cart Product

**Slug:** `OMNISEND_REPLACE_CART_PRODUCT`

Tool to replace a product in a cart using Omnisend v3 API. Use when you need to update all details of a specific product in a cart.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sku` | string | No | Stock keeping unit identifier. |
| `price` | integer | Yes | Product price in cents, without commas. For example, for 1.25 USD use 125. |
| `title` | string | Yes | Product title. |
| `cartID` | string | Yes | Unique identifier of the cart containing the product to replace. |
| `currency` | string | Yes | ISO currency code (3 characters). |
| `discount` | integer | No | Discount sum in cents. |
| `imageUrl` | string | No | Link to product image (must be a valid URI). |
| `oldPrice` | integer | No | Old price in cents, without commas. For example, for 1.43 USD use 143. |
| `quantity` | integer | Yes | Product quantity (only whole numbers, minimum 1). |
| `productID` | string | Yes | Product identifier. |
| `variantID` | string | Yes | Product modification identifier (variant ID). |
| `productUrl` | string | No | Link to product page (must be a valid URI). |
| `description` | string | No | Product description. |
| `cartProductID` | string | Yes | Unique identifier of the product in the cart to replace. |

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

### Replace Category

**Slug:** `OMNISEND_REPLACE_CATEGORY`

Tool to replace a category's title by ID. Use when you need to update an entire category resource.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | New title for the category |
| `categoryID` | string | Yes | Unique identifier of the category to replace |

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

### Replace Order

**Slug:** `OMNISEND_REPLACE_ORDER`

Tool to completely replace an existing order in Omnisend. Use when you need to update all order details at once, replacing the entire order record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | array | No | Tags associated with the order |
| `cartID` | string | No | Identifier of the cart that led to this order |
| `source` | string | No | Source of the order (e.g., 'web', 'mobile') |
| `taxSum` | integer | No | Total tax amount in smallest currency unit |
| `orderID` | string | Yes | Unique identifier of the order to replace |
| `currency` | string | Yes | ISO 4217 currency code (e.g., 'USD', 'EUR') |
| `orderSum` | integer | Yes | Total order amount in the smallest currency unit (e.g., cents) |
| `orderUrl` | string | No | URL to view the order |
| `products` | array | No | List of products in the order |
| `createdAt` | string | Yes | ISO 8601 timestamp when the order was created |
| `updatedAt` | string | No | ISO 8601 timestamp when the order was last updated |
| `courierUrl` | string | No | URL for courier tracking |
| `contactNote` | string | No | Notes about the customer |
| `discountSum` | integer | No | Total discount amount in smallest currency unit |
| `orderNumber` | integer | No | Human-readable order number |
| `shippingSum` | integer | No | Shipping cost in smallest currency unit |
| `subTotalSum` | integer | No | Subtotal before taxes and shipping in smallest currency unit |
| `cancelReason` | string | No | Reason for order cancellation if applicable |
| `canceledDate` | string | No | ISO 8601 timestamp when the order was canceled |
| `courierTitle` | string | No | Name of the shipping courier |
| `discountCode` | string | No | Discount or coupon code applied |
| `discountType` | string | No | Type of discount (e.g., 'percentage', 'fixed') |
| `trackingCode` | string | No | Shipment tracking code |
| `discountValue` | integer | No | Discount value (percentage or fixed amount) |
| `paymentMethod` | string | No | Payment method used (e.g., 'credit_card', 'paypal') |
| `paymentStatus` | string | No | Payment status. Available values: awaitingPayment, partiallyPaid, paid, partiallyRefunded, refunded, voided |
| `billingAddress` | object | No | Billing address information for the order. |
| `shippingMethod` | string | No | Shipping method used |
| `shippingAddress` | object | No | Shipping address information for the order. |
| `fulfillmentStatus` | string | No | Fulfillment status (e.g., 'fulfilled', 'unfulfilled', 'partially_fulfilled') |
| `subTotalTaxIncluded` | boolean | No | Whether subtotal includes tax |

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

### Replace Product

**Slug:** `OMNISEND_REPLACE_PRODUCT`

Tool to replace an existing product in the Omnisend catalog. Use when you need to completely replace all product data with new information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Product ID - must match the product_id path parameter |
| `url` | string | Yes | URL pointing to the product page on your website |
| `tags` | array | No | Tags for product categorization (max 100 items) |
| `type` | string | No | Product type for categorization purposes |
| `title` | string | Yes | Product title |
| `images` | array | No | Additional product image URLs (max 300 items) |
| `status` | string ("inStock" | "outOfStock" | "notAvailable") | Yes | Product stock status. Keep in sync with your shop to avoid sending out-of-stock products |
| `vendor` | string | No | Manufacturer or brand of the product |
| `currency` | string | Yes | ISO 4217 currency code (e.g., USD, EUR, GBP) |
| `variants` | array | Yes | Product variants (different versions like sizes/colors). At least one variant required |
| `createdAt` | string | No | Creation timestamp in ISO 8601 format |
| `updatedAt` | string | No | Last update timestamp in ISO 8601 format |
| `product_id` | string | Yes | Unique identifier of the product to replace. Must match the product ID in the request body |
| `categoryIDs` | array | No | List of category IDs the product belongs to (max 100 items) |
| `description` | string | No | Short description of the product for email body usage |
| `defaultImageUrl` | string | No | Primary image URL. Recommended if you need more than one image - additional images go in the images array |

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

**Slug:** `OMNISEND_SEND_EVENT`

Tool to send a customer event to Omnisend. Events can trigger automations and track customer behavior. Use when you need to record customer interactions such as product views, cart actions, or custom events.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `origin` | string | Yes | Source of the event. Use 'api' for general API integrations. Platform or app integrations should have dedicated origin values. |
| `contact` | object | Yes | Contact information. Contact will be created or updated based on the data provided. At least one identifier (email, phone, or id) is required. |
| `eventID` | string | No | UUID of the event (v4, v5, v6, v7). Used for event deduplication along with eventTime. If not provided, it will be generated automatically. |
| `eventName` | string | Yes | Name of the event (e.g., 'order placed', 'product viewed', 'test_event'). Check event documentation for standard event names. |
| `eventTime` | string | No | Event timestamp in RFC3339 format (e.g., '2021-07-01T00:00:00Z'). If not provided, current time will be used. |
| `properties` | object | No | Event-specific properties such as order details, product info, etc. Check events guide for recommended properties for each event type. |
| `eventVersion` | string | No | Event version string. Check event documentation for required version for each event. Leave empty for custom events. |

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

**Slug:** `OMNISEND_UPDATE_CART`

Tool to partially update a cart in Omnisend (v3 API). Use when you need to modify cart details such as currency, total amount, recovery URL, or products.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cartID` | string | Yes | Unique identifier of the cart to update |
| `cartSum` | integer | Yes | Total cart value in cents, without commas. For example, for $1.25 USD use 125 |
| `currency` | string | Yes | ISO currency code (3 characters) |
| `products` | array | No | List of products in the cart |
| `cartRecoveryUrl` | string | No | URL to recover the cart |

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

**Slug:** `OMNISEND_UPDATE_CART_PRODUCT`

Tool to update a product in a cart (v3 API). Use when you need to modify product details such as quantity, price, or other attributes for an existing cart item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sku` | string | No | Stock keeping unit (SKU). |
| `price` | integer | No | Current price in cents (e.g., 125 for $1.25). |
| `title` | string | No | Product title. |
| `cart_id` | string | Yes | Unique identifier of the cart. |
| `currency` | string | Yes | ISO currency code (3 characters). Must match the cart's currency. |
| `discount` | integer | No | Discount sum in cents. |
| `quantity` | integer | No | Product quantity (must be a whole number, minimum 1). |
| `image_url` | string | No | Link to product image. |
| `old_price` | integer | No | Original price in cents (e.g., 125 for $1.25). |
| `product_id` | string | No | Product identifier. |
| `variant_id` | string | No | Product variant identifier. |
| `description` | string | No | Product description. |
| `product_url` | string | No | Link to product page. |
| `cart_product_id` | string | Yes | Unique identifier of the product in the cart to update. |

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

Tool to update fields of an existing contact by ID. Use after retrieving contact ID. PATCH https://api.omnisend.com/v3/contacts/{contactId} Example: UpdateContact(contactId="..., body={firstName: 'John'})

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Fields to update on the contact |
| `contactId` | string | Yes | Unique identifier of the contact to update |

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

**Slug:** `OMNISEND_UPDATE_ORDER_STATUS`

Tool to partially update an order status in Omnisend (v3 API). Use when you need to update shipping details, payment status, or fulfillment status of an existing order.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cartID` | string | No | Identifier of the cart associated with this order. |
| `orderID` | string | Yes | Unique identifier of the order to update. |
| `courierUrl` | string | No | URL to track the shipment (must be a valid URI). |
| `cancelReason` | string | No | Reason for order cancellation. |
| `canceledDate` | string | No | ISO 8601 date-time when the order was canceled (e.g., '2017-05-30T14:11:12Z'). |
| `courierTitle` | string | No | Name of the courier/shipping company. |
| `trackingCode` | string | No | Tracking code for the shipment. |
| `paymentStatus` | string | No | Payment status of the order. You need to map your status with Omnisend's statuses (e.g., 'pending', 'paid'). |
| `fulfillmentStatus` | string | No | Fulfillment status of the order. You need to map your status with Omnisend's statuses (e.g., 'unfulfilled', 'fulfilled'). |

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

**Slug:** `OMNISEND_UPDATE_PRODUCT_CATEGORY`

Tool to update an existing product category title in Omnisend. Use when you need to modify a category's name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Updated title for the product category |
| `categoryID` | string | Yes | Product category ID to update |

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