Ellipse Gradient for Header
ServiceNow Strategic Portfolio Management logo

ServiceNow Strategic Portfolio Management Integration Guide

Connect ServiceNow Strategic Portfolio Management with enterprise applications through REST and SOAP APIs, configured outbound callbacks, Import Sets, attachments, and scheduled workflows.

ServiceNow Strategic Portfolio Management integration options at a glance

ServiceNow Strategic Portfolio Management is primarily integrated through ServiceNow platform REST APIs, including the Table API, Import Set API, Attachment API, Aggregate API, and applicable SPM-specific APIs. SOAP web services remain available for legacy enterprise scenarios. ServiceNow can also send selected outbound REST messages and event-driven notifications when business rules, notifications, Flow Designer, or other platform configuration is in place. Martini can consume these APIs, expose REST endpoints for configured callbacks, orchestrate scheduled or event-driven workflows, transform SPM data, transfer attachments, and handle batching, pagination, retries, and reconciliation. OAuth 2.0, Basic Authentication, and certificate-based options can be secured through environment configuration.

Integration pointSupported by ServiceNow Strategic Portfolio Management?Common use casesHow Martini supports it
REST APIsYesUse the Table API for permitted SPM tables such as Projects, Demands, Programs, Ideas, Portfolios, and Resource Plans. Import Set, Attachment, Aggregate, and application-specific APIs support specialized flows.Martini can consume ServiceNow REST APIs, configure authentication, paginate and filter requests, transform responses, and expose APIs for controlled inbound processing.
SOAP APIsYesServiceNow table-oriented and scripted SOAP web services support legacy enterprise integrations or consumers that require SOAP.Martini can consume SOAP services, map XML request and response models, configure authentication, and route SOAP errors through workflow handling.
Webhooks / outbound callbacksLimitedOutbound REST messages, business rules, notifications, Flow Designer, and IntegrationHub can send selected event notifications or callbacks. Coverage depends on configuration and licensing.Martini can expose a REST API to receive configured ServiceNow callbacks, validate notifications, retrieve the current record, and process the event idempotently.
Bulk / async / batch APIsYesImport Set API, Transform Maps, scheduled imports, asynchronous processing, and incremental queries support controlled higher-volume ingestion and synchronization.Martini can batch requests, invoke Import Set endpoints, coordinate transformations, checkpoint progress, and separate retryable failures from data-quality failures.
File / attachment APIsYesThe Attachment API supports documents associated with Projects, Demands, Ideas, and other permitted ServiceNow records.Martini can transfer attachment metadata and binary content separately, validate file properties, calculate duplicate keys, and handle partial transfer failures.
AuthenticationYesOAuth 2.0 and Basic Authentication are common options; mutual TLS, certificates, API keys, or custom headers may apply depending on instance configuration.Martini can store credentials and certificates in secure environment configuration and use least-privilege API authentication for each deployment.
Database / analytics accessLimitedServiceNow reporting, Performance Analytics, exports, and supported APIs can provide analytics-oriented data. Direct customer SQL or database access should not be assumed.Martini can consume supported analytics or export interfaces and route results to enterprise targets without depending on direct ServiceNow database connectivity.

How ServiceNow Strategic Portfolio Management exposes data and business events

ServiceNow REST APIs

ServiceNow provides platform REST APIs for permitted tables and capabilities. The Table API is a practical starting point for SPM Projects, Demands, Programs, Ideas, Portfolios, and Resource Plans, while Import Set, Attachment, Aggregate, and application-specific APIs support specialized scenarios.

Martini implementation pattern

Martini implementation pattern: Martini authenticates to the ServiceNow instance, sends filtered and paginated requests, validates responses, maps the returned data to a canonical model, and writes it to downstream systems or exposes the result through a Martini API.

Implementation sequence

Authenticate with a dedicated ServiceNow integration user
Build a filtered and paginated REST request
Retrieve the current SPM resource or response page
Resolve reference and choice values
Map fields to the target model
Apply business rules and idempotency checks‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

ServiceNow outbound callbacks

ServiceNow can send selected notifications through outbound REST messages, business rules, notifications, Flow Designer, IntegrationHub, or scripted integrations. This is configured event coverage rather than a universal webhook stream for every SPM object.

Martini implementation pattern

Martini implementation pattern: Martini exposes a secured REST endpoint, accepts the configured callback, validates its authenticity and event type, retrieves the current ServiceNow record when necessary, and processes the change with deduplication and retry controls.

Implementation sequence

Receive the configured ServiceNow callback
Validate authentication and event metadata
Check the event against the supported SPM event contract
Retrieve the current record when the notification is incomplete
Apply idempotency and duplicate detection
Map and route the change to target systems

Import Set API

The Import Set API, Transform Maps, scheduled imports, and asynchronous processing support controlled ingestion when incoming data requires validation, transformation, coalescing, or staged insertion.

Martini implementation pattern

Martini implementation pattern: Martini prepares validated batches, submits them to the appropriate Import Set endpoint, tracks processing outcomes, and reconciles rejected rows separately from successful transformations.

Implementation sequence

Validate and stage the source batch
Map source fields to Import Set fields
Submit the batch to ServiceNow
Track transform and coalesce outcomes
Retry transient request failures
Record rejected rows for reconciliation

ServiceNow SOAP APIs

ServiceNow supports table-oriented and scripted SOAP web services. SOAP remains relevant for legacy consumers even though REST is generally preferred for new integrations.

Martini implementation pattern

Martini implementation pattern: Martini consumes the SOAP contract, transforms XML payloads, invokes the required operation, validates the response and fault structure, and routes permanent and transient failures separately.

Implementation sequence

Load the approved SOAP service definition
Authenticate the SOAP request
Transform the canonical payload into XML
Invoke the ServiceNow SOAP operation
Validate the response or SOAP fault
Persist the outcome and retry eligible failures

ServiceNow Attachment API

The Attachment API supports file uploads, downloads, and management for files associated with permitted ServiceNow records. File restrictions, storage limits, ACLs, and content types remain instance-specific.

Martini implementation pattern

Martini implementation pattern: Martini synchronizes attachment metadata through the record API, transfers binary content separately, validates file policy, and uses content hashes or external identifiers to prevent duplicate uploads.

Implementation sequence

Retrieve the parent SPM record and attachment metadata
Validate file type and size
Download or upload binary content
Apply access and duplicate checks
Associate the attachment with the target record
Reconcile metadata and binary-transfer results

Common ServiceNow Strategic Portfolio Management integration patterns

Pattern 1: Submit demands from Salesforce

When to use this pattern

Use this pattern when sales or strategic initiatives captured in Salesforce need to enter ServiceNow SPM as governed Demands. The workflow validates ownership, portfolio, priority, dates, and external identifiers before creating or updating the Demand.

Integration direction
Salesforce
Martini
ServiceNow Strategic Portfolio Management
Example Mapping
ServiceNow Strategic Portfolio Management FieldCanonical FieldTarget Field
Salesforce Opportunity.IdexternalDemandIdServiceNow Demand external identifier
Salesforce Opportunity.NamedemandNameDemand short description
Salesforce Opportunity.AmountestimatedValueDemand estimated value
Salesforce Opportunity.CloseDatetargetDateDemand requested date
Martini implementation pattern

Martini receives a Salesforce event or scheduled extract, validates required fields and reference values, searches for an existing external demand ID, and calls the ServiceNow Table API or Import Set API. Permanent validation failures are reported for correction, while transient failures are retried.

Martini capabilities used
  • APIs
  • workflows
  • data mapping
  • business rules
  • error handling
  • retries

Pattern 2: Synchronize project status with delivery tools

When to use this pattern

Use this pattern to align ServiceNow Projects and Programs with Jira or Microsoft Azure DevOps delivery data. It supports scheduled incremental synchronization and controlled translation of different state, health, date, and ownership models.

Integration direction
ServiceNow Strategic Portfolio Management
Martini
Jira
Example Mapping
ServiceNow Strategic Portfolio Management FieldCanonical FieldTarget Field
ServiceNow Project.numberprojectKeyJira project key
ServiceNow Project.statedeliveryStatusJira project status
ServiceNow Project.percent_completecompletionPercentJira progress
ServiceNow Project.sys_updated_onsourceUpdatedAtSynchronization checkpoint
Martini implementation pattern

A scheduled Martini workflow queries ServiceNow using sys_updated_on, paginates results, translates choice values, enriches records with target identifiers, and performs idempotent updates. A checkpoint with an overlap window helps handle late-arriving updates, and failed records are reconciled separately.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • pagination
  • mapping and transformation
  • checkpointing
  • reconciliation

Pattern 3: Synchronize resource plans with Workday

When to use this pattern

Use this pattern when ServiceNow Resource Plans must reflect worker, organizational, capacity, role, or time-period information from Workday, or when approved planning data must be returned to workforce systems.

Integration direction
Workday
Martini
ServiceNow Strategic Portfolio Management
Example Mapping
ServiceNow Strategic Portfolio Management FieldCanonical FieldTarget Field
Workday Worker IDworkerExternalIdServiceNow user reference
Workday OrganizationorganizationCodeResource Plan organization
Workday Worker TyperoleTypeResource Plan role
Workday Effective DateplanningPeriodStartResource Plan period
Martini implementation pattern

Martini retrieves changed Workday data, resolves ServiceNow users, groups, and roles through controlled lookups, validates requested versus allocated capacity, and writes approved values through REST or Import Sets. Unresolved references are quarantined rather than silently creating inaccurate plans.

Martini capabilities used
  • workflows
  • API consumption
  • reference lookups
  • data mapping
  • validation
  • error handling

Pattern 4: Synchronize project documents and business cases

When to use this pattern

Use this pattern when documents attached to ServiceNow Projects, Demands, or Ideas must be copied to an enterprise document or collaboration application while retaining record relationships and access controls.

Integration direction
ServiceNow Strategic Portfolio Management
Martini
Microsoft Teams
Example Mapping
ServiceNow Strategic Portfolio Management FieldCanonical FieldTarget Field
ServiceNow attachment.sys_iddocumentIdExternal document identifier
ServiceNow attachment.file_namefileNameDocument name
ServiceNow attachment.content_typecontentTypeDocument MIME type
ServiceNow attachment.size_bytesfileSizeDocument size
Martini implementation pattern

Martini retrieves attachment metadata and binary content separately, checks file policy and content hashes, transfers the document to the target endpoint, and records the relationship to the originating SPM object. Partial metadata or binary failures are retried and reconciled.

Martini capabilities used
  • Attachment API consumption
  • workflows
  • file handling
  • mapping
  • business rules
  • reconciliation

Applications commonly integrated with ServiceNow Strategic Portfolio Management

ServiceNow SPM can be connected with delivery, financial, workforce, collaboration, and operational applications. The exact objects and direction depend on the customer’s ServiceNow release, licensed applications, APIs, roles, and data ownership model.

Application Scenario Direction Martini Pattern
Jira Synchronize agile delivery status, epics, issues, project progress, and portfolio context with ServiceNow Projects and Programs. Jira → Martini → ServiceNow Strategic Portfolio Management Martini consumes Jira and ServiceNow APIs, maps delivery identifiers and status values, applies ownership and state rules, and performs idempotent updates with retry and reconciliation handling.
Microsoft Azure DevOps Align work items, iterations, delivery metrics, and project progress with ServiceNow portfolio and project planning. Microsoft Azure DevOps → Martini → ServiceNow Strategic Portfolio Management A scheduled or event-driven workflow retrieves Azure DevOps delivery data, translates it into ServiceNow project or program fields, validates references, and stores cross-system identifiers for subsequent updates.
Salesforce Transfer account, opportunity, and strategic initiative information into ServiceNow Ideas, Demands, or Projects when approved work originates in CRM. Salesforce → Martini → ServiceNow Strategic Portfolio Management Martini receives or polls Salesforce data, validates portfolio and ownership mappings, creates or updates ServiceNow Demands through REST APIs, and optionally returns project status to Salesforce.
Workday Synchronize workers, organizational structures, staffing information, and workforce planning inputs with ServiceNow Resource Plans. Workday → Martini → ServiceNow Strategic Portfolio Management Martini maps Workday worker and organization identifiers to ServiceNow references, filters changes incrementally, validates access and planning states, and routes rejected reference values for review.
SAP S/4HANA Connect portfolio costs, budgets, financial plans, procurement information, and project financials with SPM planning records. SAP S/4HANA → Martini → ServiceNow Strategic Portfolio Management Martini orchestrates financial extracts and ServiceNow API calls, normalizes currencies and project identifiers, applies financial ownership rules, and retries transient failures without duplicating updates.
Oracle Fusion Cloud Applications Synchronize financial planning, budgets, projects, procurement, and workforce information with ServiceNow SPM. Oracle Fusion Cloud Applications → Martini → ServiceNow Strategic Portfolio Management A Martini workflow consumes Oracle APIs and ServiceNow REST endpoints, transforms financial and project models, validates reference data, and records checkpoints for repeatable synchronization.
Microsoft Teams Deliver project notifications, approvals, collaboration messages, and status updates to stakeholders. ServiceNow Strategic Portfolio Management → Martini → Microsoft Teams Martini receives selected ServiceNow events or polls for changed projects, formats concise collaboration messages, applies notification rules, and sends them to configured Teams endpoints.
ServiceNow IT Service Management Connect portfolio planning with incidents, changes, problems, service requests, and operational work on the ServiceNow platform. ServiceNow Strategic Portfolio Management → Martini → ServiceNow IT Service Management Martini can orchestrate cross-table synchronization where an external integration boundary is required, using ServiceNow APIs, reference lookups, state mappings, and controlled updates.

How to build a ServiceNow Strategic Portfolio Management integration in Martini

Objective

Establish controlled access to the ServiceNow instance and any target applications using a dedicated integration identity and environment-specific configuration.

Instructions in Martini

  • Select OAuth 2.0, Basic Authentication, mutual TLS, or another confirmed ServiceNow method
  • Use a dedicated integration user with least-privilege roles and ACL access
  • Store credentials, tokens, and certificates outside workflow source code
  • Separate development, test, and production configuration

Objective

Select event-driven callbacks, scheduled polling, API invocation, or batch processing according to the SPM object and event coverage available in the instance.

Instructions in Martini

  • Use a Martini REST API for configured ServiceNow callbacks
  • Use a scheduler for incremental queries based on sys_updated_on
  • Use Import Set processing for controlled bulk ingestion
  • Define created, updated, approved, rejected, closed, cancelled, or converted event semantics

Objective

Retrieve the relevant ServiceNow object or attachment while controlling volume, reference resolution, and checkpoint behavior.

Instructions in Martini

  • Use sysparm_query and sysparm_fields to limit the response
  • Paginate with supported ServiceNow paging parameters
  • Retrieve related reference data through stable identifiers
  • Transfer attachment metadata and binary content as separate concerns

Objective

Coordinate ServiceNow calls, target-system operations, enrichment, branching, and asynchronous work in a maintainable Martini workflow.

Instructions in Martini

  • Separate extraction, validation, transformation, target writes, and reconciliation
  • Use reusable services or workflow components for common lookups
  • Bound concurrency to protect the ServiceNow instance
  • Persist synchronization checkpoints and cross-system identifiers

Objective

Transform ServiceNow table fields, internal choice values, references, dates, and identifiers into the target data model without relying on display labels alone.

Instructions in Martini

  • Map internal choice values deliberately
  • Resolve users, groups, portfolios, companies, and other references by stable identifiers
  • Validate required fields and business keys before writes
  • Externalize mappings that may change by instance or release

Objective

Apply duplicate prevention, state-transition controls, ownership rules, and data-quality policies before creating or updating SPM objects.

Instructions in Martini

  • Use external IDs or Import Set coalesce fields for idempotency
  • Check permitted state transitions and required related records
  • Route invalid references and permanent validation errors for review
  • Account for business rules, approvals, notifications, and asynchronous side effects

Common ServiceNow Strategic Portfolio Management data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
ProjectsSynchronize delivery status, schedules, ownership, costs, benefits, milestones, and related work.SAP S/4HANA, Oracle Fusion Cloud Applications, Jira, Microsoft Azure DevOps, Microsoft TeamsMartini queries the permitted project table incrementally, resolves references, maps state and date values, and upserts using sys_id or an external project identifier.
DemandsCapture proposed work before approval or conversion into a project, enhancement, or other delivery item.Salesforce, Jira, SAP S/4HANA, enterprise planning applicationsMartini validates required portfolio, owner, priority, and date fields, detects duplicate external demand IDs, and creates or updates Demands through REST or Import Set flows.
ProgramsGroup related Projects and support portfolio-level planning and reporting.Jira, Microsoft Azure DevOps, financial planning applications, Microsoft TeamsMartini maps program identifiers and health indicators, validates parent and reference relationships, and synchronizes changes with checkpointed workflows.
IdeasCapture proposed initiatives before evaluation and progression into Demands or Projects.Salesforce, collaboration applications, planning applicationsMartini receives idea submissions through an API or scheduled extraction, applies validation and duplicate rules, and maps lifecycle states to target systems.
PortfoliosGroup and evaluate investments, Projects, Programs, and Demands.SAP S/4HANA, Oracle Fusion Cloud Applications, enterprise planning applicationsMartini resolves portfolio references, normalizes financial and strategic attributes, and applies authorization and state-transition checks before writes.
Resource PlansRepresent requested or allocated capacity, labor, roles, time periods, costs, and planning states.Workday, SAP S/4HANA, Oracle Fusion Cloud Applications, workforce planning applicationsMartini maps users, groups, roles, periods, and capacity values, validates reference records, and separates requested from allocated planning data.

Authentication and security considerations

Authentication and authorization

ServiceNow supports OAuth 2.0, Basic Authentication, and in some configurations mutual TLS, certificates, API keys, or custom headers. The effective permission set is determined by ServiceNow roles, groups, table permissions, field ACLs, OAuth scopes, application scope, and web-service policies.

  • Use a dedicated integration user rather than a personal account.
  • Grant only the roles and table access required for the selected SPM objects.
  • Store credentials, tokens, and certificates in Martini environment configuration or secrets management.
  • Use TLS-protected endpoints and restrict access to sensitive budgets, workforce data, business cases, and attachments.
  • Keep development, test, and production credentials separate.

Operational considerations for ServiceNow Strategic Portfolio Management integrations

Reliable ServiceNow SPM integrations

ServiceNow instances can enforce transaction quotas, concurrency controls, ACLs, and other protections. Use narrow queries, pagination, bounded concurrency, Import Sets for suitable high-volume ingestion, and incremental checkpoints based on sys_updated_on.

  • Use external identifiers, sys_id values, or Import Set coalesce fields to prevent duplicates.
  • Map internal choice values rather than localized display labels.
  • Resolve reference fields through stable identifiers instead of assuming display values are unique.
  • Retry transient failures such as rate limits and selected 5xx responses with bounded exponential backoff.
  • Test mappings against instance dictionary metadata, activated plugins, custom fields, business rules, and release changes.
  • Handle attachment metadata and binary content separately, including size, type, permission, and partial-transfer failures.
  • Maintain reconciliation results for records requiring manual review.

Why use Martini instead of scripts or point-to-point integrations?

Maintainable integration delivery

Point-to-point scripts often combine authentication, API calls, field mappings, business rules, retries, and operational logging in code that is difficult to govern. Martini provides a workflow-based integration layer for orchestrating ServiceNow APIs, callbacks, target systems, and reusable transformation logic.

  • Centralize mappings, validation, reference lookups, and state rules.
  • Use scheduled, API-led, event-driven, and batch workflows for different SPM integration needs.
  • Separate retryable platform failures from permanent data-quality errors.
  • Expose controlled Martini APIs for demand intake and ServiceNow callbacks.
  • Support checkpointing, reconciliation, monitoring, and environment-specific security configuration.
  • Extend workflows with custom logic when ServiceNow-specific business rules require additional flexibility.

Frequently asked questions

How can ServiceNow Strategic Portfolio Management be integrated with enterprise systems?

ServiceNow SPM can be integrated through ServiceNow REST APIs such as the Table API, Import Set API, Attachment API, Aggregate API, and applicable product APIs. SOAP web services remain available for legacy scenarios. Configured outbound REST messages, notifications, business rules, Flow Designer, and scheduled incremental queries can support event-driven or batch synchronization.

Can Martini integrate with ServiceNow Strategic Portfolio Management?

Yes. Martini can consume ServiceNow REST or SOAP APIs, expose REST APIs for configured ServiceNow callbacks, orchestrate scheduled and event-driven workflows, transfer attachments, and map SPM objects such as Projects, Demands, Programs, Ideas, Portfolios, and Resource Plans to other systems.

Do I need a connector to integrate ServiceNow Strategic Portfolio Management with Martini?

No. A dedicated ServiceNow connector is not required. Martini can use ServiceNow’s confirmed native REST and SOAP APIs, Import Set and Attachment APIs, configured outbound callbacks, authentication methods, and supported scheduling or export mechanisms.

Is there any extra Lonti cost to integrate ServiceNow Strategic Portfolio Management with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate ServiceNow SPM. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from ServiceNow, cloud infrastructure, or other third-party systems based on licensing, usage, and deployment model.

Which ServiceNow SPM integration method should a new integration use?

REST is generally preferred for new integrations, with the Table API as a practical starting point when permitted. Import Sets are useful for controlled bulk ingestion and transformation, the Attachment API handles files, and SOAP remains appropriate when a legacy consumer requires it. GraphQL access to SPM was not confirmed.

Are ServiceNow SPM events or webhooks available?

ServiceNow supports selected outbound notifications and callback patterns through outbound REST messages, business rules, notifications, Flow Designer, IntegrationHub, and scripted integrations. Coverage is configuration-dependent and is not a universal webhook feed for every SPM object or field change. Martini can receive configured callbacks through an exposed REST API or use scheduled polling where events are unavailable.

How does Martini synchronize changed ServiceNow Projects or Demands?

A scheduled Martini workflow can query ServiceNow with an incremental filter such as sys_updated_on, paginate results, and store a checkpoint. An overlap window, stable external identifiers, and idempotent upserts help handle late updates, retries, and duplicate delivery.

How are ServiceNow SPM errors, retries, duplicates, and mappings handled?

Martini can validate payloads, map internal choice values and reference identifiers, apply lookup-before-create or coalesce rules, and distinguish authorization, validation, rate-limit, and transient platform failures. Retryable failures can use bounded backoff, while permanent errors and reconciliation items can be routed for review. Martini can also expose an API façade for controlled inbound submissions or callbacks.