Does Omnisend Remember Between Runs?
Does Omnisend Remember Between Runs? No. An Omnisend workflow holds no memory of its own between runs. When a contact enters a workflow, that workflow reads the contact exactly as the record stands at that moment: the custom properties currently stored on the profile, the tags currently applied, and the segment the contact currently matches. Anything an earlier run worked out survives only if that run wrote it back first, as a custom property update, a tag, or an event a later step can check.
Does Omnisend Remember Between Runs?
No. An Omnisend workflow holds no memory of its own between runs. When a contact enters a workflow, that workflow reads the contact exactly as the record stands at that moment: the custom properties currently stored on the profile, the tags currently applied, and the segment the contact currently matches. Anything an earlier run worked out survives only if that run wrote it back first, as a custom property update, a tag, or an event a later step can check.
That distinction is easy to miss because Omnisend feels continuous. Contacts, orders, and workflows are all still there tomorrow, and a contact halfway through a sequence resumes at the right block. The continuity lives in stored records and workflow definitions, not in a memory one run hands to the next.
What does an Omnisend contact actually hold?
Omnisend stores several different kinds of data about a contact, and the split matters. Custom properties are permanent profile data: values such as loyalty points, a membership tier, a preferred language, or a product preference. A signup form, an import, a manual edit, or an event carrying contact data sets a custom property, and a later write replaces the earlier value. Custom properties work across all campaigns and automations, and the profile shows the latest value, not the history of values.
Tags work differently. A tag is a label applied to a contact, such as a campaign response, a customer status, or a workflow marker. Tags accumulate until they are removed, and segments, trigger filters, and conditional splits can all check whether a contact carries a tag right now. A tag records that a label applies. It does not record why it was applied, what was checked before it was added, or what an earlier run decided and then set aside.
Events add a third shape. An event records that something happened: subscribed, viewed a product, placed an order, abandoned a cart. Custom events arrive through the API with their own properties attached. Those event properties, called custom fields in the interface, describe that one action, such as a tracking number, a product name, or a review link.
The event detail that never becomes profile memory
Here is the split that catches operators out. Custom fields are not permanently saved to the contact profile. Omnisend's own documentation states that plainly: custom fields attach to an event and are available only in automations triggered by that event. They can drive a trigger filter, a split condition, and message personalization inside that one workflow. They cannot be used as a standalone segment rule, and they are not there for a different workflow next week to read as profile data.
So a run can know a great deal while it is running and leave almost none of it behind. If a workflow checks a tracking number, compares product details, or reasons over event properties and never writes a conclusion back as a custom property or a tag, the next run starts from the profile alone. The detail existed. It was used. It was not kept where a later run can find it.
What does the workflow itself keep?
A workflow keeps its definition: its trigger, its blocks, its delays, its exit conditions, and its frequency setting. It also keeps a position for each contact inside it, which is why a contact in a welcome series or an abandonment sequence continues from the right block instead of restarting.
Exit conditions are checked continuously while a contact is in the workflow, so a contact who places an order leaves an abandonment flow. Frequency controls how often the same contact can re-enter: once per lifetime, or again after a set interval. Skip Contacts can hold a contact out of a lower-priority workflow while a higher-priority one is active or recently finished.
None of that is a run handing knowledge to the next run. A conditional split reads contact properties and the triggering event at the moment it runs. Trigger filters check event data at the moment the workflow triggers, and Omnisend warns that a split cannot be based on order tags or fulfillment status added after the trigger. The workflow is very good at reading current state at the right moment. It does not carry a narrative forward.
Where scheduled AI agents hit the same wall
Add a scheduled AI agent beside an Omnisend account and the gap widens. The agent runs on a schedule, reviews contacts, checks orders, drafts a follow-up, or decides which segment needs attention. Inside Omnisend, its work survives only where it wrote a tag or a custom property. Outside Omnisend, in the chat or tool where the agent actually reasoned, the full context of that run, what it checked, what it ruled out, and why it chose one action over another, has no home in the contact record at all.
The next run, whether it is the same agent tomorrow or a different tool next week, meets a profile of current values. It does not meet the reasoning. It re-reads the same contacts, re-checks the same orders, and re-derives the same conclusions, because the one place that held the full story was the previous run itself, and that run ended.
Give the runs one shared memory
Vilix AI is built for exactly that missing layer. It is cloud-hosted with zero infrastructure to run, so there is no database to provision and no server to maintain before an agent can remember. Every connected tool reads and writes the same memory over MCP, so an agent working beside Omnisend, a coding assistant, and a chat tool all work from one shared state instead of separate run histories.
Vilix AI stores full conversation history, not just extracted facts. A later run can revisit what was actually discussed, checked, and decided, in order, rather than guessing from a tag that only says a label applies. That is the difference between a profile that says a contact is in a segment and a memory that says why the contact was put there, what was already tried, and what should happen next.
The plan structure keeps the starting point simple. There is a free plan forever, and a 7-day Pro trial with no credit card required. Data stays portable throughout: export everything or delete it anytime. An operator can connect a first agent, let it save its runs, and watch the next run start informed instead of blank, before any payment decision is due.
The short answer
Does Omnisend remember between runs? The contact record remembers, in current values. The workflow remembers its definition and each contact's position inside it. The run itself remembers nothing, and event custom fields never become profile memory at all. Anything that matters for tomorrow has to be written back today, as a property, a tag, or an event, or saved in a memory layer outside the workflow. Give scheduled agents that shared memory, and each run starts where the last one finished.