Skip to Content
DestinationsOtherWorkday Adaptive Planning

Workday Adaptive Planning

Sync data from your warehouse to Workday Adaptive Planning for financial planning, budgeting, and forecasting. Import actuals, headcount data, custom metrics, and operational data into Adaptive Planning sheets and accounts via the REST API.

Prerequisites

  • A Workday Adaptive Planning account with an active subscription
  • A dedicated integration user with API access and import permissions
  • Your Adaptive Planning API base URL (typically https://api.adaptiveplanning.com/api/v40)
  • The version name you want to import data into (e.g., “Working Budget”, “Actuals”)

Permissions

The authenticated user must have:

  • Import permission on the target version to use any import method
  • Modeled sheet access if importing configurable model data
  • Level access for the organizational levels being imported
  • Account access for the accounts being imported

Create a dedicated integration user in Adaptive Planning with only the permissions needed for your sync. Avoid using personal admin accounts.

Authentication

Workday Adaptive Planning supports two authentication methods.

Basic Authentication

  1. Navigate to Destinations in the Zeotap sidebar
  2. Click Add Destination and select Workday Adaptive Planning
  3. Select Basic Authentication
  4. Enter the Username and Password for your Adaptive Planning integration user
  5. Click Save

Bearer Token (Workday Credentials)

For Workday platform customers with user synchronization enabled, use a Workday-issued API access token instead of username/password.

  1. In Workday, register a new API client with Grant Type: JWT Bearer Grant and Scope: Adaptive Planning
  2. Generate an API access token using your Workday credentials
  3. In Zeotap, navigate to Destinations and click Add Destination
  4. Select Workday Adaptive Planning and choose Bearer Token (Workday Credentials)
  5. Paste the Access Token (AdaptiveAPIAccessToken) into the field
  6. Click Save

Configuration

FieldTypeRequiredDescription
API Base URLTextYesThe Adaptive Planning API base URL. Default: https://api.adaptiveplanning.com/api/v40.
Instance IDTextNoYour Adaptive Planning instance identifier, found in your instance settings.

Target Settings

FieldTypeRequiredDescription
Import MethodSelectYesThe API method to use for data import. See options below.
Version NameTextYesThe Adaptive Planning version to import data into (e.g., Working Budget, Actuals).
Sheet NameTextConditionalThe modeled sheet name. Required when import method is Import Configurable Model Data.

Import Methods

MethodValueDescription
Import Standard DataimportStandardDataImport values into GL accounts, assumptions, or custom accounts.
Import Configurable Model DataimportConfigurableModelDataImport row-based data into modeled sheets (e.g., headcount, asset schedules).
Import Cube DataimportCubeDataImport multidimensional data into cube sheets.
Import TransactionsimportTransactionsImport transaction-level detail data.

Supported Operations

Sync Modes

ModeSupported
UpsertYes
InsertYes
Update
Mirror

The Adaptive Planning import API naturally overwrites existing data for matching account, level, and period combinations when using Upsert mode. Insert mode appends data, which may overwrite or duplicate depending on your instance configuration. Update and Mirror are not supported because the API does not provide record-level update or delete operations.

Audience Sync Modes

ModeSupported
Add
Remove
Mirror
Upsert

Workday Adaptive Planning does not have a list, audience, or membership concept, so audience sync modes are not supported.

Features

  • Field Mapping: Yes — map your warehouse columns to Adaptive Planning accounts, levels, periods, dimensions, and values
  • Schema Introspection: No — configure field mappings manually based on your Adaptive Planning instance schema

Required Mapping Fields

FieldDescription
account_codeThe Adaptive Planning account code identifying which account to import data into. Required for standard data imports.
level_nameThe organizational level name in Adaptive Planning. Identifies which organizational unit the data belongs to.

Default Destination Fields

These common Adaptive Planning fields appear as suggestions in the field mapping editor:

FieldTypeDescription
account_codeStringThe account code in Adaptive Planning (e.g., GL account code)
level_nameStringThe organizational level (e.g., department, cost center)
periodStringThe time period for the data (e.g., Jan-2025, 01/2025)
valueNumberThe numeric data value to import
dimension_1StringCustom dimension value for segmentation
dimension_2StringSecond custom dimension value
split_nameStringSub-account split label for detailed allocations
notesStringCell-level notes or comments
currency_codeStringISO 4217 currency code (e.g., USD, EUR)
row_keyStringUnique row identifier for configurable model data updates

How It Works

  1. Field mapping: Zeotap maps each warehouse row to an Adaptive Planning data record using your configured field mappings. Key fields include account code, level name, period, and value.
  2. Batch assembly: Rows are grouped into chunks of up to 500 and assembled into an XML payload following the Adaptive Planning API format.
  3. API call: Each chunk is sent as an HTTP POST request to the configured import method endpoint (e.g., importStandardData, importConfigurableModelData).
  4. Response validation: The API response is checked for error elements. If errors are detected, all rows in the chunk are marked as failed.
  5. Retry logic: Transient failures (HTTP 429 rate limits, 5xx server errors) are retried with exponential backoff (up to 3 retries per request).

Batch Size

Rows are grouped into chunks of 500 per API request. Each chunk is sent as a single XML POST body containing multiple <row> elements. This reduces round trips while staying within API payload limits.

Rate Limits

Workday Adaptive Planning does not publish fixed rate limits. Limits vary by instance and subscription tier. If you experience throttling:

  • Reduce sync frequency to avoid overlapping imports
  • Schedule syncs during off-peak hours for your Adaptive Planning instance
  • Contact your Workday account team to understand your instance’s API limits

Zeotap automatically retries requests that receive HTTP 429 (Too Many Requests) responses with exponential backoff.

Best Practices

  • Use a dedicated integration user with only import permissions rather than a personal admin account
  • Test with a small batch before running a full sync to verify field mappings and version settings
  • Map account codes and level names carefully — incorrect values will cause import errors
  • Use the correct import method for your target data: standard data for GL accounts, configurable model data for modeled sheets
  • Include period information in every row to ensure data lands in the correct time period
  • Set the correct version — importing into the wrong version can overwrite planned data

Troubleshooting

Authentication failed (HTTP 401)

Verify that the username and password are correct for Basic auth, or that the access token is valid and not expired for Bearer token auth. Ensure the integration user account is active in Adaptive Planning.

Import permission denied

The authenticated user does not have import permission on the target version. In Adaptive Planning, navigate to Administration > Users and verify the integration user’s role includes import permissions for the target version.

Sheet name not found

When using Import Configurable Model Data, the sheet name must exactly match a modeled sheet in your Adaptive Planning instance. Check the sheet name spelling and capitalization in Administration > Modeled Sheets.

Account code not recognized

The account_code value in your data does not match any account in Adaptive Planning. Verify account codes in Administration > Accounts and ensure you are using the code (not the display name).

Level name not found

The level_name value does not match any organizational level. Check level names in Administration > Levels and ensure exact spelling and capitalization.

Version name not found

The version name specified in target settings does not match any version in your Adaptive Planning instance. Navigate to Versions in Adaptive Planning to verify the exact version name.

Data not appearing in expected period

Verify that the period field format matches your Adaptive Planning instance’s time period format. Common formats include Jan-2025, 01/2025, and 2025-01. The expected format depends on your instance configuration.

Rate limited (HTTP 429)

Your sync is exceeding the instance’s API rate limit. Zeotap automatically retries with backoff, but persistent rate limiting may require reducing sync frequency or scheduling during off-peak hours.

Connection timeout

Large syncs may experience timeouts if the Adaptive Planning API is under heavy load. Zeotap uses a 120-second timeout per request. If timeouts persist, try reducing chunk sizes by syncing smaller datasets.

Last updated on