Automations
Automate your deploy workflow — trigger deploys from anywhere, get notified in Slack or Discord, and automatically recover from failures.
Overview
Auto-deploy on push
When a GitHub push hits your configured branch, a deploy is queued automatically. The toggle is in Automations → Deploy behavior. Disable it if you want manual-only deploys (e.g. after CI passes via a deploy hook).
Auto-retry on failure
If a deployment fails, Pulsar can automatically queue a single retry. It checks whether a retry has already run in the past 10 minutes before queueing to prevent runaway loops. Enable it in Automations → Auto-retry on failure.
The retry uses the same commit SHA, branch, and env vars as the failed deployment and is marked triggered_by: auto_retry in the deployment history.
Slack notifications
Paste an Incoming Webhook URL from your Slack app into Automations → Slack webhook URL. Pulsar posts a colour-coded attachment for these events:
To create a Slack webhook: go to api.slack.com/apps → your app → Incoming Webhooks → Add webhook to workspace.
Discord notifications
Paste a Discord webhook URL into Automations → Discord webhook URL. Pulsar posts an embed with the same events as Slack. To create a Discord webhook: Server Settings → Integrations → Webhooks → New Webhook → Copy Webhook URL.
Deploy hooks
A deploy hook is a secret URL that triggers a new deployment when called with an HTTP POST. Use it from GitHub Actions, Zapier, a shell script, or any service that can make HTTP requests.
# Trigger a deploy curl -X POST "https://api.pulsardeploy.com/api/projects/PROJECT_ID/deploy-hooks/HOOK_ID/trigger?secret=SECRET"
Create hooks in Automations → Deploy hooks. Each hook has a unique ID and a secret token — treat the URL as a password. Rotate by deleting and recreating.
The hook endpoint is public (no auth header required) but protected by the secret query parameter. The secret is SHA-256 hashed in storage.
Outbound webhooks
Outbound webhooks let you send deploy event data to any endpoint — useful for updating Jira, posting to Slack via a custom bot, triggering Zapier, or syncing with a deployment tracker.
Configure them in Project settings → Outbound webhooks. Each request includes:
POST https://your-endpoint.com/hook
Content-Type: application/json
X-Pulsar-Event: deploy_success
X-Pulsar-Delivery: 1717200000000
X-Pulsar-Signature: sha256=abc123... (HMAC if secret configured)
{
"event": "deploy_success",
"project_id": "...",
"project_name": "my-app",
"deployment_id": "...",
"commit_sha": "a1b2c3d",
"branch": "main",
"url": "https://my-app.pulsardeploy.com",
"duration_ms": 28400,
"ts": 1717200000000
}