Smaily
Email MarketingSmaily is an Estonian email marketing and automation platform. Agents manage subscribers and segments, launch campaigns and A/B tests, trigger automation workflows, send transactional messages, and read the event logs.
What This Integration Enables
Smaily is an Estonian platform with an unusual and welcome commitment baked into its API: writing a subscriber record is not the same act as earning the right to mail them. Upsert Subscriber and Upsert Subscribers write data and deliberately fire no automations. Opt In Subscribers and Trigger Automation Workflow are the operations that start a sequence. Most platforms blur that line and leave you discovering the blur during a bulk import. Smaily draws it in the route table, which makes it a good fit for teams whose subscriber data arrives continuously from a product or a warehouse and whose consent arrives separately, on its own schedule.
FlowRunner agents work on both sides of that line. They keep records current, build and update segments from rules, read the two thirty-day action logs to see what individual people actually did, launch campaigns and A/B tests, and send per-recipient transactional messages that borrow an automation purely as a template. They also make Smaily's failures visible: this API answers HTTP 200 to refusals and hides the real outcome in a response code, so the connectors layer checks that code first and raises anything that is not a success. An agent cannot exercise judgment about a result it was told was fine.
Without FlowRunner
With FlowRunner
Use Case Scenarios
-
Product signups that respect the marketing checkbox
Signups arrive in PostgreSQL. On a schedule, the agent reads the new rows and calls Upsert Subscribers in batches, writing plan, locale, and trial end date as custom fields. Nothing is sent, by design. A second pass filters that batch down to the people who actually opted in on the form and calls Opt In Subscribers on only those addresses, which fires the account's welcome workflow. Because both routes answer with an accepted-addresses array rather than an error, the agent compares what it submitted against what Smaily took and posts the difference to Slack, so an address rejected as invalid is visible on the day it happened rather than in next quarter's list audit.
-
Segments that stay honest as the data moves
The revenue team wants a segment of trialers whose trial ends inside seven days and who have opened something in the last month. The agent calls Get Segment to read the current rules, rebuilds them with the new date window, and calls Update Segment. That route replaces the rule set rather than merging into it, so reading first is not optional, and the agent does it every time. List Segment Subscribers then confirms the segment resolves to a plausible number before any campaign is pointed at it, and Get Campaign Statistics feeds the result back into a sheet in Google Sheets after the send.
-
Per-order transactional mail that does not run a workflow
An order in Shopify needs a receipt with a PDF attached. The agent calls Send Message, which borrows an automation workflow purely as the template and ignores its filters and delays, which is exactly what a single-recipient message needs. Attachments carry either inline content or a public URL, never both, and the connector catches that before the call rather than letting the request fail on the wire. Message Action Log then answers the support question that follows a week later: what happened to that specific message, and when.
Human-in-Loop Highlight
Smaily offers three ways to remove someone and they are not degrees of the same thing. Unsubscribe Subscriber sets a flag. Delete Subscriber removes the record and purges custom data, but does not set the unsubscribed status, which means the same address can be imported again tomorrow and will receive mail. Forget Subscribers is the one with no way back: it erases the subscribers and their statistics, rewriting the numbers on campaigns that already went out and were already reported. A GDPR erasure batch therefore changes figures somebody has already put in a board deck.
So the erasure agent assembles and stops. It posts: "27 erasure requests are ready. Together these people appear in 14 campaigns sent since January, including the Q1 launch whose open rate will move once their statistics are removed. 3 of the 27 are still active paying accounts under a different address. Approve the erasure, or hold the 3 for review?" The data protection owner answers. The agent runs the reversible work on its own all week, every week. The call that rewrites reported history is the one it hands over.
Agent Capabilities
26 actionsSubscribers
8- Upsert Subscriber Creates or updates one subscriber with custom fields. Fires no automation, which is what makes it safe to run continuously against a source system.
- Upsert Subscribers The same write in bulk. The workhorse for keeping a warehouse or product database and Smaily in agreement.
- Get Subscriber Reads one subscriber with every custom field and engagement counter. Used to gather context before a decision.
- Unsubscribe Subscriber Sets the unsubscribed flag so no further campaign is delivered. The reversible removal that preserves the opt-out.
- Delete Subscriber Removes the record and purges custom data. It does not record an opt-out, so it is the weaker action for consent even though it sounds like the stronger one.
- Forget Subscribers Erases subscribers and their statistics, rewriting past campaign numbers. Cannot be undone, and the operation this page's human gate exists for.
- Opt In Subscribers Opts addresses in and fires the account's subscriber opted-in workflow. Answers with the addresses that were accepted, so a silent rejection is countable.
- Subscriber Action Log Reads subscriber level events from the last thirty days. The evidence trail behind "why did this person get that email."
Segments
5- List Segments Lists every segment with its subscriber count. Used to size an audience before pointing a campaign at it.
- Get Segment Reads one segment with its rules. Read this before updating, because the update replaces rather than merges.
- List Segment Subscribers Lists the subscribers a segment currently resolves to. The sanity check between a rule change and a send.
- Create Segment Builds a segment from field, operator, and value rules. The connector assembles Smaily's nested rule shape so the pairs cannot be put together wrongly.
- Update Segment Replaces a segment's name and rules. Not a merge, which is why an agent reads the current rules first every time.
Campaigns
4- List Campaigns Lists campaigns filtered by status and tag. Used for reporting sweeps and for finding the campaign an unsubscribe should be counted against.
- Get Campaign Statistics Reads campaign totals, and per recipient detail when asked. The input to weekly performance reporting.
- Launch Campaign Creates a campaign and sends it, unless it is saved as a draft. Content comes from exactly one of a template, an HTML URL, or inline HTML.
- Unsubscribe Campaign Recipient Records an opt-out against a named campaign so it appears in that campaign's unsubscribe count. The right route whenever the opt-out came from a campaign.
A/B Tests
3- List AB Tests Lists A/B tests with their variants.
- Get AB Test Statistics Reads per variant totals, and per recipient detail when asked. Used to decide what the next campaign should look like.
- Launch AB Test Creates an A/B test and sends it, unless it is saved as a draft. The winning condition and win time govern which variant carries the remainder.
Automations and Messages
4- List Automation Workflows Lists workflows with their message sections. Used to find the template a transactional send should borrow.
- Trigger Automation Workflow Opts an address in and starts one named workflow. The deliberate way to begin a sequence, separate from writing the record.
- Send Message Sends one transactional message, with attachments, using an automation purely as the template. Filters and delays are ignored, which is what makes it a per-recipient operation.
- Message Action Log Reads message level events from the last thirty days. The answer to a support question about one specific message.
Templates and Organization
2- List Templates Lists templates with their type and preview URL. Used so a workflow can name a template rather than hard-coding an ID.
- List Organization Users Lists the people with access to the account and their roles. Used to resolve the right approver before a workflow pauses for one.
Frequently Asked Questions
What can FlowRunner do with Smaily?
FlowRunner agents can run Upsert Subscriber, Upsert Subscribers, and Get Subscriber in Smaily, plus 23 more actions.
Does connecting Smaily to FlowRunner require OAuth?
No. Smaily connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.
Can Smaily trigger a FlowRunner workflow automatically?
Smaily doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Smaily
Free plan, no card required. Connect in minutes.