.png)
Skedulo Integration Guide
Connect Skedulo workforce scheduling data with enterprise applications through its GraphQL API, token-based authentication, and selected webhook-style notifications.
Skedulo integration options at a glance
Skedulo’s primary documented integration surface is its GraphQL API, which supports queries and mutations for Jobs, Resources, Users, Locations, Allocations, and related workforce data. Martini can consume these operations from workflows, apply filters and pagination, transform responses, and expose APIs that coordinate Skedulo with other applications. Skedulo also supports webhook-style or event notifications for selected changes, although coverage must be confirmed for each object and event. Integrations generally use OAuth-style authorization or bearer access tokens, with tenant and role permissions controlling access. A general-purpose REST API, bulk API, file API, and direct database access were not confirmed.
Common Skedulo integration patterns
Common Skedulo data objects used in integrations
Authentication and security considerations
Token-based access
Skedulo integrations generally use OAuth-style authorization and bearer access tokens. The exact grant, token endpoint, scopes, and permission model should be confirmed for the target tenant.
Tenant and role permissions
Tenant, organization, user, and role permissions determine which Jobs, Resources, Users, Locations, Allocations, and operations an integration can access.
Martini configuration
Store Skedulo endpoints, client credentials, tokens, and tenant-specific settings in Martini environment configuration or secrets management rather than embedding them in workflow definitions.
Controlled API exposure
When receiving Skedulo notifications, expose only the required Martini API endpoint and validate the notification source, payload, event identity, and authorization before starting a workflow.
Operational considerations for Skedulo integrations
Pagination and checkpoints
GraphQL responses may be bounded. Use explicit pagination, incremental criteria where available, and durable checkpoints for recurring synchronization.
Rate limits and retries
Confirm Skedulo tenant limits and use bounded concurrency with exponential backoff for throttling and transient server failures. Handle authentication, validation, and business errors separately.
Idempotency
Webhook delivery and retryable API calls can produce duplicates. Use a stable Skedulo identifier, event identifier, or composite key such as Job ID and event timestamp.
Schema and tenant variation
Object availability and field names can vary by product configuration, enabled modules, and tenant. Version-control GraphQL queries and treat schema changes as deployment-impacting changes.
Scheduling data quality
Normalize timestamps carefully, preserve relevant source time zones, and validate relationships between Jobs, Resources, Allocations, Locations, and Territories.
Testing and observability
Test representative GraphQL responses, partial data, authorization failures, duplicate notifications, and pagination boundaries. Log correlation IDs and source identifiers without placing sensitive workforce or customer data in general logs.
Why use Martini instead of scripts or point-to-point integrations?
Reusable orchestration
Martini separates Skedulo access from downstream business processes so the same GraphQL and event-handling assets can support CRM, service, ERP, reporting, and notification use cases.
Controlled transformation
Workflows provide explicit mapping, normalization, validation, enrichment, and business-rule stages for tenant-specific Jobs, Resources, Allocations, and scheduling data.
Reliable operations
Instead of maintaining isolated scripts, teams can implement pagination, checkpoints, idempotency, retries, error paths, and monitoring as part of a managed integration workflow.
API-led design
Martini can consume Skedulo GraphQL operations and expose controlled APIs that hide implementation details from calling systems, allowing enterprise applications to interact through stable orchestration contracts.
Adaptable implementation
When Skedulo event coverage, schemas, or permissions differ by tenant, Martini workflows can accommodate conditional routing and custom transformation logic without assuming an unverified connector or REST surface.