πŸ”—Webhooks

How to configure webhooks to integrate the Assets module with external systems

Webhooks send real-time notifications to your external systems when asset events occur. Use them with Zapier, Make, custom APIs, or inventory systems.


1. πŸ“ Access Webhooks

Navigation: Assets β†’ Settings β†’ Webhooks tab.


2. βž• Create a Webhook

  1. Click New Webhook

  2. Enter Webhook Name (e.g., "Sync to ERP")

  3. Enter Webhook URL β€” your endpoint (must accept POST requests)

  4. Select Events to subscribe to (or select all)

  5. Optionally set Secret Key for HMAC signature verification

  6. Optionally add Custom Headers (e.g., API key)

  7. Set Active to Yes

  8. Click Save


3. πŸ“‘ Available Events

Asset Lifecycle

Event
When Triggered

asset.created

New asset created

asset.updated

Asset updated

asset.deleted

Asset deleted

Allocation & Assignment

Event
When Triggered

asset.allocated

Asset allocated to staff

asset.revoked

Allocation revoked

Check-in/Check-out

Event
When Triggered

asset.checked_out

Asset checked out

asset.checked_in

Asset checked in

Reservations

Event
When Triggered

asset.reserved

Reservation created

asset.reservation_approved

Reservation approved

asset.reservation_rejected

Reservation rejected

Maintenance & Transfers

Event
When Triggered

asset.maintenance_scheduled

Maintenance scheduled

asset.maintenance_completed

Maintenance completed

asset.transferred

Transfer completed

Loss, Damage, Disposal

Event
When Triggered

asset.lost

Asset reported lost

asset.broken

Asset reported broken

asset.warranty

Asset sent for warranty

asset.liquidated

Asset liquidated

Alerts (via Cron)

Event
When Triggered

alert.warranty_expiring

Warranty expiring in 30 days

alert.maintenance_due

Maintenance due in 7 days

alert.checkout_overdue

Checkout overdue

alert.low_stock

Stock below threshold


4. πŸ“¦ Payload Format

Each webhook sends a JSON payload:

  • event β€” Event name

  • timestamp β€” ISO 8601 format

  • asset_id β€” ID of the asset (null for deleted)

  • asset β€” Asset data (or extra data for deleted)

  • data β€” Event-specific data (e.g., allocation details)


5. πŸ” Signature Verification

The module sends an HMAC-SHA256 signature in the header:

Verify in your endpoint:


6. πŸ“‹ Webhook Logs

  • View Webhook Logs to see delivery status

  • Response Code β€” 2xx = success, 4xx/5xx = failure

  • Retry β€” Some interfaces allow retrying failed deliveries

  • Logs are typically cleaned after 30 days


7. πŸ§ͺ Test Webhook

Use Test Webhook to send a test payload. Useful to verify your endpoint is reachable and correctly configured.


πŸ’‘ Best Practices

  • βœ… Use HTTPS for webhook URLs

  • βœ… Verify signature to ensure requests are from the module

  • βœ… Respond quickly (e.g., 200 OK) β€” timeout is ~30 seconds

  • βœ… Handle duplicates β€” same event may be retried

  • βœ… Monitor logs for failed deliveries

Last updated