---
title: "How do I connect ServiceNow?"
description: "TL;DR: Connect ServiceNow to Ballet with an inbound Business Rule / Outbound REST Message using Basic Auth, so case or incident changes can start playbooks."
canonical_url: "https://docs.ballet.dev/articles/how-do-i-connect-servicenow-vhM5X4bxRn"
md_url: "https://docs.ballet.dev/articles/how-do-i-connect-servicenow-vhM5X4bxRn.md"
---
# How do I connect ServiceNow?

TL;DR: Connect ServiceNow to Ballet with an inbound Business Rule / Outbound REST Message using Basic Auth, so case or incident changes can start playbooks.

Back to: [How do I connect CRM and support tools?](/articles/how-do-i-connect-crm-and-support-tools-5h3LJzY5x8)

> **Status:** Draft outline for customer handoff.

## Patterns

## Outline: inbound webhook

1. In Ballet, add a **Webhook** trigger and choose the **ServiceNow** provider. Copy the trigger URL.
2. Store Basic Auth credentials in Ballet Secrets as `user:password` (matches what ServiceNow will send).
3. In ServiceNow: System Web Services → REST → Outbound REST Message. Point it at the Ballet URL.
4. Add a Business Rule that sends each relevant change to that Outbound REST Message.
5. Turn on Basic Auth with credentials that match the Secret.

See: [How do I trigger and react to playbooks with webhooks?](/articles/how-do-i-trigger-and-react-to-playbooks-with-webhooks-DYv9XyeU51)

ServiceNow docs: [REST API](https://docs.servicenow.com/bundle/utah-application-development/page/integrate/inbound-rest/concept/c_RESTAPI.html)

## Outline: API / MCP (optional)

1. Create an integration user with least-privilege access to required tables.
2. Connect ServiceNow from Ballet Connectors if available, or store credentials in Secrets for HTTP steps.

See: [How do I connect an MCP server?](/articles/how-do-i-connect-an-mcp-server-RtBQhNBIoy)
