Integrations & webhooks

Phase 1 preview — pages render fixture data only; no changes are saved.
Slack is the active webhook. Check-out, check-in, audit and request events are sent to it. This is a preview: nothing is sent from this app yet.

Slack

Slack incoming webhook. Messages carry the bot name, the channel and an attachment with the details.

Configured
Write-only: the stored URL is never shown, because it contains the access token. It must be a public http(s) address.
Must start with #. Required when an endpoint is set.
Shown as the sender. Legacy falls back to "Snipe-Bot" when blank.
Cancel Saving settings is not available in Phase 1 — this screen previews the current configuration.

Endpoint and test rules

Configured
Address rules
http or https only; the host must resolve to public addresses.
Internal targets
Refused — set WEBHOOK_ALLOW_INTERNAL_TARGETS to allow private addresses
Test to private addresses
Refused (TEST_ALLOW_PRIVATE_IPS is off)
Test message
A text message with the channel, the bot name and a heart icon.

Events sent to webhooks

Legacy has no per-event switches: when an endpoint is set, every event below is sent. Expiring licences, low stock, expected check-in and acceptance notices are email only.

EventWhich hookSlack Actions
Asset checked out
An asset is checked out · CheckoutAssetNotification
Company hook, else globalNative
Accessory checked out
An accessory is checked out · CheckoutAccessoryNotification
Company hook, else globalNative
Component checked out
A component is checked out to an asset · CheckoutComponentNotification
Company hook, else globalNative
Consumable checked out
A consumable is issued · CheckoutConsumableNotification
Company hook, else globalNative
License seat checked out
A license seat is assigned · CheckoutLicenseSeatNotification
Company hook, else globalNative
Asset checked in
An asset is checked in · CheckinAssetNotification
Company hook, else globalNative
Accessory checked in
An accessory is checked in · CheckinAccessoryNotification
Company hook, else globalNative
Component checked in
A component is checked in · CheckinComponentNotification
Company hook, else globalNative
License seat checked in
A license seat is released · CheckinLicenseSeatNotification
Company hook, else globalNative
Asset audited
An asset is audited · AuditNotification
Global hook onlyNative
Item requested
Someone requests an item · RequestAssetNotification
Global hook onlyNative
Request cancelled
A request is cancelled · RequestAssetCancelation
Global hook onlyNative

Company overrides

A company with its own endpoint replaces the global hook for check-out and check-in events of the items it owns. It does not add to it, and children do not inherit their parent's hook. Endpoints are never shown.

CompanyProviderChannelBot nameDetails Actions
<b>Hostile</b> Co "quoted" & <i>friends</i> General webhook#<b>ops</b>"<script>alert("bot")</script>—
Acme Labs Microsoft TeamsNot usedNot usedOffice 365 connector (deprecated)
Acme Labs Research
Child of Acme Labs
Google ChatNot usedNot used—
Acme Ltd Slack#asset-alertsAsset Bot—