{"author":"bjornpagen","children":[{"author":"bosky101","children":[{"author":"bjornpagen","children":[{"author":"bjornpagen","children":[],"created_at":"2024-11-14T22:24:23.000Z","created_at_i":1731623063,"id":42141853,"options":[],"parent_id":42131158,"points":null,"story_id":42130655,"text":"Update: users automatically rejoin &#x27;dynamic&#x27; campaigns as soon as they fulfill the criteria","title":null,"type":"comment","url":null}],"created_at":"2024-11-13T22:59:17.000Z","created_at_i":1731538757,"id":42131158,"options":[],"parent_id":42131118,"points":null,"story_id":42130655,"text":"Thanks bosky101!<p>1. Currently campaigns are oneshot: users enter once and progress through until the generator flow returns. No auto re-entry yet, but planned for &#x27;dynamic&#x27; campaigns. They are triggered by events that you can send to the api, or by a user automatically entering a segment.<p>2. See 1<p>3. Yes, the campaign flow definition is &quot;just typescript&quot;. It&#x27;s turing complete and runs in a QuickJS VM, and therefore supports exponential backoff.<p>4. MySQL is supported, Postgres not yet<p>5. Yeah, it&#x27;s only focused on comms now<p>6. I plan to support SMS","title":null,"type":"comment","url":null}],"created_at":"2024-11-13T22:53:33.000Z","created_at_i":1731538413,"id":42131118,"options":[],"parent_id":42130655,"points":null,"story_id":42130655,"text":"Some questions remain answered from your home page ( from someone at a mid sized firm writing their &quot;build-it-yourself&quot; version of the same goal at largish scale)<p>1. How often is each campaign run?<p>2. How does it avoid re-sending the same campaign to the same segment over and over? You really should change your queries with a where close of the last N mins to avoid sending all users all the time. where N is the answer to (1)<p>3. Is there a way to send reminders, with exponential backoff?<p>4. My first instinct was searching for postgres, mysql. both were not present. Consider saying supported. and then mention your orm, maybe which all db&#x27;s it supports.<p>5. It seems like the channel right now is only email. But it wasn&#x27;t clear if the channels could be push&#x2F;sms&#x2F;etc in the future. Because its likely companies already are accustomed to multi&#x2F;omni channel. A roadmap would help.<p>6. Your docs mention the email channel as postmark. but i couldnt find a list of supported email apis. Maybe a way to add your own vendor would be great for contributors.<p>7. Tools and alternatives to temporal&#x2F;inngest&#x2F;hatchet&#x2F;trigger&#x2F;zeplo&#x2F;mergent&#x2F;restate are welcome, and this seems focussed on messaging&#x2F;comms.<p>Kudos to a nice start. Good luck!","title":null,"type":"comment","url":null}],"created_at":"2024-11-13T22:10:06.000Z","created_at_i":1731535806,"id":42130655,"options":[],"parent_id":null,"points":7,"story_id":42130655,"text":"After getting frustrated with Customer.io&#x27;s limitations, I built an open-source alternative that lets you write marketing automation in pure code. Define user segments in SQL, write email flows in TypeScript, and template emails in React+Tailwind.<p>Support for campaigns, segments, events, users, and transactions. SMS support planned.","title":"Show HN: Email marketing as code (open source Customer.io alternative)","type":"story","url":"https://segflow.io"}
