Flashy
Email MarketingRun omnichannel marketing automation on Flashy, the Israeli platform, through its official API. Agents manage contacts and segments, trigger campaigns, and read engagement back into the customer record.
What This Integration Enables
Flashy is the Israeli omnichannel platform, and the tell for who it is built for is Track Offline Event. Most lifecycle tools assume the customer exists in a browser. Flashy assumes the customer might have walked into a shop, paid at a counter, and left behind a phone number rather than an email address. That assumption runs through the whole contact model: you nominate which field is the primary key, matching on email, phone or Flashy contact ID depending on which one your business actually has for that person.
The rest of the surface follows from that. Contacts carry list membership as a map of list ID to a marketing-eligible flag, so subscription state is per list rather than global. Send Email and Send SMS are one-to-one operations against verified senders and a real credit balance, which makes them the right tool for triggered messages and the wrong tool for blasts. Track Event and Track Offline Event feed the same automations from two different worlds. Reporting comes back at campaign and automation level for email and SMS separately, so the SMS credit spend can be reconciled against the revenue it produced. There are no triggers here, and that is a deliberate choice rather than a gap: Flashy documents webhook creation and the payloads it delivers but not the parameters its delete call takes, so an automatically managed subscription could orphan webhooks on the account. The webhook operations are exposed as ordinary actions you drive explicitly instead.
Without FlowRunner
With FlowRunner
Use Case Scenarios
In-store purchase closing a browse loop
A customer browses a product online and leaves. Track Event records the ViewContent, and a Flashy automation queues a reminder. Two days later they buy the item in a physical store. The point-of-sale export reaches the flow, and the agent calls Track Offline Event with both the email and the phone number, because Flashy matches on email first and falls back to phone, so supplying both improves the match. The automation sees the purchase and stops the reminder before it sends. The customer never receives a nudge to buy something already in their bag.
Order lifecycle across two channels
An order ships from Shopify. The agent reads the contact with Get Contact, and picks a channel based on what the record actually holds. If the contact has a verified email, it calls Send Email with the shipping template and the tracking variables. If the customer only left a phone number at checkout, it calls Get Account first to confirm the SMS credit balance, then Send SMS marked as transactional so the message is correctly classified as a service notification rather than marketing. One flow, two channels, chosen by the data rather than by a default.
Auditing who Flashy is notifying
Before adding a new integration, an agent calls Get Webhooks to list every destination URL currently registered and the events each one subscribes to, then writes that inventory into Notion alongside the owning team. Get Webhook Events supplies the valid event names so a new subscription is registered against events Flashy actually emits rather than against a guessed string. When a subscription needs to widen, Update Webhook adjusts the existing one instead of tearing it down and rebuilding it.
Human-in-Loop Highlight
The gate is on the primary key, because Flashy lets you nominate it and the wrong nomination destroys data quietly. Create Contact with overwrite enabled matches on whichever field you named and rewrites the matched record. Run a bulk retail sync keyed on phone, and every source row sharing a phone number collapses into one contact: the shared family mobile, the store's own number that a clerk typed in six hundred times, the placeholder a POS system inserts when a customer declines to give one. Those are not merges anyone intended, they are not reversible, and nothing in the response says a merge happened. So the agent counts the collisions first and asks before it writes: "4,100 rows ready to sync. Keyed on phone, 312 of them share a number with a differently named record, and 87 share the store landline. Keyed on email, 1,900 rows have no email at all and would be skipped. Run keyed on phone, run keyed on email and route the 1,900 to manual review, or hold?" This is what FlowRunner means by human-in-the-loop: the agent did the counting no person would do by hand, and stopped at the judgment call about identity, which no counting can settle.
Agent Capabilities
19 actionsAccount
1- Get Account Retrieves the account the configured API key belongs to, including its name, website, timezone, currency and remaining SMS credit balance. Used as a connection health check and as the preflight step before any SMS send commits.
Contacts
5- Create Contact Creates a contact, or updates the existing record when overwrite is enabled, matching on the primary key you nominate. List membership is supplied as a map of list ID to a marketing-eligible flag, so one call can subscribe a person to several lists with different eligibility. The choice of primary key determines what an overwrite folds together.
- Update Contact Updates the properties of an existing contact, located by the identifier and primary key supplied. The primary key itself cannot be changed. List membership can be adjusted in the same call.
- Get Contact Retrieves a single contact by email, phone or Flashy contact ID depending on the nominated primary key, returning stored properties and list memberships. Used to enrich a flow with what Flashy already knows before choosing a channel or a message.
- Block Contact Marks a contact as blocked so they stop receiving emails and SMS, and unsubscribes them from every mailing list they belong to. Used to honor a global opt-out. The block is not permanent: signing up again returns the person to subscribed for the list they joined.
- Search Contacts Searches the account's contacts by email address or phone number and returns matches with their Flashy contact IDs. Used to resolve a raw contact detail into the ID other operations need, and to detect collisions before a bulk write. Phone searches omit the plus sign and include the international prefix.
Lists
1- Get Lists Retrieves all newsletter lists on the account with their numeric IDs and titles. Used as the first call when wiring subscription management, since those IDs are what the contact operations expect inside their lists map.
Messages
2- Send Email Sends a one-to-one email using raw HTML or a template built in Flashy's editor, with template variables supplied per recipient. Used for triggered and transactional messages. The sender address must be verified on the account.
- Send SMS Sends an SMS worldwide, with the destination number carrying an international country code and no plus sign. Used for time-sensitive follow-up. Requires available credits, and messages should be marked transactional when they are service notifications rather than marketing.
Events
2- Track Event Sends a tracking event so it can be recorded against a contact and start an automation. Flashy supplies predefined names such as ViewContent, AddToCart and Purchase, with custom events available where none fits. Used to make automations react to web and in-app behavior as it happens.
- Track Offline Event Sends an event that happened away from your website, such as an in-store purchase. Flashy matches the contact by email first and falls back to phone, so supplying both improves the match rate. Used to close the loop between a physical location and a digital journey. Requires the Master plan or above.
Reports
3- Get Email Campaign Reports Retrieves per-campaign email performance for a date range, covering recipients, delivery, opens, clicks, purchases, revenue, bounces, unsubscribes and spam complaints. Used to feed engagement back into scoring and suppression logic.
- Get SMS Campaign Reports Retrieves per-campaign SMS performance for a date range. Used to reconcile SMS credit spend against the revenue those campaigns produced.
- Get Automation Reports Retrieves automation performance broken down by automation and by day within a date range, capped at 31 days per request. Used to chart how an automation performs over time rather than as a single lifetime number.
Webhooks
5- Get Webhooks Retrieves every webhook configured on the account with its destination URL and subscribed events. Used to audit which external systems Flashy currently notifies before anything is added or removed.
- Get Webhook Events Retrieves the event names a webhook can subscribe to, such as contact_created and email_campaign_opened. Used before creating a subscription so the registered events are guaranteed to be ones Flashy actually emits.
- Create Webhook Registers a webhook so Flashy posts to your URL when a selected event occurs, delivering the payload as a JSON array of event objects. Used to wire Flashy activity into a downstream system explicitly rather than through managed subscriptions.
- Update Webhook Changes the destination URL or the subscribed event list of an existing webhook. Used to widen or narrow what an external system hears about without recreating the subscription.
- Delete Webhook Permanently removes a webhook so Flashy stops sending it notifications. Matched on the endpoint URL, so Get Webhooks belongs immediately before it to confirm exactly which destination is being removed.
Frequently Asked Questions
What can FlowRunner do with Flashy?
FlowRunner agents can run Get Account, Create Contact, and Update Contact in Flashy, plus 16 more actions.
Does connecting Flashy to FlowRunner require OAuth?
No. Flashy connects to FlowRunner with an API key, no OAuth flow required.
Can Flashy trigger a FlowRunner workflow automatically?
Flashy doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Flashy
$100 in credits. No card required. Connect in minutes.