We were reviewing how Sinan AI handles customer data end to end, business by business, question by question. One question we hadn't actually answered: what happens when someone who received a campaign email from a Sinan AI-connected business decides they don't want the next one?
The honest answer, until this week, was: nothing good. Sinan AI can draft and send marketing emails on a business's behalf -- re-engagement campaigns, win-back messages to lapsed customers -- and none of them carried a way to opt out. Anyone who wanted out had to reply and ask, and hope someone read it.
What we built
Every marketing email Sinan AI sends now carries a working, one-click unsubscribe link. Click it, and that address is suppressed for that business going forward -- checked automatically before every future send, and built to fail safe: if the suppression check itself can't complete for any reason, Sinan AI treats that as "don't send" rather than risk emailing someone who already opted out. Order confirmations and other transactional email are unaffected, since opting out of marketing shouldn't mean losing your own receipts.
The other gap, next to it
While we were in that part of the system, we also noticed our own setup instructions for a custom-built store connecting to Sinan AI never mentioned the customer-sync endpoint at all -- a business's developer could build everything else in our integration contract and still have no idea a GET /customers endpoint existed, let alone what fields it needed to carry. That's now part of the standard setup instructions every business sees the moment they connect a custom store, not something we only explain after someone runs into it.
Why this took as long as it did
Neither of these is a hard engineering problem. They're both the kind of gap that's easy to miss because nothing breaks loudly when it's missing -- a campaign without an unsubscribe link still sends successfully, and a setup guide missing one field still lets you connect. We'd rather find gaps like this ourselves, on a routine review, than have a customer or their customer find it first. That's the standard we're trying to hold this to, and this is one more case where it worked the way it's supposed to.