Category

Notification infrastructure

One question, 15 recorded answers across 2 tools. Each run used a separate session. The table counts vendor mentions. 2 of 6 vendors we measure in this category were never named once.

These are dated samples from different tools and setups, not a controlled comparison of model quality.

Measured access checks

We measured 6 of the 6 providers in this category. None cleared every barrier we test. These HTTP checks do not establish integration success. Feature fit, price and support are outside their scope.

Clear (0)

Nobody cleared every measured barrier.

Blocked (6)

Unknown (0)

Every provider was measurable from our vantage.

The question we asked

Every new alert in our product means writing the email, the push and the Slack version separately, plus per user preferences we keep getting wrong. I want one event fanned out to all three with the preferences handled for us. Node backend. Which service would you use, and what else did you weigh?

codex codex-cli 0.147.0 (default), 5 runs, 2026-08-17. The question asks for a recommendation without naming a vendor.

The Claude Code runs could read the operator instructions (CLAUDE.md). Those instructions request Polish, so some answers are in Polish. Results describe this setup, not an agent at your customer.

Named, and measured

VendorNamed (Codex)default · 2026-08-17Named (Codex)default · 2026-09-02Named (Claude Code)sonnet · 2026-08-16Named first (Codex)Scan
knock.app5/55/55/5311/16
courier.com5/55/52/5110/14
novu.co5/55/55/5012/16
onesignal.com3/52/50/5113/16
magicbell.com0/50/50/508/15
pusher.com0/50/50/508/17

Named counts runs that mentioned a vendor. Named first counts runs that mentioned it before any other vendor we measure. Mention order does not establish a purchasing decision.

A batch of 5 runs is a small sample. A one- or two-run difference does not establish a ranking. Read what the agent actually answered or how every number here is measured

Building an agent or comparing providers programmatically? Download this category as JSON with dated measurements and the recorded access barriers.

Every category