---
title: "Ecomail Integration"
description: "Ecomail is a Czech email marketing platform. Agents manage lists and subscribers, run campaigns and automations, send transactional email, feed the behavioral tracker and e-commerce transactions, and manage coupons and sending domains."
url: https://flowrunner.ai/integrations/ecomail-cz
date_modified: 2026-09-04T14:28:58-07:00
---

# Ecomail

[Email Marketing](https://flowrunner.ai/integrations/category/email-marketing)

Ecomail is a Czech email marketing platform. Agents manage lists and subscribers, run campaigns and automations, send transactional email, feed the behavioral tracker and e-commerce transactions, and manage coupons and sending domains.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 66 actions · API key · available

[Ecomail website](https://api2.ecomailapp.cz/) · [Platform Documentation](https://docs.ecomail.cz/) · Capability data verified 2026-08-19

1.  An order is paid in the storefront
2.  Agent reads the buyer, the line items, and the order total
3.  Get Subscriber From List resolves the buyer against the customer list
4.  Subscribe To List writes the contact with the opt-in flags named explicitly rather than defaulted
5.  Create Transaction records the purchase so segments and recommenders see it
6.  Send Transactional Template delivers the order confirmation from the account's verified domain
7.  Before the win-back campaign reuses the discount pool, a marketer decides which coupon batch may be retired

## What This Integration Enables

Ecomail is built for a Czech e-shop rather than for a newsletter, and the API shows it. Alongside the usual lists, campaigns, and templates, the catalog, the behavioral tracker, e-commerce transactions, discount coupon batches, and product recommenders are all first-class objects a workflow can write to. That is the reason to reach for this connector: it lets an agent keep the mailing side of a storefront in step with the commerce side without a person copying anything between them.

FlowRunner agents subscribe and update contacts singly or in bulk, record purchases and tracker events against them, refresh product and data feeds, build recommenders, queue campaigns, and send transactional mail through the same account. The [connectors](https://flowrunner.ai/concepts/connectors) are built and verified against Ecomail's published API, so the flags that decide whether a contact is confirmed, resubscribed, or enrolled in an automation are exposed as choices rather than buried in a default. The writes that cannot be walked back stop and ask a person first, which is where FlowRunner's [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) discipline does its work.

### Without FlowRunner

**Two systems, one customer**: Order history lives in the shop, the mailing list lives in Ecomail, and neither knows what the other did

**Opt-in state guessed**: Nobody is sure whether a freshly imported contact is confirmed, unconfirmed, or quietly unsubscribed

**Campaign content assembled by hand**: Product blocks and discount codes are pasted in before every send

### With FlowRunner

**Purchases feed the list**: Every paid order becomes a transaction attached to the subscriber, so segments reflect what people bought

**Opt-in state is a decision**: The flow names the resubscribe, confirmation, and automation flags rather than accepting whatever the route defaults to

**Content assembled from live data**: Feeds refresh, recommenders build product blocks, and coupon batches load before the campaign is queued

## Use Case Scenarios

### The storefront and the list stay in step

An order is paid in [Shopify](https://flowrunner.ai/integrations/shopify) or [WooCommerce](https://flowrunner.ai/integrations/woocommerce). The agent resolves the buyer with Get Subscriber From List, then calls Subscribe To List with Update Existing, Resubscribe, Skip Confirmation, and Trigger Automations set deliberately for this flow rather than left to the route's defaults. Create Transaction attaches the order so that revenue segments and recommenders can see it, and Send Transactional Template delivers the confirmation. For a nightly backfill, Create Transactions Bulk and Update Subscribers Bulk carry the same work in batches, and the flow splits its own batches rather than sending an oversized one, because the vendor ignores the overflow without reporting it.

### A campaign assembled from live catalog data

Before a weekly promotion goes out, the agent calls Refresh Product Feed and Refresh Data Feed so the catalog Ecomail holds matches the shop. Get Recommender confirms the product block is still filtered the way the merchandiser set it, and Import Coupons loads the discount batch for this send. Create Campaign and Update Campaign build the message against the chosen lists and segments, and the flow posts a summary to [Slack](https://flowrunner.ai/integrations/slack) with the segment size from Get Segment Stats. Send Campaign queues the send immediately, so it is the last call the flow makes and never the first.

### Reporting nobody has to export

After each send, the agent pulls Get Campaign Stats and Get Campaign Stats Detail, notes that the recipient counts and the total event counts are two different measures, and appends both to a sheet in [Google Sheets](https://flowrunner.ai/integrations/google-sheets). Get Campaign Log fills in the per-recipient detail for the addresses the revenue team asked about, Get Subscriber Email Log answers the support question of what one customer actually received, and Get Double Opt In Stats shows how much of last month's sign-up traffic never confirmed. The numbers arrive on a schedule instead of after somebody remembers to request them.

## Human-in-Loop Highlight

Delete Coupons removes discount codes from the pool a campaign hands out, and the connector offers no way to read that pool back. There is an Import Coupons and a Delete Coupons, and nothing between them: no listing, no lookup, no mapping from a code to the person who received it. So a cleanup agent tidying an expired promotion cannot prove that the batch it is about to retire is not the batch sitting in a customer's inbox right now. It stops instead. It posts what it does know, the coupon group name, the campaigns that carried that block according to Get Campaign Log, and the dates those campaigns were queued, and asks: "Retiring coupon group SPRING24. Two campaigns delivered with this group attached in the last 21 days. Retire the batch now, or keep it live until the offer end date?" The marketer answers, and the codes that are still in flight keep working because a person, not a schedule, decided they should.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

66 actions

### Lists and Segments

5

-   **List Lists** Returns every subscriber list on the account. The starting point for any flow that has to resolve a list by name rather than hardcode an ID.
-   **Get List** Reads one list in full, including its custom fields, groups, segments, and subscriber counts by status. Run it before a write so the flow knows the field keys it needs.
-   **Create List** Creates a subscriber list with its own sender identity and sign-up behavior, including whether double opt-in applies.
-   **Update List** Updates a list's settings. The vendor requires the name on this route even when it is not changing, so a flow reads first and sends back.
-   **List Segments** Returns the saved filters defined on a list. A campaign can be addressed to a segment rather than to the whole list.

### Subscribers

15

-   **List Subscribers** Returns a page of a list's subscribers. Defaults to subscribed contacts only, so unsubscribed, unconfirmed, bounced, and complained records have to be asked for by status.
-   **Get Subscriber From List** Reads one subscriber of a list by email address, with custom fields, tags, groups, and numeric status.
-   **Get Subscriber By Phone** Reads one subscriber of a list by phone number in international form. Used when the inbound record has no address.
-   **Get Subscriber** Reads a subscriber across the account rather than within one list.
-   **Find Contact** Searches for a contact without knowing which list holds it. The lookup behind support and reconciliation flows.
-   **Subscribe To List** Adds or refreshes one contact on a list. The four flags on this route decide whether an existing record is updated, whether a past unsubscribe is honored, whether confirmation is skipped, and whether automations fire, so a flow sets them explicitly.
-   **Subscribe Bulk To List** Adds many contacts in one call. The flow splits its own batches, because the vendor drops anything over the limit without reporting it.
-   **Update Subscriber** Updates one subscriber's fields. Tags and groups are replacements rather than additions, so the write carries the complete set the contact should end up with.
-   **Update Subscribers Bulk** Applies the same treatment to a batch. Answers with counts rather than named addresses, so reconciliation happens against the flow's own input.
-   **Unsubscribe From List** Records an opt-out on a list. The right way to honor a request to stop, because it leaves the suppression in place.
-   **Delete Subscriber** Removes a subscriber record account-wide. It does not suppress the address, so a later import can bring the person back.
-   **Get Subscriber Events** Reads the tracker events recorded against one subscriber.
-   **Get Subscriber Email Log** Reads what this contact was actually sent. The operation that answers a support question without a guess.
-   **Get Subscriber Automation Log** Shows which automations this contact has passed through and when.
-   **Get Subscriber Transactions** Reads the purchases attached to a subscriber, which is what revenue segments are built from.

### Campaigns

9

-   **List Campaigns** Lists campaigns on the account, with the only vendor-side filtering in this part of the API.
-   **Get Campaign** Reads one campaign's configuration, audience, and state.
-   **Create Campaign** Builds a campaign addressed to lists or to named segments.
-   **Update Campaign** Updates a campaign. The vendor requires the whole body, including the content that is not changing, so the flow reads first.
-   **Send Campaign** Queues the campaign immediately. There is no schedule and no confirmation step on this route, which is why it belongs at the end of a flow rather than in the middle.
-   **Get Campaign Stats** Reads the headline results for a send.
-   **Get Campaign Stats Detail** Reads the detailed breakdown behind those headline numbers.
-   **Get Segment Stats** Reads results scoped to one segment, which is how a flow sizes an audience before it commits.
-   **Get Campaign Log** Reads per-recipient activity for a campaign. Used for reconciliation and for answering questions about a specific address.

### Automations

6

-   **List Automations** Lists the automations configured on the account.
-   **Get Automation Actions** Reads the steps inside one automation, so a flow knows what enrolling somebody will actually set off.
-   **Get Automation Action** Reads a single step in detail.
-   **Trigger Automation** Puts a contact into an automation. A write with downstream sends attached, so flows treat it as a send rather than as a tag.
-   **Get Automation Stats** Reads how an automation is performing.
-   **Get Automation Stats Detail** Reads the step-level breakdown of that performance.

### Transactional

4

-   **Send Transactional Email** Sends a one-off message with content supplied by the flow. The response reports accepted and rejected recipients separately, so a partial send is visible rather than assumed.
-   **Send Transactional Template** Sends the same way from a stored template. Used for order confirmations and account notices where the wording is owned by the marketing team.
-   **Get Transactional Stats** Reads delivery results for transactional sending.
-   **Get Double Opt In Stats** Reads how much sign-up traffic confirmed and how much did not, which is the number behind a list that looks bigger than it is.

### Templates

4

-   **List Templates** Lists the templates available to campaigns and transactional sends.
-   **Get Template** Reads a template's content and metadata.
-   **Create Template** Stores a new template on the account.
-   **Update Template** Updates a template. Requires the full HTML, so the flow reads before it writes.

### Tracker and Transactions

8

-   **Create Event** Records a behavioral event against an existing subscriber. It does not create the subscriber, so the contact write comes first.
-   **Get Event** Reads a recorded event back.
-   **Create Transaction** Attaches one purchase to a subscriber. The operation that lets revenue drive segmentation.
-   **List Transactions** Reads recorded transactions.
-   **Create Transactions Bulk** Loads many purchases at once, which is how an order history backfill runs.
-   **Update Transaction** Corrects a recorded purchase, for example after a partial refund.
-   **Delete Transaction** Removes one recorded purchase.
-   **Delete Transactions Bulk** Removes many at once. Used for corrections at scale, under review.

### Domains and Feeds

5

-   **List Domains** Lists the sending domains configured on the account.
-   **Create Domain** Registers a sending domain so mail can leave under it.
-   **Delete Domain** Removes a sending domain from the account.
-   **Refresh Product Feed** Asks Ecomail to re-read the product feed so campaign content matches the live catalog.
-   **Refresh Data Feed** Does the same for the data feed behind dynamic content.

### Coupons

2

-   **Import Coupons** Loads a batch of discount codes into a coupon group that campaigns hand out.
-   **Delete Coupons** Removes codes from a coupon group. Codes already delivered inside a campaign stop working, and no read operation exists to check which those were, which is why this page's human gate sits here.

### Recommenders

5

-   **List Recommenders** Lists the product recommenders configured on the account.
-   **Get Recommender** Reads one recommender's filters and configuration.
-   **Create Recommender** Creates a recommender that builds a product block from the catalog.
-   **Update Recommender** Updates a recommender. An omitted filter is read as no filter, so the write carries the complete set.
-   **Delete Recommender** Removes a recommender. Campaigns referencing it lose their product block.

### Account Webhook

3

-   **Set Webhook URL** Sets the account's callback URL. There is one, not a list, so setting it replaces whatever was there.
-   **Get Webhook URL** Reads the currently configured callback URL, which is how a flow checks before it overwrites.
-   **Delete Webhook URL** Clears the account's callback URL.

## Frequently Asked Questions

### What can FlowRunner do with Ecomail?

FlowRunner agents can run List Lists, Get List, and Create List in Ecomail, plus 63 more actions.

### Does connecting Ecomail to FlowRunner require OAuth?

No. Ecomail connects to FlowRunner with an API key, no OAuth flow required.

### Can Ecomail trigger a FlowRunner workflow automatically?

Ecomail doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Ecomail?** This integration exposes Ecomail to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/ecomail-cz. Site index: https://flowrunner.ai/llms.txt
