ServiceNow (platform)

ServiceNow is the one destination where the journey can both start and finish: the Triage diagnostic runs as a Service Portal / Employee Center widget in the requester's existing session, and composerID publishes the decision back into the same instance. Writes go through the Import Set API with a transform map that coalesces on correlation_id — the task table's standard field for external-system identifiers — so a replayed publish updates the existing record instead of creating a duplicate. Catalog requests go through the Service Catalog API, never raw Table API inserts.

Publish path
Direct API
composerID adapter → ServiceNow API
Events back
Push + poll
events where enabled; poll fallback
API access
Open docs
public developer portal
Contract tier
Tier A
full loop: publish + events back
Tenant configuration (mandatory fields, approval chains, picklists) is a separate gate from vendor capability: it is discovered at preflight before first publish and may need destination admin changes. How composerID connects →
Reference
API at a glance

The public API facts composerID's adapter relies on. Tenant-specific details (custom fields, picklists, approval chains) are confirmed during connection and folded into the MappingProfile.

Developer access

The ServiceNow API details are for registered developers

Auth model, base URLs, event posture and rate limits, free with a developer account.

Get free access → Registered developers are recognised automatically.
Readiness
Docs confidence: Public

“Docs confidence” describes how deterministic our mapping templates can be before we connect to a tenant. Even with public docs, implementations vary, especially around custom fields, approval flows and object extensions.

Deterministic mapping

Common Workforce Model fields map to known API fields. Best for standard objects (requisitions, assignments, timesheets, POs).

Tenant discovery

composerID can scan tenant configuration (custom fields, picklists, required fields) where the platform permits it, then generate a tenant‑specific MappingProfile.

Enrichment loop

If the target platform requires a field the Intent record doesn't yet have, composerID emits an enrichment_request back to the intake layer.

Mapping
Minimum viable mapping for ServiceNow

An opinionated baseline. The platform adapter enforces additional requirements via preflight. “Tenant required” fields are discovered during connection and added to the MappingProfile.

Developer access

The field-level mapping is for registered developers

Object targets, canonical fields and the Intent ID carrier for ServiceNow, free with a developer account.

Get free access → Registered developers are recognised automatically.
Idempotency & drift: publish + reconcileExpand

Publish operations are idempotent using a deterministic key {intent_id}-{intent_version}-{target_system}. Because humans can change records inside the platform, composerID supports reconciliation: it compares the platform record snapshot to the canonical intent and flags drift.

Tenant specifics
Custom fields & unique mapping

Real deployments rely on program-specific custom fields (for compliance, approvals, GL coding, rate rules or supplier constraints). composerID is designed to generate tenant‑specific mappings rather than forcing you to redesign your intake.

How scanning works

High-level flow

connect_destination() → read required fields + picklists (where permitted) → detect custom fields / extensions → build MappingProfile + validation rules → preflight intent against tenant requirements

What gets produced

Portable artefacts

MappingProfile (tenant-scoped) Capabilities matrix Required-field rules Picklist dictionaries Enrichment prompts Audit spine links (defence_file_ref)
Developer access

Tenant-mapping notes are for registered developers

Where ServiceNow deployments differ tenant to tenant, and what to check before first publish.

Get free access → Registered developers are recognised automatically.
Next
Implement the adapter

Use this page alongside the API + Schemas docs to implement: destination connection, preflight validation, publish, webhook back-sync and reconciliation.