WebHooks

Architect WebHooks
Written by Philipp
Updated 3 weeks ago

Architect supports WebHooks for different events. You are able to send fully customizable payload structures to any specified URL.

Once a WebHook has been created, the specified URL will be contacted once such an event occurs.

WebHook deliveries

All WebHook events are sent from the Agent directly. You are able to customize the amount of retries, the HTTP timeout and supply custom headers for all deliveries of any WebHook.

Deliveries are individually tracked and contain a unique delivery id. A record about all deliveries is kept for 7 days.

In case any specific delivery fails, it will be retried based on your configured retry counter.

All delivers carry certain technical headers that allow you to identify an Architect WebHook event:

Key Description
X-WebHook Static string: "Architect Agent"
X-WebHook-Id Unique id of the WebHook registration
X-WebHook-Event Event type of the delivery
X-Event-Idempotence Idempotence token that is static for each delivery to catch double deliveries in case of retries

You are able to access the WebHooks your agent has executed from WebHooks, Deliveries:

Templating

WebHook payloads can be templated. Different events have different templating values available that carry information about that specific event.

Parameters can be embedded in the format `{{parameter}}` where parameter represents the individual values name.

Events

agent.ready

General event, not specific to any reference entity

Sent when an Agent has started.

Value Description
date  UTC Unix timestamp of event occurrence

session.begin

General event, not specific to any reference entity

Sent when a user connects to an Agent.

Value Description
date  UTC Unix timestamp of event occurrence
user  Username
ip_address  IP address used to connect
session  Unique session id

session.ended

General event, not specific to any reference entity

Sent when a user disconnects from an Agent.

Value Description
date  UTC Unix timestamp of event occurrence
user  Username
ip_address  IP address used to connect
session  Unique session id

server.started

Filtered event, only applies to specific entities or all

Sent when a server starts.

Value Description
date  UTC Unix timestamp of event occurrence
server  Server identifier

server.stopped

Filtered event, only applies to specific entities or all

Sent when a server stops.

Value Description
date  UTC Unix timestamp of event occurrence
server  Server identifier
reason  Reason code for server stop:
 - requested
 - killed

server.updated_title

Filtered event, only applies to specific entities or all

Sent when a server is updated (after update completes).

Value Description
date  UTC Unix timestamp of event occurrence
server  Server identifier
title  Title id

server.updated_mod

Filtered event, only applies to specific entities or all

Sent when a mod update is applied to the server (after update completes).

Value Description
date  UTC Unix timestamp of event occurrence
server  Server identifier
mod  Mod id (depending on modding ecosystem)

title.updated

General event, not specific to any reference entity

Sent when a title update has been discovered.

Value Description
date UTC Unix timestamp of event occurrence
title Title id

mod.updated

General event, not specific to any reference entity

Sent when a mod update has been discovered.

Value Description
date UTC Unix timestamp of event occurrence
mod Mod id

Did this answer your question?