Skip to main content

Skedulo

Skedulo is an intelligent mobile workforce management platform for scheduling, dispatching, and tracking deskless and field-based workers at scale. Used in healthcare, field service, utilities, and social services, it provides job scheduling, resource management, availability tracking, and real-time GPS monitoring. Its GraphQL and REST APIs integrate scheduling data with Salesforce, ServiceNow, and Workday.

Skedulo icon

Power end-to-end data operations for your Skedulo API with Nexla. Our bi-directional Skedulo connector is purpose-built for Skedulo, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Skedulo or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Skedulo workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

To connect Nexla to Skedulo, you need a Skedulo API token and the correct regional base URL for your tenant. Skedulo API tokens are created through the Skedulo web application by users with administrator permissions.

Obtain a Skedulo API Token

Skedulo supports both long-lived (non-expiring) and time-limited API tokens. For integration use cases such as connecting to Nexla, a long-lived token is recommended so that your data flows continue to operate without requiring periodic credential updates.

  1. Log in to the Skedulo web application as an administrator.

  2. Click your user profile icon in the upper-right corner of the screen, then navigate to Settings > Developer Tools > API Tokens.

  3. Click the Create button to open the token creation dialog.

  4. In the token creation dialog, set the Expires field to Never to generate a long-lived token (recommended for integrations), or select a specific expiry duration if your organization requires time-limited tokens.

  5. Enter a descriptive name for the token (for example, Nexla Integration) to help identify it later.

  6. Click Create to generate the token.

Important

Copy the API token immediately after it is generated and store it in a secure location. The full token value is only displayed once — it cannot be retrieved again after you navigate away from this screen.

  1. Save the copied token value to use when creating your Nexla credential.

Additional information about Skedulo API tokens, including how to create tokens programmatically via the REST API, is available in the Skedulo authentication documentation.

Identify Your Regional Base URL

Skedulo tenant instances are deployed in one of four geographic regions. You must use the base URL that corresponds to the region where your tenant is hosted.

RegionBase URL
United Stateshttps://api.skedulo.com
United Kingdomhttps://api.uk.skedulo.com
Canadahttps://api.ca.skedulo.com
Australiahttps://api.au.skedulo.com

Contact your Skedulo administrator if you are not certain which region your tenant is deployed in. You can also determine your region by checking the URL you use to log in to the Skedulo web application — the subdomain typically reflects the region.

Authenticate

Credentials required

Authenticate using a Skedulo API token. Obtain a long-lived token from Skedulo Admin > Developer Tools > API Tokens. Select the regional base URL matching your tenant deployment.

FieldRequiredSecretDescription
API TokenYesYesLong-lived or time-limited API token from Skedulo Admin > Developer Tools > API Tokens.
Regional Base URLYesNoAPI base URL for your Skedulo tenant region. Allowed values: US (api.skedulo.com); UK (api.uk.skedulo.com); CA (api.ca.skedulo.com); AU (api.au.skedulo.com)

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Skedulo uses API token authentication. The token is transmitted as a Bearer token in the Authorization HTTP request header for all API calls. Enter your Skedulo API token in the API Token field. This is the long-lived or time-limited token you generated in the Skedulo web application under Settings > Developer Tools > API Tokens. The token value is treated as a password and will be masked after it is saved.

  4. Select or enter the Regional Base URL that corresponds to your Skedulo tenant's deployment region:

    • US (api.skedulo.com)https://api.skedulo.com
    • UK (api.uk.skedulo.com)https://api.uk.skedulo.com
    • CA (api.ca.skedulo.com)https://api.ca.skedulo.com
    • AU (api.au.skedulo.com)https://api.au.skedulo.com

    Selecting the incorrect regional base URL will result in authentication failures, even if the API token itself is valid. Ensure you select the region that matches your Skedulo tenant's deployment location.

  5. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Skedulo connector tile, then select the credential that will be used to connect to the Skedulo instance, and click Next; or, create a new Skedulo credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Skedulo data objects. Each template is designed specifically for the corresponding Skedulo API endpoint, making data source setup easy and efficient. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

Get Jobs

Fetches all job records from your Skedulo tenant via GraphQL, including status, timing, location, account, contact, region, and resource allocation details. Use this endpoint to ingest scheduling and job management data for reporting, analytics, or downstream processing.

  • Optionally, enter the number of job records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000. Larger page sizes reduce the number of API requests but may increase latency per call.

  • Optionally, enter a Skedulo EQL (Expression Query Language) filter expression in the EQL Filter field to limit which job records are returned. For example:

    • JobStatus == 'Queued' — returns only jobs with a status of Queued
    • Start > {now-30} — returns jobs that started within the last 30 time units

The Pagination Cursor field is managed automatically by Nexla during paginated data retrieval. Leave it blank to start ingestion from the beginning of the dataset. For additional details about job object fields, refer to the Skedulo Jobs object reference.

Get Resources

Fetches all resource (field worker) records including name, contact information, home address, geo-location, active status, category, user account, region assignments, and tag assignments. Use this endpoint to synchronize your workforce roster with external systems or build resource analytics.

  • Optionally, enter the number of resource records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

The Pagination Cursor field is managed automatically by Nexla. Leave it blank to start from the beginning of the dataset. For additional details, refer to the Skedulo Resources object reference.

Get Job Allocations

Fetches all job-to-resource assignment records, including allocation status, check-in and check-out times, travel time, duration, notification type, geo-location at check-in, and linked job and resource details. Use this endpoint to analyze workforce utilization, travel time, and job completion rates.

  • Optionally, enter the number of job allocation records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

  • Optionally, enter a Skedulo EQL filter expression in the EQL Filter field to limit results. For example:

    • Status == 'Complete' — returns only completed allocations
    • Job.Start > 2024-01-01T00:00:00.000Z — returns allocations for jobs starting after a specific date

For additional details, refer to the Skedulo JobAllocations object reference.

Get Accounts

Fetches all customer account records including billing address, geo-location, phone, email, type, and industry. Use this endpoint to synchronize Skedulo customer accounts with CRM systems or perform account-level analysis.

  • Optionally, enter the number of account records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

For additional details, refer to the Skedulo Accounts object reference.

Get Contacts

Fetches all contact records linked to accounts, including first and last name, email, mobile phone, mailing address, geo-location, and associated account. Use this endpoint to build customer contact lists or enrich job data with contact details.

  • Optionally, enter the number of contact records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

For additional details, refer to the Skedulo Contacts object reference.

Get Activities

Fetches activity records representing non-job work items such as meetings, training sessions, or administrative time. Each record includes name, notes, start and end times, duration, type, address, geo-location, region, and assigned resources. Use this endpoint to capture non-job time and include it in workforce utilization reporting.

  • Optionally, enter the number of activity records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

  • Optionally, enter a Skedulo EQL filter expression in the EQL Filter field. For example:

    • Type == 'Meeting' — returns only meeting-type activities
    • Start > {now-30} — returns activities starting within the last 30 time units

For additional details, refer to the Skedulo Activities object reference.

Get Shifts

Fetches shift definition records that define scheduled work periods for resources, including name, start and end times, duration, display name, location, address, geo-location, region, and associated tags. Use this endpoint to analyze shift patterns and workforce scheduling structures.

  • Optionally, enter the number of shift records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

For additional details, refer to the Skedulo Shifts object reference.

Get Resource Shifts

Fetches resource-to-shift assignment records, including assignment status, check-in and check-out times, linked resource, and shift details (name, start and end times). Use this endpoint to track shift adherence and attendance.

  • Optionally, enter the number of resource shift records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

For additional details, refer to the Skedulo ResourceShifts object reference.

Get Availabilities

Fetches resource availability window records indicating when individual resources are available or unavailable. Each record includes start and finish times, type, notes, availability flag, and the associated resource. Use this endpoint to analyze workforce availability patterns or feed scheduling optimization tools.

  • Optionally, enter the number of availability records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

  • Optionally, enter a Skedulo EQL filter expression in the EQL Filter field. For example:

    • IsAvailable == true — returns only available windows
    • Start > {now-7} — returns availability records starting within the last 7 time units

For additional details, refer to the Skedulo Availabilities object reference.

Get Locations

Fetches named location records used as job sites, depots, and scheduling reference points. Each record includes name, address, geo-location, type, and associated account. Use this endpoint to maintain a synchronized list of service locations for mapping or scheduling analysis.

  • Optionally, enter the number of location records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

For additional details, refer to the Skedulo Locations object reference.

Get Regions

Fetches geographic region definitions used to assign resources and jobs to service areas. Each record includes name, timezone, and description. Use this endpoint to synchronize Skedulo region data with territory management or reporting systems.

  • Optionally, enter the number of region records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

For additional details, refer to the Skedulo Regions object reference.

Get Tags

Fetches all tag definitions used to classify resources, jobs, shifts, and accounts. Each record includes name, description, and classification. Tags in Skedulo are used for skill matching and filtering—for example, assigning a tag like "Electrician" to both a resource and a job ensures that only qualified workers are scheduled for that job. Use this endpoint to synchronize tag libraries with external skill management systems.

  • Optionally, enter the number of tag records to retrieve per page in the Page Size field. The default is 500 and the maximum is 10000.

For additional details, refer to the Skedulo Tags object reference.

Get Resource Tracking

Fetches real-time and historical GPS location tracking data for field resources within a specified time window. Use this endpoint to analyze resource movement, verify field attendance, or build operational dashboards.

  • Enter the start of the tracking time window in the From Date field, in ISO-8601 UTC format (for example, 2024-01-01T00:00:00.000Z). The default value is {now-1}, which resolves to one time unit before the current datetime.

  • Enter the end of the tracking time window in the To Date field, in ISO-8601 UTC format. The default value is {now}, which resolves to the current datetime.

Both From Date and To Date are required for this endpoint. The time window should be kept to a reasonable range to avoid retrieving excessively large datasets. For additional details, refer to the Skedulo resource tracking documentation.

Get Availability Summary

Fetches a summary of resource availability for a specified date range from the Skedulo scheduling availability API. Use this endpoint to obtain a high-level view of workforce availability for capacity planning or scheduling optimization.

  • Enter the start of the availability window in the Start Date field, in ISO-8601 UTC format. The default value is {now}, which resolves to the current datetime.

  • Enter the end of the availability window in the End Date field, in ISO-8601 UTC format. The default value is {now+7}, which resolves to seven time units after the current datetime.

Both Start Date and End Date are required for this endpoint. For additional details, refer to the Skedulo availability documentation.

Get Job Tasks

Fetches task checklist items belonging to jobs, including task name, description, completion status, sequence order, mandatory flag, and the associated job. Use this endpoint to track job task completion rates or synchronize task data with quality management systems.

  • Optionally, enter the number of job task records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

For additional details, refer to the Skedulo JobTasks object reference.

Get Job Products

Fetches product line items associated with jobs, including quantity, notes, associated job, and product details (name and SKU). Use this endpoint to synchronize job-level product usage data with inventory management or billing systems.

  • Optionally, enter the number of job product records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

For additional details, refer to the Skedulo JobProducts object reference.

Get Recurring Schedules

Fetches recurring schedule definitions used to auto-generate repeating jobs or activities. Each record includes name, start and end dates, frequency, days of the week, duration, and active status. Use this endpoint to audit or replicate recurring scheduling patterns.

  • Optionally, enter the number of recurring schedule records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

For additional details, refer to the Skedulo RecurringSchedules object reference.

Get Resource Requirements

Fetches skill and certification requirement records defined on jobs for resource matching. Each record includes relative start and end times, status, the associated job, and the required resource requirement tags (skills or certifications). Use this endpoint to analyze job skill requirements and ensure workforce competency alignment.

  • Optionally, enter the number of resource requirement records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

For additional details, refer to the Skedulo ResourceRequirements object reference.

Get Job Offers

Fetches job offer records sent to resources for open job acceptance, including offer status, offer type, expiry time, the associated job, and per-resource offer response statuses. Use this endpoint to monitor offer acceptance rates and identify unfilled jobs.

  • Optionally, enter the number of job offer records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

For additional details, refer to the Skedulo JobOffers object reference.

Get Users

Fetches Skedulo user account records including login, email, full name, user type, active status, profile photo URL, and region access assignments. Use this endpoint to synchronize Skedulo user rosters with identity management or HR systems.

  • Optionally, enter the number of user records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

For additional details, refer to the Skedulo Users object reference.

Get Change History

Fetches incremental change audit records for Skedulo objects via the delta/datalake API. This endpoint returns records for any objects that have been created, updated, or deleted since a specified timestamp. It is particularly useful for building incremental data pipelines that capture only recent changes rather than full dataset refreshes.

  • Enter the timestamp from which to fetch changes in the Since (ISO-8601) field, in ISO-8601 UTC format (for example, 2024-01-01T00:00:00.000Z). The default value is {now-1}, which resolves to one time unit before the current datetime. This field is required.

  • Optionally, enter one or more Skedulo object names in the Object Types field as a comma-separated list to limit the change history to specific object types. Available values include:

    • Jobs
    • Resources
    • JobAllocations
    • Accounts
    • Contacts
    • Activities
    • Shifts

The default value for Object Types is Jobs. To capture changes across multiple object types in a single run, enter them as a comma-separated list (for example, Jobs,Resources,JobAllocations). For additional details, refer to the Skedulo change history documentation.

Get Rule Violations

Fetches schedule rule violation (conflict) records for a specified date range, identifying scheduling issues such as double-booking, qualification mismatches, or availability conflicts. Use this endpoint to build scheduling quality dashboards or trigger automated alerts.

  • Enter the start of the date range in the From Date field, in ISO-8601 UTC format. The default value is {now-7}, which resolves to seven time units before the current datetime. This field is required.

  • Enter the end of the date range in the To Date field, in ISO-8601 UTC format. The default value is {now}, which resolves to the current datetime. This field is required.

For additional details, refer to the Skedulo rule violations documentation.

Get Current User (WhoAmI)

Validates the configured API token and returns the authenticated user's tenant, role, and identity details. This endpoint is useful for verifying credential configuration and confirming the identity and permissions of the API token being used.

  • No additional parameters are required for this endpoint. Select it and test the connection to confirm that your credential is correctly configured.

For additional details, refer to the Skedulo authentication documentation.

Get Holidays

Fetches holiday calendar records used in Skedulo availability and scheduling calculations. Each record includes the holiday name, date, whether it is globally applicable, and associated region assignments. Use this endpoint to synchronize Skedulo holiday calendars with external scheduling or HR systems.

  • Optionally, enter the number of holiday records to retrieve per page in the Page Size field. The default is 500 and the maximum is 10000.

For additional details, refer to the Skedulo Holidays object reference.

Get iCal Schedule Export

Fetches iCalendar-formatted schedule data for a specific resource, enabling calendar application integration. Use this endpoint to export a resource's upcoming schedule into a format compatible with calendar tools such as Google Calendar, Outlook, or Apple Calendar.

  • Enter the unique identifier (UID) of the Skedulo resource whose schedule you want to export in the Resource UID field. This field is required. Resource UIDs can be retrieved using the Get Resources endpoint.

For additional details, refer to the Skedulo iCal documentation.

Get Availability Templates

Fetches availability template definitions used to apply recurring availability patterns to resources. Each record includes the template name, description, availability flag, and the scheduled time entries (start time, end time, and day of week). Use this endpoint to audit or replicate recurring availability configurations.

  • Optionally, enter the number of availability template records to retrieve per page in the Page Size field. The default is 200 and the maximum is 10000.

For additional details, refer to the Skedulo AvailabilityTemplates object reference.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Skedulo data sources can also be manually configured to ingest data from any valid Skedulo API endpoint, including custom GraphQL queries or endpoints not covered by the pre-built templates. The Skedulo API accepts GET requests for REST-style endpoints (such as resource tracking, availability summary, rule violations, and the WhoAmI endpoint) and POST requests with a JSON body for GraphQL queries sent to the /graphql/graphql path on your regional base URL. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Replace https://api.skedulo.com with the regional base URL appropriate for your tenant (UK: https://api.uk.skedulo.com, CA: https://api.ca.skedulo.com, AU: https://api.au.skedulo.com). Most Skedulo GraphQL responses nest records under $.data.[objectName].edges[*].node, while REST endpoint responses typically use $.result[*]; pagination metadata (pageInfo with hasNextPage and endCursor) can be captured via the Path to Metadata in Response field. Date-range endpoints such as resource tracking, availability summary, and rule violations support date/time macros (for example, {now-7} and {now}). For GraphQL POST requests, add the Content-Type: application/json header — the Authorization header is handled automatically by Nexla based on your Skedulo credential.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Skedulo data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Skedulo destination, and select the Send to Destination option from the menu. Select the Skedulo connector from the list of available destination connectors, then select the credential that will be used to connect to the Skedulo organization, and click Next; or, create a new Skedulo credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Skedulo endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create Job

Writes a new job record to Skedulo via a GraphQL mutation. Use this endpoint to programmatically create jobs in Skedulo from data flowing through a Nexla pipeline—for example, when integrating a CRM or work order management system that generates new field service requests.

  • This endpoint accepts a JSON-formatted GraphQL mutation payload. The request body should contain a valid Skedulo GraphQL mutation to create a job. Nexla will send the Nexset data formatted as the request body to the Skedulo GraphQL endpoint at https://api.skedulo.com/graphql/graphql (or your regional equivalent).

  • Ensure that the Nexset data is structured to match the expected GraphQL mutation format before sending. A typical GraphQL mutation for creating a job in Skedulo follows this structure:

    • A top-level mutation keyword followed by the mutation name
    • An insert or upsert operation on the Jobs object
    • Required fields such as Name, JobStatus, and Start

For complete details on required and optional job fields and GraphQL mutation syntax for creating jobs, refer to the Skedulo GraphQL mutations documentation and the Jobs object reference.

Create Job Allocation

Writes a job-to-resource allocation record to Skedulo via a GraphQL mutation. Use this endpoint to programmatically assign resources (field workers) to jobs—for example, when an external workforce management or optimization system determines the best resource for each job and sends those assignments back to Skedulo.

  • This endpoint accepts a JSON-formatted GraphQL mutation payload. The request body should contain a valid Skedulo GraphQL mutation to create a job allocation. Required fields include references to the target job UID and the resource UID to be allocated.

  • Ensure that the Nexset data includes valid Skedulo job and resource UIDs, as these are required to create a valid allocation record. UIDs can be obtained using the Get Jobs and Get Resources source endpoints.

For complete details on required fields and GraphQL mutation syntax for creating job allocations, refer to the Skedulo GraphQL mutations documentation and the JobAllocations object reference.

Manual configuration

Skedulo destinations can also be manually configured to send data to any valid Skedulo API endpoint. The Skedulo API supports both REST-style endpoints (using GET/POST/PUT/DELETE) and GraphQL mutations (using POST with a JSON body sent to /graphql/graphql on your regional base URL). Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

For GraphQL mutations, set the Content Format to JSON, use the endpoint https://api.skedulo.com/graphql/graphql (or your regional equivalent), and include the Content-Type: application/json header — the Authorization header is handled automatically by Nexla based on your Skedulo credential. For REST-style write operations, consult the Skedulo API reference for the appropriate endpoint path. Nexla can also be configured to send the API response received after each call to a new Nexla webhook data source, which is useful for capturing information such as the UID of a newly created job record.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Skedulo endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to Skedulo until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.