Skip to main content
OptionalThis is a next step after the standard integration. Analysts can do everything described here by hand in the web interface.
You can operate xorlab by machine as well as by hand. Automation runs in two directions:

xorlab → your platform

Events are pushed out over Syslog and become playbook triggers: verdicts, extracted indicators, and the full audit trail.

Your platform → xorlab

Your playbooks call a REST API to change xorlab configuration, most importantly list entries.
Both use interfaces most SOAR and automation platform already supports, so integrating xorlab is a matter of configuring a Syslog source and an HTTP action.

Go straight to the setup steps

List API — create an API key, then call the endpoints from your playbook.

Trigger playbooks from xorlab events

Send the relevant log events over Syslog to your SOAR, or to the SIEM your SOAR is already connected to. The events most often used as triggers: Setup is the standard Syslog path — see Connect a SIEM for format and transport guidance, and Enable Logging via Syslog for the configuration itself.

Act on xorlab from a playbook

The List API is the primary automation surface. It reaches every list that is visible in the web interface, including custom lists. That covers most of what a playbook needs to change: Blacklists, Whitelists, VIP Names and high-value targets, fraud keywords, simulation senders, trusted infrastructure, and reporting addresses. Use this minimal action step to add a sender domain your playbook has confirmed as malicious to a Blacklist:
Use the comment field deliberately. Analysts see it on the Lists page, so it is the fastest way for them to understand why an automated entry exists. Put the playbook name and the case ID in it. For the API key, the endpoint reference, and multi-tenant scoping, see the List API. For the narrower case of submitting a message for analysis over HTTP instead of SMTP, see the Email Scanning API.
Every list has a maximum size, and adding to a full list removes its oldest entry. An unbounded automation that keeps adding entries will therefore evict older ones. Read maxSize from getLists and have your playbook clean up its own entries with deleteEntries, for example when a case is closed. See Understanding list behavior.

Playbook patterns

Common patterns:

Platform notes

The xorlab side is identical for every platform: a Syslog destination for events, and an authenticated HTTP POST for actions. The table below names the building block to use on the other side, and where the vendor documents it.