Webhook Test Payloads

Generate realistic test webhook payloads for Stripe, GitHub, Slack, Twilio, SendGrid and Shopify, with the right headers and schema.

Pay by wallet (x402) AI-generated webhook-test-payload

Example

Input
{
  "service": "test_value",
  "event_type": "test_value"
}
Answer
{
  "headers": {
    "User-Agent": "Webhook-Delivery/1.0",
    "X-Timestamp": "1698765432",
    "Content-Type": "application/json",
    "X-Request-ID": "req_test_abc123xyz",
    "X-Webhook-Signature": "whsec_test_1234567890abcdef"
  },
  "payload": {
    "id": "evt_test_1234567890",
    "data": {
      "object": {
        "id": "test_obj_123",
        "value": "test_value_data",
        "object": "test_value",
        "status": "active",
        "created": 1698765432,
        "updated": 1698765432
      }
    },
    "type": "test_value",
    "object": "event",
    "created": 1698765432,
    "request": {
      "id": null,
      "idempotency_key": null
    },
    "livemode": false,
    "api_version": "2023-10-16",
    "pending_webhooks": 1
  },
  "service": "test_value",
  "event_type": "test_value",
  "documentation_url": "https://docs.example.com/webhooks/test_value"
}

Inputs

FieldTypeRequiredWhat it is
servicestringYesstripe/github/slack/twilio/sendgrid/shopify
event_typestringYes—

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
headersobjectAlways (present in every successful answer)
payloadobjectAlways (present in every successful answer)
event_typestringAlways (present in every successful answer)
documentation_urlstringAlways (present in every successful answer)

How to call it

The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.

# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
  -H "Authorization: Bearer $STRALE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "capability_slug": "webhook-test-payload",
    "inputs": {
      "service": "test_value",
      "event_type": "test_value"
    },
    "max_price_cents": 5
  }'

Limitations

  • Provider-specific or versioned fields can differ

    Generated payloads match common webhook schemas — provider-specific fields or versioned payload formats may differ

    What to do instead: Compare generated payloads against the provider's webhook documentation and adjust field names as needed