Dashboard
Members Sync
Fetch Incidents
Auto-Assign
⚠️
ServiceNow Connection
What Happens After Setup
Step 1
Save your ServiceNow credentials above and click Test Connection
Step 2
Go to Enable Group — search for your assignment group by name
Step 3
SnowAssign syncs the group, members, and user details into the app
Step 4
Automation jobs run every 5 min (incidents/assignment) and 30 min (member sync)
Enable Assignment Group

Enter the exact group name as it appears in ServiceNow. The system will validate and sync all group members.

Enabled Groups
📭

No groups enabled yet

NameEmailManagerActiveAuto-Assign
NameUser IDEmailActiveOnline (Assign)
UserGroupUser ActiveUser Online
Total
Pending
Processing
Assigned
NumberShort DescriptionPriorityGroupStateAutomationAssigned To
Latest 200 events
Setting Up the API Connection
1
Log in to ServiceNow
Go to https://your-instance.service-now.com with an admin or API user account.
2
Create a dedicated API user (recommended)
Navigate to User Administration → Users. Create a user (e.g. api_autoassign) with roles: itil, rest_api_explorer, and incident_manager.
3
Get your Basic Auth credentials
Your Basic Auth is Base64(username:password). In SnowAssign just enter the username and password — the app handles encoding.
4
Enter instance URL
Use the full URL: https://yourcompany.service-now.com — no trailing slash.
5
Save and Test Connection
Click Save Configuration, then Test Connection. A successful test means authentication is working even if the test group isn't found.
ServiceNow Settings to Enable
  • Ensure REST API is enabled: System Web Services → REST API Explorer
  • The API user must have access to tables: sys_user_group, sys_user, sys_user_grmember, incident
  • Check ACLs — the user needs read access to those tables and write (patch) access to the incident table's assigned_to field
  • If using MFA, create a service account that bypasses MFA for REST API calls
  • Disable IP allowlisting for the Cloudflare Worker IP range, or add it to the allowed list
Self-Troubleshooting Guide
401 / 403 Error
Authentication failed. Check username/password. Ensure the user account is not locked.
No group found
The group name must match exactly (case-sensitive in some instances). Try copying the name from ServiceNow directly.
Group disabled after failure
A ticket assignment PATCH call failed. Check the Audit Log for the specific error. Re-enable the group from the Groups page after fixing the issue.
No tickets fetched
Verify that unassigned incidents exist for the group in ServiceNow (state not Resolved/Closed, assigned_to is empty).
CORS errors in browser
Set the CORS_ORIGIN environment variable in your Cloudflare Worker to your Cloudflare Pages domain.
Jobs not running
Cron triggers require a paid Cloudflare Workers plan. On free tier, click Run Jobs manually or use an external cron (e.g. cron-job.org) to POST to /api/jobs/fetch-incidents and /api/jobs/assign-tickets.
Supabase errors
Ensure SUPABASE_URL and SUPABASE_KEY (service_role key) are set in Worker environment variables. The service_role key bypasses Row Level Security.
Deployment Checklist
  1. Run schema.sql in Supabase SQL Editor to create all tables
  2. Set SUPABASE_URL and SUPABASE_KEY as Worker secrets via wrangler secret put
  3. Set CORS_ORIGIN to your Pages domain (e.g. https://myapp.pages.dev)
  4. Deploy the Worker: npx wrangler deploy
  5. Update WORKER_URL constant in index.html to your Worker URL
  6. Push index.html to your GitHub repo — Cloudflare Pages auto-deploys
Details