Overview
This page is the second step in the ServiceNow setup flow:- Setup ServiceNow API Parameters — save the ServiceNow connection.
- ServiceNow Automation (Auto-Pickup) — this page — have Genesis automatically start work on records that match your rules.
- ServiceNow Connector Tools — for ad-hoc, manual ServiceNow operations from inside an agent thread.
@genesis comment or work-note mention.
There are two ways Genesis hears about record changes, and you can use either or both:
- Polling (pull) — Genesis runs a scheduled ServiceNow Ticket Poller Flow that searches configured tables for recently updated records and applies your trigger rules. Works in any network topology, including when ServiceNow cannot call Genesis inbound.
- Webhook (push) — ServiceNow Flow Designer (or a business rule) POSTs a minimal poke to Genesis at
POST /api/servicenow/webhook. Lowest latency when outbound REST from ServiceNow is allowed. - Hybrid — both at once. Webhooks deliver normal events; polling acts as a safety net for missed deliveries.
servicenow-<instance>-<table>-<sys_id>), so follow-up events resume the existing thread instead of starting over.
All ServiceNow automation and worker controls are admin-scoped. You need Genesis admin access or
manage_all_connections to see the Automation and Genesis worker tabs in the ServiceNow connection modal on Config -> Connections. Open + New Connection, choose ServiceNow under Dev Tools, or edit an existing ServiceNow connection to switch tabs.Prerequisites
Before configuring automation, make sure all of the following are true:- A shared ServiceNow connection has been saved in Genesis with valid credentials. See Setup ServiceNow API Parameters. Personal connections cannot be selected for automation, and neither can a User OAuth connection, where each person signs in: automation runs with no person signed in, so it needs an integration-user or client-credentials connection.
- You know which ServiceNow tables Genesis should monitor (for example
incident,change_request). - You have decided which Genesis bot should pick up records. The default is
Eve. - (Recommended) You have a dedicated ServiceNow user (for example
genesis.eve) that customers can assign tickets to, with the itil role or equivalent for the monitored tables. - (Webhook mode only) Your ServiceNow instance can reach the Genesis backend over HTTPS for outbound REST.
Ingestion modes
Configure the ingestion mode from the Automation tab in the ServiceNow connection modal on Config -> Connections.Polling (pull) — recommended default
Inpolling mode Genesis owns a scheduled ServiceNow Ticket Poller Flow. On each run Genesis:
- Queries each configured table for records updated since the last successful poll (with a short overlap).
- ANDs your optional
record_queryencoded filter into every table query. - Applies the configured trigger rules to each candidate record.
- Deduplicates so the same matching condition does not retrigger.
- For new matches, opens or resumes the record’s stable Genesis thread, posts a pickup acknowledgement in ServiceNow (work notes by default), optionally transitions the record to
state_on_pickup, and dispatches the configured bot.
Webhook (push)
Genesis exposesPOST /api/servicenow/webhook as a public-but-signed endpoint. The request body must contain only table and sys_id:
webhook_secret and send the digest as X-Hub-Signature: sha256=<hex digest>. Genesis re-reads the record from ServiceNow before deciding anything — webhook field values are never trusted.
Use webhook mode when ServiceNow can reach Genesis reliably; otherwise prefer polling or hybrid.
Hybrid
hybrid runs both: webhooks handle normal traffic and polling backfills anything missed.
Trigger types
Set Trigger type to one of:Setup workflow
1
Save the ServiceNow connection
Confirm a shared ServiceNow connection has been saved with credentials that can read and write the target tables. See Setup ServiceNow API Parameters.
2
Configure the Genesis worker
Open Config -> Connections, open the ServiceNow connection modal, and select the Genesis worker tab. Create or choose the ServiceNow user that represents Genesis (for example
genesis.eve), then save ServiceNow worker (assigned_to). Saving also ensures assignment pickup is included in the automation trigger when your trigger type supports it.3
Configure automation rules
Select the Automation tab and set:
- Enable ServiceNow automation: on.
- Detection mode:
polling,webhook, orhybrid. - ServiceNow connection: the saved shared connection.
- Genesis bot: usually
Eve. - Tables, Trigger type, trigger lists, and optional Optional encoded query.
- Lifecycle mapping (state on pickup / needs info / done) and Writeback journal (
work_notesorcomments).
4
(Webhook or hybrid only) Configure Flow Designer
Copy the Genesis webhook URL and shared HMAC secret from the Automation tab. In ServiceNow Flow Designer, add an outbound REST step after a record is created or updated. Use Copy Flow Designer setup in Genesis for a ready-made template. Keep polling enabled as fallback by selecting hybrid mode.
5
Verify end-to-end
Assign a real record in a monitored table to the Genesis worker. Within one poll interval (or immediately in webhook mode), Genesis should open or resume the record’s thread, post an acknowledgement, optionally transition state, and start work.
Automation parameter reference
These fields are saved on the Automation tab. Defaults apply when a field is left blank.
Read-only telemetry fields (
poller_flow_id, poller_schedule_status, last_successful_poll_at, last_poll_error, and similar) are written by Genesis for operations monitoring.
If the Flow service reports a schedule synchronization failure, Genesis returns a synchronization error instead of reporting that the save succeeded. The automation settings are saved before the Flow is synchronized, so a synchronization error does not roll back those settings.
Genesis worker reference
The Genesis worker tab configures the ServiceNow identity customers assign tickets to. This is separate from the integration user or OAuth app on the Connection tab that Genesis uses to call the Table API.
Genesis queries live
sys_user records for suggestions when the selected connection can reach ServiceNow. Manual values still work when live suggestions are unavailable.
Troubleshooting
Record assigned to Genesis worker but nothing happens
Check, in order:- ServiceNow automation is enabled.
- The record’s table is listed in Tables and satisfies Optional encoded query.
- Genesis worker assignee matches the actual assignee in ServiceNow.
- In polling mode, the ServiceNow Ticket Poller Flow status is
scheduledandlast_poll_erroris empty. - The configured
bot_idexists and is online.
Webhook deliveries are rejected
Whenwebhook_secret is set, ServiceNow must send X-Hub-Signature: sha256=<hmac-hexdigest> over the exact request body. Re-paste the secret on both sides. Webhook intake is disabled when the secret is unset.
@genesis mentions do not wake Genesis
trigger_typeincludes comment wakeups (comment_keywordorhybrid).trigger_on_comment_keywordsincludes the mention text.- In polling mode, the comment or work note was posted after the last successful poll cursor.

