{
  "slug": "servicenow",
  "url": "https://apps.sectorgrowth.com/integrations/servicenow/",
  "name": "ServiceNow",
  "vendor": "ServiceNow",
  "aliases": [
    "ServiceNow CSM",
    "ServiceNow Customer Service Management",
    "ServiceNow ITSM",
    "ServiceNow AI Platform",
    "Now Platform"
  ],
  "website": "https://www.servicenow.com/products/customer-service-management.html",
  "category": {
    "slug": "customer-service-and-support",
    "name": "Customer service and support",
    "url": "https://apps.sectorgrowth.com/categories/customer-service-and-support/"
  },
  "summary": "ServiceNow keeps the case, the account and the service contract. How its Table API feeds HubSpot companies and tickets, and what a keyed sync takes.",
  "answer": "No. ServiceNow has no app in the HubSpot App Marketplace as of September 2026, and ServiceNow's Integration Hub lists no HubSpot spoke. The route that works is a custom API integration that reads the Table API on a sys_updated_on watermark and keys accounts, contacts, cases and contracts on their sys_id, at 70 to 150 build hours. A push the moment a case changes needs a business rule inside ServiceNow, owned by your platform team.",
  "nativeApp": {
    "status": "none",
    "verifiedAt": "2026-09-28"
  },
  "api": {
    "style": "rest",
    "auth": "oauth2",
    "webhooks": "no",
    "changedSince": "yes",
    "sandbox": "yes",
    "rateLimit": "Hourly rate limit rules that each instance's admins set for users, roles or everyone, answered with a 429 and a Retry-After header",
    "docsUrl": "https://www.servicenow.com/docs/r/api-reference/rest-apis/c_TableAPI.html"
  },
  "objects": [
    {
      "source": "Account [customer_account]",
      "hubspot": "company",
      "direction": "two_way",
      "key": "ServiceNow sys_id held in a custom HubSpot property",
      "notes": "A closed won deal can create the account, and ServiceNow owns it from then on."
    },
    {
      "source": "Contact [customer_contact]",
      "hubspot": "contact",
      "direction": "to_hubspot",
      "key": "Email, with the contact's sys_id as the tie breaker"
    },
    {
      "source": "Case [sn_customerservice_case]",
      "hubspot": "ticket",
      "direction": "to_hubspot",
      "key": "Case sys_id, with the case number carried as a readable property",
      "notes": "Cases land in a ticket pipeline of their own, read only in HubSpot."
    },
    {
      "source": "Contract [ast_contract]",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "Contract sys_id, associated to the account",
      "notes": "Contract end dates are what a renewal pipeline in HubSpot is built from."
    }
  ],
  "approaches": [
    {
      "kind": "custom",
      "fit": "recommended",
      "why": "A custom API integration reads each table on a sys_updated_on watermark, keys every record on its sys_id, and is the only route that also writes a closed won deal back as a ServiceNow account."
    },
    {
      "kind": "ipaas",
      "fit": "possible",
      "why": "An iPaaS with connectors for both systems can copy new cases into HubSpot tickets and is a fair way to prove the value first. Every case update becomes a billable task, and replaying a missed hour is left to you."
    },
    {
      "kind": "native",
      "fit": "avoid",
      "why": "There is no ServiceNow app in the HubSpot App Marketplace and no HubSpot spoke in ServiceNow's Integration Hub, so nothing packaged exists to install on either side."
    }
  ],
  "connectionMethods": [
    "api",
    "ipaas"
  ],
  "effort": {
    "discoveryHours": [
      10,
      20
    ],
    "buildHours": [
      70,
      150
    ],
    "buildBand": "70 to 150 hours",
    "typicalElapsed": "4 to 8 weeks"
  },
  "pattern": "polling-watermark",
  "faqs": [
    {
      "q": "Is there a ServiceNow app in the HubSpot App Marketplace?",
      "a": "No. A marketplace search for ServiceNow returns hundreds of results and none of them is named for it. ServiceNow's own Integration Hub lists spokes for Salesforce, Zendesk and Microsoft Dynamics 365, but none for HubSpot. So a ServiceNow connection is always built, either as a service against the Table API or as flows on an iPaaS, and the object model is yours to design."
    },
    {
      "q": "Can ServiceNow send a webhook to HubSpot when a case changes?",
      "a": "Not as a subscription an outside service registers. The documented route is a business rule, a server-side script that runs when a record is inserted, updated or deleted, calling an outbound REST message through RESTMessageV2. That is a customization inside your instance, so your platform team owns it through its change process. We treat it as a fast path and keep the watermark read behind it."
    },
    {
      "q": "What are ServiceNow's REST API rate limits?",
      "a": "ServiceNow documents a mechanism rather than a number. Admins create rate limit rules in the sys_rate_limit_rules table that cap inbound REST requests per hour for specific users, users with a role, or everyone. Each node keeps its own count and commits it every 30 seconds, so a new rule can take that long to bite. A denied request returns a 429 with a Retry-After header, which we honour."
    },
    {
      "q": "How does a ServiceNow sync read only the records that changed?",
      "a": "Through the Table API's sysparm_query parameter, an encoded query on sys_updated_on, the timestamp of each record's most recent update. The service asks for rows after its stored watermark, ordered by that field, and follows the Link header from page to page. Each table keeps its own watermark, so a failed read of cases never holds back accounts or contracts."
    },
    {
      "q": "Should ServiceNow cases become HubSpot tickets?",
      "a": "Yes, in a pipeline of their own and read only. HubSpot needs a status on every ticket, and a pipeline once there is more than one, both set by internal id, so we map each case state to a status in that pipeline during scoping. Sellers see open cases on the company before a renewal call, and agents keep working them in ServiceNow, the system of record for service."
    },
    {
      "q": "Can a ServiceNow integration be built without touching production?",
      "a": "Yes, and it should be. Instance clone copies data and metadata from production to a non-production instance, which gives the build realistic records. The free Personal Developer Instance is not the place for it: ServiceNow says it is not intended for business or production purposes, and it is reclaimed after ten days of inactivity. We build against the client's own cloned instance."
    },
    {
      "q": "How long does a ServiceNow and HubSpot integration take?",
      "a": "Plan on 10 to 20 hours of discovery and 70 to 150 hours of build for accounts, contacts, cases and contracts with watermarks, replay and reconciliation. The calendar usually runs longer than the hours. An integration user, its roles, an OAuth client and any rate limit rules all pass through the ServiceNow team's change process, so we raise those requests in the first week."
    }
  ],
  "sections": [
    {
      "depth": 2,
      "text": "Why teams connect ServiceNow to HubSpot",
      "anchor": "#why-teams-connect-servicenow-to-hubspot",
      "url": "https://apps.sectorgrowth.com/integrations/servicenow/#why-teams-connect-servicenow-to-hubspot"
    },
    {
      "depth": 2,
      "text": "What syncs",
      "anchor": "#what-syncs",
      "url": "https://apps.sectorgrowth.com/integrations/servicenow/#what-syncs"
    },
    {
      "depth": 2,
      "text": "Architecture",
      "anchor": "#architecture",
      "url": "https://apps.sectorgrowth.com/integrations/servicenow/#architecture"
    },
    {
      "depth": 2,
      "text": "Three ways to connect",
      "anchor": "#three-ways-to-connect",
      "url": "https://apps.sectorgrowth.com/integrations/servicenow/#three-ways-to-connect"
    },
    {
      "depth": 2,
      "text": "What breaks and how we prevent it",
      "anchor": "#what-breaks-and-how-we-prevent-it",
      "url": "https://apps.sectorgrowth.com/integrations/servicenow/#what-breaks-and-how-we-prevent-it"
    },
    {
      "depth": 3,
      "text": "Pages shortened by access controls",
      "anchor": "#pages-shortened-by-access-controls",
      "url": "https://apps.sectorgrowth.com/integrations/servicenow/#pages-shortened-by-access-controls"
    },
    {
      "depth": 3,
      "text": "Rate limit rules written for others",
      "anchor": "#rate-limit-rules-written-for-others",
      "url": "https://apps.sectorgrowth.com/integrations/servicenow/#rate-limit-rules-written-for-others"
    },
    {
      "depth": 3,
      "text": "Choice labels that change",
      "anchor": "#choice-labels-that-change",
      "url": "https://apps.sectorgrowth.com/integrations/servicenow/#choice-labels-that-change"
    },
    {
      "depth": 3,
      "text": "A clone pointing test at production",
      "anchor": "#a-clone-pointing-test-at-production",
      "url": "https://apps.sectorgrowth.com/integrations/servicenow/#a-clone-pointing-test-at-production"
    },
    {
      "depth": 2,
      "text": "Our approach",
      "anchor": "#our-approach",
      "url": "https://apps.sectorgrowth.com/integrations/servicenow/#our-approach"
    }
  ],
  "caseStudies": [],
  "guides": [
    "https://apps.sectorgrowth.com/guides/choose-a-hubspot-integration-approach/"
  ],
  "status": "published",
  "verifiedAt": "2026-09-28",
  "updatedAt": "2026-09-28",
  "authors": [
    {
      "name": "Prash",
      "role": "Lead of Technical Integrations and AI Solutions"
    }
  ],
  "sources": [
    {
      "title": "Table API",
      "url": "https://www.servicenow.com/docs/r/api-reference/rest-apis/c_TableAPI.html"
    },
    {
      "title": "REST APIs",
      "url": "https://www.servicenow.com/docs/r/api-reference/rest-api-explorer/c_RESTAPI.html"
    },
    {
      "title": "OAuth Inbound",
      "url": "https://www.servicenow.com/docs/r/platform-security/authentication/oauth-inbound.html"
    },
    {
      "title": "Inbound REST API rate limiting",
      "url": "https://www.servicenow.com/docs/r/api-reference/rest-api-explorer/inbound-REST-API-rate-limiting.html"
    },
    {
      "title": "Operators available for filters and queries",
      "url": "https://www.servicenow.com/docs/r/xanadu/platform-user-interface/r_OpAvailableFiltersQueries.html"
    },
    {
      "title": "Global default fields",
      "url": "https://www.servicenow.com/docs/r/xanadu/platform-administration/table-administration-and-data-management/r_GlobalDefaultFields.html"
    },
    {
      "title": "Tables installed with Customer Service Management",
      "url": "https://www.servicenow.com/docs/r/customer-service-management/r_TIWCustomerService.html"
    },
    {
      "title": "Customer Service Management and CSDM tables",
      "url": "https://www.servicenow.com/docs/r/customer-service-management/csm-use-case-tables.html"
    },
    {
      "title": "Classic Business rules",
      "url": "https://www.servicenow.com/docs/r/api-reference/business-rules-classic/c_BusinessRules.html"
    },
    {
      "title": "Outbound REST web service",
      "url": "https://www.servicenow.com/docs/r/api-reference/web-services/c_OutboundRESTWebService.html"
    },
    {
      "title": "Integration Hub spokes",
      "url": "https://www.servicenow.com/docs/r/integrate-applications/integration-hub/spokes-list.html"
    },
    {
      "title": "Instance Clone",
      "url": "https://www.servicenow.com/docs/r/platform-administration/system-clone-landing.html"
    },
    {
      "title": "Preserving data from target instances during clones",
      "url": "https://www.servicenow.com/docs/r/platform-administration/data-preservation.html"
    },
    {
      "title": "Personal Developer Instance (PDI) Guide",
      "url": "https://developer.servicenow.com/print_page.do?release=zurich&category=developer-program&identifier=personal-developer-instance-guide-introduction&module=guide"
    },
    {
      "title": "Tickets API",
      "url": "https://developers.hubspot.com/docs/api-reference/latest/crm/objects/tickets/guide"
    }
  ]
}