What's new in Hookie
Changes that have reached production, newest first, by the day they shipped.
Workflow runs from the retired engine cannot be retried
Workflow runs that started before the move to the current workflow engine finished on the old engine, and that engine is now gone. Such a run can no longer be retried; the console and the API say so, and starting the workflow again runs it on the current engine. Nothing else about how workflows run has changed.
Agents cannot mint Data API keys or change what the Data API publishes
An AI agent connected to a workspace can no longer create a Data API key or change which data the Data API publishes. It gets the same refusal an agent already gets for creating API keys, and a person can make either change in the Hookie console. An agent can still list the Data API and revoke a key.
Deliveries stop at once when the host cannot be reached
A
508from your URL means the event has already passed through Hookie eight times, so the delivery is marked dead on its first attempt. A530that Cloudflare reports as an origin DNS error means the host name does not resolve, and that is dead at once too. Retrying either would not change the answer.Disabling or deleting a destination keeps its queued deliveries
Disabling a destination pauses its queued deliveries, and they go out when you enable it again. Deleting it cancels them, so they are not sent and are not marked dead.
An empty dataset filter is refused
The API refuses a dataset filter that is an empty list, since it would mean nothing rather than everything. A destination already saved that way receives nothing until you change its filter. Leave the filter unset to receive every dataset.
Empty JSON bodies are refused
A request with an empty JSON body is refused with
422after its signature is checked, instead of returning201with no record stored.Endpoints can dedupe on a body field
An endpoint can now dedupe on a field in the request body, set with
dedupe_path. Idempotency-Key headers and provider delivery ids were already used for this, and nothing changes for an endpoint that does not set it.Record sources no longer carry the endpoint slug
New records and submissions store
sourceaswebhook:and the endpoint’s id, not its public slug, so the slug no longer appears in search, exports or the_sourcecolumn. Records stored before this release keep the value they were given.Configuration exports leave out endpoint URLs
A configuration export writes a destination that points at one of your endpoints as an endpoint reference rather than its URL, so the export holds no live endpoint slug.
hookie applyresolves the reference in the project it applies to.Workflow conditions can group with any and all
A workflow condition can now be a group,
anyorall, nested two levels deep. Simple conditions work as before.Connected agents see every tool, and scope is checked on each call
A connected agent is shown the full tool list. A call above the scope it was granted is refused, and the error names the scope it needs. A wider grant applies from the agent’s next call.
Search times match exactly
sinceanduntilin search are read as exact moments, and both include the moment they name.A delivery lookup returns its record
Looking up a delivery returns the id of the record it sent, so you can go from a delivery to its record without searching.
hookie.ai publishes discovery cards for AI agents
hookie.ai now carries the cards AI agents look for: an A2A agent card, an MCP server card and a skills index. Webhook deliveries from Hookie are signed with Web Bot Auth (RFC 9421, Ed25519), so a receiver can check that a request really came from Hookie.
hookie.ai reads well to AI agents
An AI agent that asks for Markdown gets the page as Markdown, and the homepage points agents at the API catalog and the other machine-readable documents. The API catalog lives at
/.well-known/api-catalog, and/auth.mdnames every route to a Hookie credential in one file: self-registration, a connected agent over OAuth, and WorkOS Agent Auth.Analytics across every project
A new Analytics page under Get started puts the whole workspace on one page. Pick a project or all of them and a time range of 24 hours, 7 days or 30 days: the charts and cards follow, and four tabs break the same numbers down by project, endpoint, workflow and dataset. Datasets show how much data they hold and their share of everything stored. Deliveries are counted per project, because a delivery is not tied to the endpoint that received the event.
Install the CLI and the forms package from npm
@hookieai/cliand@hookieai/formsare published on npm, and the console and docs show the install lines for them.A new console layout and a Home with analytics
The side navigation groups an open project’s pages under Build, Deliver and Observe, and filters as you type: press
/or ⌘K. Home now charts events received, deliveries sent and AI runs over the last 24 hours, 7 days or 30 days, each with its change on the period before, and lists what needs you, such as a failing destination or a limit you are close to. Its search box reaches any project, page or setting, and the pages you opened last are one click away. Buttons, tiles and dialogs are slightly rounder.Protect a public HTML form with an endpoint
An endpoint can now take a plain HTML form directly. A hidden honeypot field drops bots without costing an event, a Cloudflare Turnstile secret makes every submission pass verification, and declared form fields refuse a submission that is missing one with a 422 naming each field. A form posted with no redirect URL lands on a thank-you page.
Create and test a form from the CLI
hookie forms initsets up a contact, newsletter, waitlist, feedback or survey endpoint with its fields, a honeypot, allowed origins and a redirect, and writes a ready HTML, React or Astro form into your project.hookie forms testposts a sample built from the endpoint’s fields.The website shows the new console
Every console picture on hookie.ai is the current console, in your theme, and the features page describes Home and the project Errors tab.
Invite your team: links, roles and ownership transfer
Owners and admins invite teammates with a shareable link made for one role — admin, developer or viewer. A link works once and expires after 7 days. Roles can be changed, members removed, ownership transferred, and anyone who belongs to more than one workspace switches between them from the header. The Team plan is on sale.
Filtered events are kept, and a project Errors tab lists them
A payload that an endpoint’s own criteria reject, or that could not be routed, is no longer silently dropped: it is kept, flagged, and listed in the project’s new Errors tab.
Fixes to the legacy key-and-slug ingest route
An event sent through the older
/v1/webhooks/{key}/{slug}route is filed under the endpoint it was sent to, and an endpoint with a malformed rule answers as a routing failure rather than a server error.The marketing site lines up on phones
The navigation, hero text and buttons sit on the same margins at every phone width.
Verify the provider's signature on an endpoint
An endpoint can check the signature of the provider sending to it — Stripe, GitHub, Shopify, Slack, Standard Webhooks or your own HMAC — before anything is stored, and refuse what fails. The setting travels with project export, import, clone and
hookie apply.Admin API keys, rate limits, idempotency and versioning
Automate the admin API with workspace API keys that carry their own role. The admin API and the MCP server are rate-limited, accept idempotency keys for safe retries, and are versioned.
See every delivery attempt and the whole trace
A live view in the console, the full trace of an event through rules, workflows and deliveries with its payloads and errors, every failed delivery attempt kept with its response, and per-destination delivery metrics.
Customer portal: endpoint management, replay and branding
Your customers manage their own endpoints from the portal, see why a delivery failed and replay it, and get examples and a verification guide covering both Hookie-Signature and Standard Webhooks. The portal can carry your branding and be embedded in your own app.
Rule editor, project export and import, and `hookie apply` fixes
Rules are edited in a form with more operators. A whole project can be exported, imported and cloned.
hookie applyandhookie diffchange a destination’s URL and name in place and read nested YAML correctly.Over-limit resources pause on downgrade and resume on upgrade
Moving to a smaller plan pauses what no longer fits instead of deleting it, and upgrading resumes it. Your previous plan’s retention window is kept for 7 more days after a downgrade, so you have time to export or upgrade.
Console polish and first-run guidance
Export a whole dataset, see errors inside the dialog that caused them, edit and really delete things, and get guidance on a new workspace’s first steps. You can add a payment method during a trial.
An ingest key's default dataset catches what no rule matches
Events that match no rule land in the ingest key’s default dataset instead of being dropped. Cron and WebSocket triggers with no dataset store their unmatched events in
default.Workflows and triggers are more reliable
Workflows can be deleted for good. A database source never loses a polled row or charges for it twice. The background sweep routes an event whose record was never written, AI-trigger and workflow output is stored atomically, and a failed WebSocket trigger shows its last error.
Clearer limits and warnings
Home warns at 80% and 100% of the monthly AI trigger runs, the rate limits are stated as they are enforced, and the console stops offering features that are not available yet.
Security and correctness fixes
A workflow run’s context is redacted wherever the API returns it. Single sign-on says it is not available instead of showing a form that cannot work. Number comparisons in conditions accept numbers sent as text. The console always loads its newest version, and the admin API answers 405 for a method a route does not serve.
Team is $39.00 a seat
The Team plan is $39.00 a seat each month, with 300,000 events a month.
Trial checkout keeps your remaining trial days
Subscribing during a free trial keeps the days you have left before the first charge.
Security, changelog and real screenshots on hookie.ai
This site gained a security page, this changelog and real console screenshots. A customer portal can now be removed for good, revoking its links and cancelling its destinations.
Erase and export your data, or close your workspace
Delete a single record with every copy Hookie keeps of it, purge a whole dataset, export everything in a workspace as one file, or close the workspace: it is suspended at once and deleted 14 days later.
Destination headers, auth and payload shaping; failing destinations flagged
Add custom headers and authentication to a destination and reshape the payload it sends — enough to post straight to Slack. A destination whose deliveries keep dying is flagged in the console and, after a sustained run of failures, switched off with an optional alert, holding new deliveries until you re-enable it.
Standard Webhooks signatures
Every delivery is signed with both Hookie-Signature and the Standard Webhooks headers, and the docs carry verification snippets beyond Node.
Ingest: request metadata, HTML forms, provider dedup and handshakes
Each event keeps its request metadata. A plain HTML form can redirect to your thank-you page and a browser
fetch()is answered with CORS. Provider retries are de-duplicated, URL-verification handshakes are answered, and rejected requests are logged.Database sources, AI triggers in the console, and workflow debugging
Database sources work, AI triggers are managed in the console, and a workflow instance can be inspected step by step.
Connected agents can do more, and say what they need
An agent refused for lack of a scope is told how to widen it, the scope screen shows what each scope allows, and MCP gained tools for sources, triggers, AI agents and portals.
Billing details, workspace rename and canonical links
See your billing details from Stripe in the console, and rename a workspace without breaking its old URL slug.
Clearer limits in the console and on pricing
Pricing discloses the soft caps and allowances, and the console says when you reach one.
Reliability: stuck workflows, delivery latency and large datasets
Stuck workflow runs are reaped, delivery latency is recorded, sorting a large dataset stays fast, and several smaller ingest-key, Data API and trigger fixes landed.
A more accessible console
Headings are in order inside tabs, error states have a heading, Observability’s controls are labelled, and the footer sits outside the main landmark.
Suspension stops everything
A suspended workspace stops ingest, delivery, triggers, sources, running workflows, portal writes, open streams and console changes together. Deliveries are paused rather than lost.
Workflows: a visual builder, runs on the graph, and Cloudflare Workflows
Workflows are built on a canvas: drag steps in, connect them, and fill each one in a side panel. Pick a run and every step shows whether it completed, is waiting or failed. Workflows run on Cloudflare Workflows, gained HTTP, set and transform steps, and share one condition syntax with rules; cron triggers take a time zone.
Delivery recovery: bulk replay, secret rotation overlap, per-destination limits
Replay every failed delivery in a time window at once, from the console, the CLI or an agent. Rotating a destination’s signing secret signs with both the old and the new secret for 24 hours. Each destination can set its own timeout, rate limit and concurrency cap.
Ingest keys in the console, endpoint rotation and allowlists
Ingest keys are managed from the console, with expiry. Endpoints can be edited and their URLs rotated. IP allowlists apply per key, per endpoint and per workspace, and the workspace allowlist can be read and is only changed on purpose.
Deliveries past the monthly allowance are held, not dropped
When a workspace uses its monthly delivery allowance, further deliveries are held instead of lost. Once there is room — after the 1st of the month (UTC) or an upgrade — send them from the Deliveries tab, and they go out oldest first.
Retention for runs and the audit log; audit export filters
Workflow runs, AI trigger runs and settled deliveries are pruned when they pass the plan’s retention window. The audit log is kept for at least a year, cannot be altered, and can be filtered before export.
One customer portal per project, and a safer one
Each project has one customer portal, configured in its Settings. A portal delivers only the datasets it exposes, links are exchanged for a short-lived session cookie, tokens are looked up by their full hash, and the portal API is rate-limited.
Connect your own coding agent
The console’s built-in assistant is gone. Connect an agent hands your own MCP client the hosted MCP URL and the steps to authorize it. A connected agent starts read-only, and never reaches billing or platform administration.
Hookie's own sign-in and sign-up pages
Sign in with an emailed one-time code, GitHub or Google on Hookie-branded pages. Only the social sign-ins an environment has enabled are offered.
A read-only Data API for each project
Publish chosen datasets and columns from a project, issue per-project keys, and read the records from your own code.
Broadcast Logs: send a project's logs and traces over OTLP
Connect an observability vendor — Datadog, Grafana Cloud, PostHog, Sentry, or your own OpenTelemetry Collector — and a project’s logs and traces are forwarded to it. Event payloads and AI prompts are not sent.
AI usage is metered per plan and logged
Every AI call counts against a monthly token allowance for the plan, and each call’s prompt, input and output is kept in the AI call log for the plan’s retention window.
One table everywhere, and a more accessible console
Every list in the console is the same table, with 25, 50 or 100 rows a page. Record views belong to datasets, and records page on the server. Every page has its own title and moves focus to its heading, and times show in your own time zone.
Ingest: disabled endpoints answer 503, and 429s carry Retry-After
A disabled endpoint answers 503 rather than 404, rate-limit refusals say when to retry, and plain text bodies are accepted.
Trigger limits per project
A project can have up to 10 cron triggers and 5 WebSocket triggers.
Security fixes: redirects, CSV exports, uploads
Deliveries never follow a redirect. CSV exports neutralise spreadsheet formulas and carry a UTF-8 byte-order mark. A multipart submission no longer stores uploaded file bytes.
Fonts are served by Hookie
Both sites serve IBM Plex themselves instead of loading it from Google Fonts.
Every subprocessor is listed
The Privacy Policy lists every company that processes personal data for Hookie, with what it handles and where.
Fixes from a round of QA
An endpoint’s own criteria and mappings apply on its public URL. A body with no fields is refused rather than acknowledged and dropped. A receiver that refuses a request is not asked again, and a delivery that loops back into Hookie is stopped. A disabled destination pauses its deliveries and a deleted one cancels them. Search is case-insensitive beyond ASCII. Record views can show nested fields. The CLI is installed from the console and manages your account and projects.
Deliveries retry for about a day, and failures say why
A failed delivery is retried with backoff for about a day before it is given up, and the Deliveries tab shows why each one failed and can filter to them. An acknowledged event is delivered even if the first attempt to hand it on fails. A replay of a replay works.
An endpoint URL writes only to its own dataset
A public endpoint URL can no longer be pointed at another dataset by adding a path segment. This was a breaking change for anyone relying on it.
Security fixes for streams, allowlists and signatures
A live stream opened with an ingest key sees only that key’s project. The project IP allowlist is enforced. Inbound signatures expire after five minutes, and rotating a signing secret works.
Cron and WebSocket triggers in the console
Cron and WebSocket triggers are listed, paused and deleted in the console, and their events are metered like any other ingest.
The hookie CLI
hookiemanages your account and projects from a terminal, with everything the console can do, and the site has a page for it.Console fixes
Sign-out, sign-in errors and the sign-up trial are back. A secret shown once no longer blanks the console, project tabs load when opened and can be refreshed, and Home’s quota gauge reads the same counter ingest enforces.
The new console
The previous console is retired: the console built on IBM’s Carbon Design System, in dark and light themes, is the only one, with a docked side navigation that shrinks to a rail. The marketing site moved to Carbon’s foundations and has a mobile menu.