Free forever, no credit card.Get Started for Free →
← All posts
October 29, 2026 · 6 min read

She Moved in June. Why Did Your Scheduled Agent Ship Her Order to the Old Address?

She Moved in June. Why Did Your Scheduled Agent Ship Her Order to the Old Address? Quick answer: A scheduled agent keeps shipping to a customer's old address because the address it reads was frozen the first time it ever saw that customer, and the move was recorded somewhere the agent never looks. The fix is one current address per customer, with an effective date, that every run looks up fresh before anything ships. A customer moves in June. She updates her address in a support chat, and the

She Moved in June. Why Did Your Scheduled Agent Ship Her Order to the Old Address?

Quick answer: A scheduled agent keeps shipping to a customer's old address because the address it reads was frozen the first time it ever saw that customer, and the move was recorded somewhere the agent never looks. The fix is one current address per customer, with an effective date, that every run looks up fresh before anything ships.

A customer moves in June. She updates her address in a support chat, and the new address lands in the CRM. In August, your scheduled agent processes her repeat order and sends the parcel to the old address. The parcel comes back, or worse, it gets delivered to a stranger's door. Nobody on your team typed the old address. The agent did exactly what it was built to do. It just read the wrong copy.

The address your agent trusts is the oldest one it has

A scheduled agent rarely asks "where does this customer live now?" It asks something narrower: "what address is on the list I was given?" That list usually comes from the first order, the original signup form, or a spreadsheet export that was made once and never refreshed. The first address a customer ever gave you has a habit of becoming permanent, because it sits in the place the workflow reads first.

The move, meanwhile, gets recorded in a different place. A support agent updates the CRM. The customer changes the address at checkout on your website, but the scheduled workflow reads from the fulfillment sheet. A chat assistant notes the new address in a conversation, and no run ever writes that conversation back into the order record. Each system holds a different address, and the agent picks the one it was built to read. That is usually the oldest one.

Timing makes it worse. A run that pulls its address list on Monday and ships on Wednesday is already working from old information if the customer moved on Tuesday. A run that never re-checks an address at all works from the original address forever. The customer did everything right. She told you she moved. She just told a part of your system that the shipping run does not listen to.

An address is not a label, it is a record with a date

Most address failures come down to shape. An address stored as a plain text field with no date and no source cannot answer the only question that matters: is this current? When a customer has two addresses on file, one from 2023 and one from June, a text field gives the agent no way to choose. It takes whichever one it finds first, and "first" usually means oldest.

The fix is to treat an address as a record, not a label. One current address per customer, with three extra fields attached: the date it became effective, where it came from (a checkout update, a support chat, a form the customer filled in), and the previous address kept as history rather than deleted. When a new address arrives, it replaces the current one and the old one moves to history. Nothing gets overwritten silently, and nothing competes with the current record.

That history matters. A returned parcel, a delivery dispute, or a refund question will eventually ask where an order was sent and why. If the old address was deleted, that question has no answer. If it sits in history with a date range, the answer is right there: this was the current address until June, and the new one took over after that.

The run-start check that stops the wrong shipment

A current-address record only helps if the agent checks it before shipping. Add one step at the start of every scheduled run that ships anything: look up the customer, confirm the current address, and compare it with the address on the order. The check is short. Does the order's address match the current address on file? Is there a newer address with an effective date after the order was placed? Did the customer mention a move in any conversation since the last run?

If everything matches, ship. If anything disagrees, do not ship to the disputed address. Pause that order, record the mismatch and the two addresses involved, and surface it to a human. A paused order costs a short delay. A parcel sent to the wrong address costs the product, the reshipment, the support conversation, and sometimes a stranger holding a customer's order. For anything that leaves your building, pausing on a mismatch is the correct default.

This check also catches the quieter version of the same failure: the customer who never formally moved, but whose delivery instructions changed. A gate code, a "leave with the neighbour" note, a building entrance that changed after a renovation. Those details live in conversations, not in address fields, and a run that only reads fields will miss every one of them.

Where Vilix AI fits

This is the gap Vilix AI is built to close. Vilix AI is a cloud-hosted memory layer, so there is no infrastructure to set up and nothing to install. A scheduled agent connects to the same Vilix AI account over MCP as the rest of your tools, and every run reads and writes the same memory.

That shared memory is what makes an address change survive: a move mentioned in a support chat, captured once, is available to the next shipping run, to a different workflow, and to an assistant on another device, all reading from the same account. Vilix AI stores full conversation history, not just extracted facts, so the next run can revisit what the customer actually said about the move, including the date it took effect and any delivery notes that came with it.

The setup stays simple: a free plan forever, a 7-day Pro trial with no credit card, and data that stays portable, with export or delete anytime.

The test for your next run

Before your scheduled agent ships its next batch, ask one question: if a customer moved since the last run, would this run know, and would it ship to the new address?

If the answer is no, the fix is not a better address form. The form already captured the move. The fix is an address memory: one current address with a date, looked up at the start of every run, with any mismatch paused instead of shipped. Customers do not expect your agent to guess where they live. They expect it to remember what they already told it.

Get Started for Free

Free forever, no credit card.

Get Started for Free

Persistent memory across ChatGPT, Claude, and the AI tools you already use in Vilix AI.

Get Started for Free

Free forever, no credit card.

Keep reading
Does Base44 Remember Between Sessions? Two Different Memories, Two Different Answers

Does Base44 Remember Between Sessions? Two Different Memories, Two Different Answers Short answer: yes, in two separate places, and neither one is the memory most people mean when they ask the question. The AI chat that builds your app keeps its conversation, its plans, and the instructions you wrote for that app. The AI agents you build inside your app have their own memory, on by default, that carries preferences and facts across conversations with your app's users. Both are real. Both stop a

Does v0 Remember Between Sessions? Chat Context, Knowledge, and Where It Stops

Does v0 Remember Between Sessions? Chat Context, Knowledge, and Where It Stops Short answer: inside one chat, yes. Across chats, projects, and the rest of your tools, mostly no, unless you wrote the context down yourself in the places v0 calls Knowledge and custom instructions. That distinction matters because v0 feels continuous while you work in it. You return to a chat, the conversation is still there, the generated app is still there, and iteration picks up where it left off. It is easy to

Does Bolt Remember Between Sessions? Chat Threads, Knowledge, and Short-Term Memory, Explained

Does Bolt Remember Between Sessions? Chat Threads, Knowledge, and Short-Term Memory, Explained Short answer: the project remembers, because the project never goes away. Your code, your chat thread, your version history, and your backups are all still there when you come back tomorrow, so picking the work back up feels continuous. But Bolt does not build a learned memory of you or your decisions the way a memory product does. What carries between sessions is the work itself, plus whatever contex