October 5, 2026
Hi everyone,
Thanks for all the enthusiastic feedback on the calendar that shipped last month. It was a pretty big missing piece for the platform and I’m really glad that we now have it.
In the last few weeks I’ve personally helped people move over their email and other precious data: I can totally understand that it’s a big step to make that change. I’ve helped journalists change their DNS settings and I’ve worked with a team to set up dual delivery from Google to gradually switch over. I also spent time with someone to help them use Cirrux while the rest of their team is still on Outlook. I’m more than happy to do the same for you. Just reach out and I'll talk you through the process.
My goal for Cirrux is both simple and pretty big: build the best workspace in the world. One piece at a time. I’m currently putting Cirrux Docs through testing and if all goes well I’ll start rolling it out to Cirrux Superfans later this week. It works offline, is fully collaborative and the Cirrux CLI (for agents) has complete access to docs as well, so from day 1 you can have your favorite agent help you create, proofread, comment and suggest right into your documents. I think you’ll love it (I’m writing this update in it, actually!).
Let's jump into what’s new, starting with the three biggest ones: calendar subscriptions, webhooks and a new spam filter.
The most common question after the calendar launch was "how do I get the sports calendar / family calendar from a different calendar app / school calendar on here?". You can now. Paste an ICS link in the calendar sidebar and Cirrux subscribes to it. It gets checked for changes regularly, so when the club moves a match, your calendar follows. Two-way sync with Google or Microsoft calendars isn't possible, but this at least gives you a complete view in one place.
If you want your own systems to do something with incoming mail, like opening a ticket for every email to support@ or pushing invoices into your bookkeeping, you no longer have to poll for it. Workspace admins can register a webhook at admin.cirrux.info: give it a URL, pick the mailboxes, and every email that lands in one of those inboxes triggers a signed request to your server. Your server can then read the full email through the API.
Failed deliveries are retried, and a destination that keeps failing gets disabled instead of piling up. The destination page shows how many deliveries went out over the last week and how fast your server answered. The webhooks guide covers setup and verifying the signature.
Cirrux was running an in-house spam filter, which I kept tuning and maintaining. It was a super fun project, because I got to learn a ton about how a spam filter actually operates, which things it looks at and all the fun cases that it has to support (email forwards, for example). While it was capturing quite a lot of spam (roughly 20-25% of all incoming email was flagged), it didn’t meet my bar, and I also noticed it in the feedback you sent me.
So a few weeks ago, after doing more research, I decided to run rspamd (an open source spam filter) alongside my current filter, to see how well that performed. Comparing both filters, without doing a ton of tweaking, showed that rspamd captured a lot of spam that previously was not correctly tagged (about 25% of emails you manually moved to spam would have been caught). And even better: about 70% of not-spam email that the old filter flagged in error was correctly marked as not-spam, so fewer missed emails.
The gist: the new filter is better, and it gives more options for tweaking and improving from here. I’m combining it with a hard block/allow list for each mailbox that I’m filling automatically as you move things in/out of spam. There's now a Block/Allow tab in each mailbox's settings where you can see who's on which list and remove entries if needed.
If something still lands in the wrong place, just move it in your client (both IMAP and Cirrux Mail signals are used). That's exactly what I need to improve the filter further!
The Cirrux CLI can now create, update and delete calendar events, including inviting people, changing a single occurrence of a recurring event, and cancelling one. It can also read your addressbooks and contacts, so your AI can look up an email address before it writes a draft. And you can mark an email for auto-archive from the CLI. If you were logged in before, run cirrux logout && cirrux login once to grant the new permissions.
A lot more is coming to the CLI, but do let me know if you miss something. Usually those are pretty easy to add.
# at the start of a line like in markdown.: to search for one.Calendar
Everything else
As always, reply to this email, or use the Telegram and Signal buttons on the website, if something's broken or missing. I read everything.
Have a great week,
Rick