Create and verify a Shipfox custom webhook
Create a webhook, inspect a test delivery, and verify that it starts a workflow run.
Use a custom webhook when another system can send HTTP requests. This works even when Shipfox has no built-in integration for that system. See the custom webhook overview for its capabilities.
Before you begin
You need access to workspace integration settings. You also need a terminal or
system that can send an HTTP POST request.
To verify a run, you need a project that can sync workflows and an online runner
with the ubuntu-latest label.
Create the integration connection
Add the webhook
Open Settings → Integrations. Select Custom webhook, then create an
integration connection with a short slug such as deploy_hook.
Copy the ingest URL
Copy the URL shown after you create the webhook. Keep it secret. Anyone who has the URL can send events to the integration connection.
Send a test event
Replace the URL below with the copied value:
curl -X POST '<your-ingest-url>' \
-H 'Content-Type: application/json' \
-d '{"environment":"staging","version":"1.4.2"}'Shipfox should respond with 202 Accepted and a delivery ID.
Verify the event
Open Settings → Events and filter by the webhook integration connection slug. Open the
new received event and confirm that its body contains the test values.
Verify a triggered run
Create .shipfox/workflows/check-custom-webhook.yml. Replace deploy_hook with
the integration connection slug. This is a complete workflow:
# yaml-language-server: $schema=https://www.shipfox.io/docs/workflow.schema.json
name: Check the custom webhook
runner: ubuntu-latest
triggers:
on_deploy_event:
source: deploy_hook # Replace with your webhook integration connection slug.
event: received
filter: event.body.environment == "staging"
jobs:
check:
steps:
- env:
RELEASE_VERSION: "${{ event.body.version }}"
run: |
printf 'Staging release: %s\n' "$RELEASE_VERSION"Commit and push the workflow to the project's default branch. Wait for Check the custom webhook to sync. Send the same test request again.
Open the new event and its linked run. Confirm that the log prints Staging release: 1.4.2. The workflow binds the request value through env before the
shell reads it.
The custom webhook events reference describes the request and event fields. Read Events and triggers for the routing model.