Knock through Squiid

Notification infrastructure with workflows, preferences and an in-app feed. Knock is on the Squiid roadmap.

Roadmap Provisioned Provisioned. Squiid creates the project or account for you and keeps the provider keys.

What Knock is

Knock is the layer between your application and every channel a notification could go to. You send one event, and a workflow decides which channels to use, in what order, with what delay, batching a burst of activity into a single digest and respecting each user's preferences and quiet hours. It ships a prebuilt in-app feed component, connects to email, SMS and push providers you already use, and supports Slack and Microsoft Teams as destinations. Templates live in Knock rather than in your codebase, and a versioned commit model means a change can be reviewed before it goes live.

This solves a problem that grows quietly in AI-coded products. The first notification is a single email call. By the twentieth, the codebase contains preference checks, deduplication attempts, channel fallbacks and a notifications table nobody trusts. Knock takes that logic out of application code, which also makes it editable by someone who is not an agent halfway through a refactor. An in-app feed also needs read state, pagination and real-time updates, which is more infrastructure than a notifications table suggests.

Why connect it through Squiid

Knock is on the Squiid roadmap. When it is connected, Squiid will provision the environment, hold the API key and signing key, and route calls through https://api.squiid.io/v1/knock/... with Authorization: Bearer $SQUIID_API_KEY, with official SDKs working by base URL swap (gateway convention). Notifications and plan cost will bill at Knock's listed price on your single Squiid invoice, and because the providers Knock delivers through are often also Squiid services, the whole notification path can sit on one credential and one balance. Workflows are testable with sample payloads, so a change can be verified without triggering a real product event.

  • One account, one key, one bill, one dashboard. Knock sits beside every other service your project uses, on the same invoice and the same credit balance.
  • Key custody. Squiid holds the Knock credentials. Your code carries SQUIID_API_KEY, so KNOCK_API_KEY, KNOCK_SIGNING_KEY, KNOCK_FEED_CHANNEL_ID never land in a repository, a preview deployment or an agent’s context.
  • Metering you can see. Every call is counted per service and per day, so you know what Knock costs before the month ends.
  • Pause on zero. When prepaid credits run out the gateway stops authorizing usage instead of running up a bill you did not fund.
  • One rotation. Rotating the Squiid key cuts off every agent, worker and deployment at once, with no provider key to hunt down.

What you get

  • A provisioned Knock environment with keys held by Squiid
  • Cross-channel workflows with batching and digests
  • Per-user preferences and quiet hours
  • Prebuilt in-app notification feed
  • Knock list pricing, no markup

How to connect Knock

One variable replaces the provider credentials this service would normally need. Requests go to the gateway and the official SDKs work by pointing their base URL at it (gateway convention).

# .env
# replaces KNOCK_API_KEY, KNOCK_SIGNING_KEY, KNOCK_FEED_CHANNEL_ID
SQUIID_API_KEY=sq_live_xxxxxxxxxxxxxxxxxxxxxxxx

# every request: https://api.squiid.io/v1/knock/...
# header:       Authorization: Bearer $SQUIID_API_KEY
01

Add it in your dashboard

Open the Squiid catalog, add Knock and fund credits. Squiid provisions the project and keeps the provider keys.

02

Put the one key in your env

Add SQUIID_API_KEY to .env and delete KNOCK_API_KEY, KNOCK_SIGNING_KEY, KNOCK_FEED_CHANNEL_ID. Nothing else from Knock needs to exist in your project.

03

Point your agent at it

Claude Code, Cursor and Codex read the same variable and call https://api.squiid.io/v1/knock/. Agents send a single Knock event per product action and leave channel routing to the workflow rather than to branching code.

Pricing through Squiid

Knock charges a plan fee plus per monthly active recipient or notification volume, at the provider's listed price. Squiid passes that through at par: one dollar of prepaid credit is one dollar of Knock usage, with no markup and no per-request margin.

Knock has no subscription attached on Squiid today. If a plan is required for a feature you need, it passes through at the provider’s listed price with no Squiid fee.

Squiid adds no markup to provider prices. There is a free plan at $0 a month with a 15% fee when you top up credits, Solo at $19.97 a month with a top-up fee that starts at 8% and falls to 3.5% as your spend grows, Team from $29.97 a seat a month with the same ladder one point lower, and Custom with a rate of 3% or less. Credits are prepaid, so Knock usage stops when the balance reaches zero rather than producing an invoice you did not fund. Auto top-up with a cap keeps production running without handing anyone an open-ended card.

If you leave

Export: channels, keys and delivery configuration are re-created in your own Knock account from the documented setup. Squiid never owns your code, your schema or your domain, and the gateway speaks Knock's own API, so the client change is a base URL. The handover page lists what happens for every provider in the catalogue.

Works with every coding agent

Knock through Squiid is just an HTTP call with a bearer token, so every agentic coding tool can use it with the single key already in your environment:

Vibe coding a feature on Knock usually means asking for it in plain language and letting the agent write the integration. Because the key is Squiid’s rather than the provider’s, it can do that without ever holding a credential that could be leaked, logged or committed.

Related services

Questions people ask

Is Knock available through Squiid?

Not yet. It is on the roadmap as a provisioned service.

Does Knock send the email itself?

It routes through providers you connect, such as a transactional email or SMS service, many of which are also Squiid services.

What is batching for?

Turning twenty rapid events into one digest, so a user who is mentioned repeatedly gets a single notification instead of twenty.

How will it be billed?

Plan and volume at Knock's listed price on your Squiid invoice, with no markup.

Do I need this for a small app?

Probably not at first. It earns its place once notifications have preferences, multiple channels and digest requirements.

Connect Knock with one key.

Knock routes product notifications across email, SMS, push, Slack and an in-app feed, with workflows, batching, digests and per-user preferences. Planned for Squiid as a provisioned service.