Agent skill
bc-webhooks
Implement BigCommerce webhooks — event topics, webhook management, payload handling, verification, retry logic, and event-driven architecture. Use when building real-time integrations that react to store events.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/bc-webhooks
SKILL.md
BigCommerce Webhooks
Before writing code
Fetch live docs:
- Fetch
https://developer.bigcommerce.com/docs/integrations/webhooksfor webhooks guide - Web-search
site:developer.bigcommerce.com webhooks events referencefor event topics - Web-search
bigcommerce webhook payload formatfor payload structure
How Webhooks Work
Event-Driven Notifications
When events occur in a BigCommerce store, HTTP POST requests are sent to your endpoint:
- Register a webhook via the REST API (or admin)
- BigCommerce fires the webhook when the event occurs
- Your endpoint receives a POST with the event payload
- Respond with 200 OK to acknowledge receipt
- Use the event data to trigger your business logic
Webhook Lifecycle
- Created via
POST /v3/hooks - Active immediately after creation
- BigCommerce retries on failure (non-2xx response)
- Deactivated after repeated failures
- Manageable via REST API (list, update, delete)
Managing Webhooks
Create
POST /v3/hooks
{
"scope": "store/order/created",
"destination": "https://your-app.com/webhooks/orders",
"is_active": true,
"headers": {
"X-Custom-Header": "my-verification-value"
}
}
List
GET /v3/hooks — returns all registered webhooks.
Update
PUT /v3/hooks/{id} — update destination, scope, or active status.
Delete
DELETE /v3/hooks/{id} — remove a webhook.
Event Topics
Order Events
| Topic | When |
|---|---|
store/order/created |
New order placed |
store/order/updated |
Order modified |
store/order/archived |
Order archived |
store/order/statusUpdated |
Order status changed |
store/order/message/created |
Order message added |
store/order/refund/created |
Refund issued |
Product Events
| Topic | When |
|---|---|
store/product/created |
New product created |
store/product/updated |
Product modified |
store/product/deleted |
Product deleted |
store/product/inventory/updated |
Stock level changed |
store/product/inventory/order/updated |
Inventory changed due to order |
Customer Events
| Topic | When |
|---|---|
store/customer/created |
New customer registered |
store/customer/updated |
Customer profile modified |
store/customer/deleted |
Customer deleted |
store/customer/address/created |
Address added |
store/customer/address/updated |
Address modified |
Cart Events
| Topic | When |
|---|---|
store/cart/created |
New cart created |
store/cart/updated |
Cart modified |
store/cart/deleted |
Cart deleted |
store/cart/converted |
Cart converted to order |
store/cart/abandoned |
Cart abandoned |
store/cart/lineItem/* |
Line item changes |
Other Events
| Topic | When |
|---|---|
store/shipment/created |
Shipment created |
store/shipment/updated |
Shipment modified |
store/subscriber/created |
Newsletter subscriber added |
store/category/created |
Category created |
store/category/updated |
Category modified |
store/sku/created |
SKU created |
store/sku/updated |
SKU modified |
store/app/uninstalled |
App uninstalled |
Payload Format
Standard Payload
{
"scope": "store/order/created",
"store_id": "1234567",
"data": {
"type": "order",
"id": 5678
},
"hash": "abc123def456...",
"created_at": 1706140800,
"producer": "stores/{store_hash}"
}
Key Fields
scope— the event topicstore_id— the store's numeric IDdata.type— resource typedata.id— resource ID (use to fetch full details via API)hash— unique event hash for deduplicationcreated_at— Unix timestamp
Important: Lightweight Payloads
Webhook payloads contain only the resource ID, not the full resource. You must make a follow-up REST API call to fetch the complete data:
// Webhook says: order 5678 was created
// Fetch full order: GET /v2/orders/5678
Retry Logic
BigCommerce Retry Behavior
- Retries on non-2xx responses
- Exponential backoff between retries
- Deactivates webhook after consecutive failures (typically ~30 days of failures)
is_activeset tofalsewhen deactivated
Your Handler Requirements
- Respond with 200 OK quickly (within a few seconds)
- Process the event asynchronously if it requires heavy computation
- Handle duplicate deliveries (use
hashfor idempotency) - Handle out-of-order delivery (events may arrive out of sequence)
Verification
Custom Headers
Include custom headers in webhook registration for basic verification:
{
"headers": {
"X-Webhook-Secret": "my-secret-value"
}
}
Verify the header value in your handler to confirm the request is from BigCommerce.
Best Practices
- Always respond with 200 OK quickly — process asynchronously
- Use the
hashfield for idempotency (deduplication) - Implement custom header verification for security
- Fetch full resource data via API after receiving the webhook
- Handle webhook deactivation — monitor and re-register if needed
- Subscribe only to events you need — don't subscribe to everything
- Use a message queue (SQS, Redis, RabbitMQ) for reliable async processing
- Log all received webhooks for debugging
Fetch the BigCommerce webhooks documentation for the complete list of event topics, payload formats, and retry behavior before implementing.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?