FlowRunner
PricingContact
Theme
Start Free

Enginemailer

Email Marketing

Enginemailer is a Malaysian email marketing and transactional email platform. Agents submit transactional email, manage subscribers and custom fields in batches, and build, assign, and send campaigns.

Verified 25 actions API key available
Enginemailer website Platform Documentation Capability data verified 2026-08-19
An order is confirmed in the storefront
Agent reads the buyer, the order details, and the substitution values the template expects
Insert Subscriber adds the buyer, or Update Subscriber refreshes them with the custom field mode set to merge rather than replace
Send Email delivers the confirmation from a verified sending domain
Agent reads the status carried inside the response body, because the transport status on its own reports success even on an authentication failure
Anything that failed posts to the operations channel with the platform's own message attached
Before a promotion is committed with Schedule Campaign, a marketer confirms the moment and the account's credit position

What This Integration Enables

Enginemailer is a Malaysian platform that leads with transactional email and treats campaigns as a state machine with real rules attached. A campaign needs at least one recipient before it can be sent. Assigning that recipient list happens asynchronously on the platform's side, and while it is running, deleting, reassigning, and scheduling all refuse. A scheduled campaign has to be paused before it can be updated. A campaign that is delivering or delivered cannot be changed at all. Plenty of platforms let a flow edit a scheduled send in place. This one does not, and building against it means sequencing the calls the way the platform expects rather than firing them and hoping.

FlowRunner agents submit transactional mail with templates, attachments, and substitutions, manage subscribers individually or in batches, read the account's categories and custom field keys before writing to them, and drive the full campaign sequence from creation through assignment to a send or a schedule. The connector reads the platform's real outcome out of the response body rather than trusting the transport status, which matters here because this host answers cleanly while reporting an authentication failure in the payload. Getting that right is the difference between a flow that fails loudly and one that quietly delivers nothing.

Without FlowRunner

Success taken at face value A call that returned cleanly is assumed to have worked, and the real status sits unread inside the payload
Bulk updates trusted blindly A large subscriber update reports the same way whether every row landed or half of them were dropped
Campaign state learned by failure Nobody finds out a scheduled campaign had to be paused first until an update is silently refused

With FlowRunner

Status read where it lives Every call checks the outcome inside the body, so an authentication failure surfaces as a failure
Bulk updates reconciled The flow polls the batch job and checks individual records afterward rather than assuming the count
Campaign state respected in order Assign, then send or schedule, and pause before changing anything already committed

Use Case Scenarios

  • Order confirmations that are actually confirmed

    An order completes in Shopify or WooCommerce. The agent resolves the buyer with Get Subscriber, calls Insert Subscriber when there is no record, and Update Subscriber when there is, with the custom field mode set explicitly to merge, because the route's default replaces every custom field the subscriber had. Send Email delivers the confirmation from a template, with the substitution values supplied and the sending domain already verified on the account. The flow reads the status inside the response rather than the status of the call, so a rejected sender domain becomes an alert rather than a customer who never heard anything.

  • A bulk update that gets reconciled

    A nightly sync brings a few thousand changed subscriber records out of the CRM. The agent calls Batch Update Subscribers and then polls Get Batch Update Status until the job reports complete. That is where most integrations stop, and where this one should not: the platform removes rows that fail validation from processing and names none of them, so a half-failed batch and a fully successful batch look the same from the outside. The flow samples the changed records back with Get Subscriber, compares them against the input, and posts the reconciliation to Slack with the unmatched rows attached rather than reporting a clean run.

  • Transactional reporting pulled without a person exporting it

    Finance wants last month's transactional volume alongside the payment records in Stripe. The agent calls Export Transactional Report for the period, which returns a job identifier rather than a file, then polls Check Export Status until the download URL appears. The results land next to the payments, and the reconciliation runs on a schedule. The flow keeps its requested period inside the window the platform allows rather than asking for a range it will refuse.

Human-in-Loop Highlight

Schedule Campaign is the one call on this connector an agent cannot take back or repair. It commits a send to a future moment when the flow will not be running, and if the account is short of credit when that moment arrives, the platform marks the campaign failed and it never goes out. That failure is correctable only in the portal. There is no API route that resets it, which means the agent that created the problem is architecturally incapable of fixing it, and the first person to notice is usually whoever asks why the promotion did not land.

So the agent does everything up to that point and stops. It creates the campaign, assigns the recipient list, waits for the assignment to finish because the platform refuses a schedule while it is in flight, and then posts: "Campaign ready for 14 March, 09:15. Audience is 38,400 recipients after suppression. Scheduling commits it, and if the account is short of credit at that moment the campaign is flagged failed and can only be recovered from the portal. Confirm the schedule?" A marketer confirms, and the agent calls Schedule Campaign. If the timing needs to change afterward, the flow calls Pause Campaign first, because that is the order this platform enforces. The agent is faster at the sequence. The person is the one who can be reached at nine in the morning.

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

25 actions

Transactional

3
  • Send Email Submits a transactional message, optionally from a stored template, with substitutions, copies, and attachments. The sending domain must already be verified on the account, and where a template is used the sender address has to match the one the template carries.
  • Export Transactional Report Starts an export of transactional results for a period and returns a job identifier rather than a file.
  • Check Export Status Polls that export and returns the download URL once it is ready.

Subscribers

8
  • Get Subscriber Reads one subscriber with their categories and custom field values. The reconciliation step after a batch write.
  • Insert Subscriber Creates a subscriber. It does not update, so an address that already exists comes back as existing rather than being overwritten.
  • Update Subscriber Updates a subscriber. Two mode fields decide whether categories are appended and whether custom fields are merged or replaced, and neither defaults to leaving things alone, so the flow sets both.
  • Delete Subscriber Removes a subscriber record from the account.
  • Unsubscribe Subscriber Records an opt-out, which is the route that honors a request to stop rather than removing the record.
  • Activate Subscriber Reactivates a subscriber on the account.
  • Batch Update Subscribers Updates many subscribers in one job. Rows that fail validation are removed from processing and are not named anywhere, so a flow reconciles rather than trusting the count.
  • Get Batch Update Status Polls a batch job until it completes. Answers on a different envelope than the rest of the API, which the connector normalizes.

Categories and Fields

5
  • Get Subcategories Returns the subcategories a subscriber can belong to, which is how an audience is described on this platform.
  • Get Custom Fields Returns each field's key and type. The key rather than the display label is what writes have to use, and the type dictates the value format the platform will accept.
  • Create Or Update Category Creates a category or updates an existing one.
  • Get Category List Lists the account's categories.
  • Get Subcategory List Lists the subcategories under a category, which is what a campaign's audience rules are built from.

Campaigns

9
  • List Campaigns Returns campaigns that have not yet been delivered. An empty result is not an empty account, so a flow does not read it as one.
  • Create Campaign Creates a campaign with its subject, sender, and content.
  • Update Campaign Updates a campaign. A scheduled campaign has to be paused first, and one that is delivering or delivered cannot be changed at all.
  • Delete Campaign Removes a campaign, which is also how room is made when the account reaches its campaign limit.
  • Assign Recipient List Attaches an audience to a campaign. Runs asynchronously on the platform's side, and while it does, deleting, reassigning, and scheduling all refuse.
  • Delete Recipient List Detaches the audience from a campaign, so a different one can be assigned.
  • Send Campaign Sends the campaign now. Requires at least one recipient already assigned.
  • Schedule Campaign Commits the campaign to send at a future moment, on the platform's own time format and on a quarter-hour boundary. The operation this page's human gate exists for, because a credit shortfall at that moment fails the campaign in a way no API route can undo.
  • Pause Campaign Pauses a scheduled campaign, which is the prerequisite for changing or reassigning it.

Frequently Asked Questions

What can FlowRunner do with Enginemailer?

FlowRunner agents can run Send Email, Export Transactional Report, and Check Export Status in Enginemailer, plus 22 more actions.

Does connecting Enginemailer to FlowRunner require OAuth?

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

Can Enginemailer trigger a FlowRunner workflow automatically?

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

Start building with Enginemailer

Free plan, no card required. Connect in minutes.