Documentation Index
Fetch the complete documentation index at: https://nango.dev/docs/llms.txt
Use this file to discover all available pages before exploring further.
🚀 Quickstart
🔗 Useful links
🚨 API gotchas
Authorize Workday
Go to Connections -> Add Test Connection -> Authorize, then log in to Workday. Later, you’ll let your users do the same directly from your app. Call the Workday SOAP API
Let’s make your first request to the Workday SOAP API (fetch workers using Human_Resources service). Replace the placeholders below with your secret key, integration ID, and connection ID:Install Nango’s backend SDK and SOAP library with npm i @nangohq/node soap. Then run:import { Nango } from '@nangohq/node';
import soap from 'soap';
const nango = new Nango({ secretKey: '<NANGO-SECRET-KEY>' });
const connectionId = '<CONNECTION-ID>';
const providerConfigKey = '<INTEGRATION-ID>';
const connection = await nango.getConnection(providerConfigKey, connectionId);
const { credentials, connection_config } = connection;
if (
credentials.type !== "BASIC" ||
!credentials.username ||
!credentials.password ||
!connection_config["hostname"] ||
!connection_config["tenant"]
) {
throw new Error(
"Invalid credentials: BASIC auth, username, password, hostname, and tenant are all required."
);
}
// Example: Get workers using Human_Resources service
const serviceType = 'Human_Resources';
const version = '40.0';
const wsdlUrl = `https://community.workday.com/sites/default/files/file-hosting/productionapi/${serviceType}/v${version}/${serviceType}.wsdl`;
const endpointUrl = `https://${connection_config["hostname"]}/ccx/service/${connection_config["tenant"]}/${serviceType}/v${version}`;
const client = await soap.createClientAsync(wsdlUrl, {});
client.addHttpHeader("Accept-Encoding", "gzip, deflate"); // Needed or some queries will fail https://github.com/axios/axios/issues/4806
client.setSecurity(
new soap.WSSecurity(credentials.username, credentials.password),
);
client.setEndpoint(endpointUrl);
// Make SOAP request to Get_WorkersAsync
const [res] = await client["Get_WorkersAsync"]({
Response_Filter: {
Page: 1,
Count: 100,
},
});
console.log('Workers Response:', JSON.stringify(res, null, 2));
Or fetch credentials dynamically via the Node SDK or API. ✅ You’re connected! Check the Logs tab in Nango to inspect requests.
- Workday provides two APIs, a REST and a SOAP one and Nango supports them both.
- Workday requires a user-specific
hostname and tenant for the API base URL.
- Access to most Workday’s API doc resources, including detailed documentation on OAuth authentication flows, is typically restricted to Workday customers and partners. To access these resources, you can:
- Sign In to Workday Community: Visit the Workday Community and sign in with your Workday credentials. If you don’t have an account, you can request one.
- Contact Workday Support: If you are a customer, reach out to Workday Support for assistance in accessing specific documentation.