Webhook commands require Full Access to the project. Edit, Comment, and View access cannot read or manage
webhooks.
See available events
Create a webhook
Store destination credentials as project secrets, then reference the secret from a header. This example sends selected form data to an HTTPS endpoint:fimo secrets add refuses to replace an existing value. Use fimo secrets update when you intend to rotate it.
Header values use one of two explicit forms:
Name=secret:KEYresolves a project secret as the complete header value.Name=bearer:KEYresolves a project secret and prefixes it withBearer.Name=token:KEYresolves a project secret and prefixes it withtoken.Name=literal:valuesends a fixed value.
--body to send the complete event envelope. A custom body is JSON and can place {{ event... }} variables in any value. When a variable is the entire value, objects and arrays keep their JSON type.
For larger templates, read JSON from a file or standard input:
React to content changes
entry.changed fires after content is accepted in the Environment selected by the webhook. New webhooks keep the legacy main behavior by default. Use --environments all for every Branch, --environments production, --environments preview, or a custom Environment ID. Preview includes any unclaimed Branch, including main when no custom Environment claims it.
Every complete event payload includes scalar environment and branch fields. The legacy env.name object remains available and contains the same Branch name. Publish events always report environment: "production" and branch: "main".
--action <created|updated|deleted>, --content-type <name>, or --locale <locale>. A matching change must satisfy every filter.
Each committed write sends one delivery whose data.changes array lists every affected entry, including Branch merges, which arrive with reason: "environment_merge". Large operations are split into numbered batches with a shared operationId. Retries always resend the same delivery instead of creating a new one, so your endpoint can deduplicate on the event id.
Manage configurations
main means the Main Branch only and all means every Branch, preserving existing webhook behavior. You can instead select Production, Preview, or one custom Environment. Existing main, all, and omitted filters keep their stored shape unchanged.
Test and inspect delivery
--data '{...}'. Delivery details include the event ID, masked destination, configured header names, request payload excerpt, attempts, HTTP response status, duration, a limited response excerpt, and an error code. retry is available after a delivery exhausts its automatic retries.
Verify signed requests
Signing is on by default. Fimo returns the signing secret once when you create a webhook and sends these headers with every request:X-Fimo-Delivery: stable delivery IDX-Fimo-Event: event typeX-Fimo-Event-Id: stable event ID for deduplication across retries and destinationsX-Fimo-Test:truefor synthetic test deliveriesX-Fimo-Timestamp: timestamp for this attemptX-Fimo-Signature: HMAC signature for the timestamp and raw request body
X-Fimo-Event-Id as an idempotency key so retries do not process the same event twice.
Studio webhooks
Create and monitor a webhook visually.
Automate your project
Compare webhooks with agents, schedules, and chat.