If you haven’t set up your agent yet, follow our Quickstart guide
Enabling Webhooks
Security
Shared Secret Validation
Configure a webhook secret to validate requests:X-Webhook-Secret header.
Rate Limiting
- Body size: 64 KB maximum
- Rate: 60 requests per minute per IP
Sending Messages
Request Format
Response Format
Payload Fields
| Field | Type | Required | Description |
|---|---|---|---|
user_id | string | Yes | User identifier |
message | string | Yes | Message content |
conversation_id | string | No | Continue existing conversation |
metadata | object | No | Arbitrary metadata |
Response Fields
| Field | Type | Description |
|---|---|---|
job_id | string | Job UUID for status checking |
status | string | queued, running, completed |
response | string | Agent response (when complete) |
Checking Status
Error Responses
| Status | Meaning |
|---|---|
400 | Invalid request body |
401 | Missing or invalid secret |
429 | Rate limit exceeded |
500 | Server error |
Example Integrations
GitHub Webhook
Configure GitHub to send events to your IronClaw webhook URL:Zapier
Use Zapier’s Webhook action to send events to IronClaw.Custom Script
Troubleshooting
Connection refused
Connection refused
- Check IronClaw is running
- Verify
HTTP_PORTis correct - Check firewall:
sudo ufw allow 8080
401 Unauthorized
401 Unauthorized
429 Too Many Requests
429 Too Many Requests
- Rate limit: 60 requests/minute
- Implement exponential backoff
Messages not processed
Messages not processed
- Check logs:
RUST_LOG=ironclaw=debug ironclaw run - Verify JSON format
- Check
user_idis valid