In this guide, we will walk through the essential steps required to build a Workday integration using the Cobalt platform. This process involves three major steps i.e. User Authentication with Workday, Creating Workflows and Using workflows for users.

Authenticating with Workday integration

To get started, first you need to enable the Workday integration in your account and also setup some basic processes.

1

Enable the Workday App

Step 1: Enable the Workday App

After setting up your account, the next step is to enable the Workday app in your Cobalt account.

Apps cannot be enabled using the API. You will need to enable the app through the UI.

To enable the Workday app:

Navigate to Apps in Cobalt and search for Workday and enable the app by clicking on the Go Live button in the top right corner.

Since this is a API Key based app, you do not need to perform any setup for user authentication.

Follow the steps given here to get your API credentials required for authentication.

Once the app is enabled, you can proceed to create and manage workflows and linked accounts associated with Workday.

2

Create a Linked Account

Step 2: Create a Linked Account

A Linked Account in Cobalt represents the end-users or customers who will use the integration through the platform. Each Linked Account requires a unique linked_account_id, which typically corresponds to an ID from your internal data model (e.g., a user or account ID).

Learn more about Linked Accounts here.

To upsert (create or update) a Linked Account, use the following API call:

ParamRequiredTypeDescription
linked_account_idMandatoryStringUnique customer identifier
nameOptionalStringName of the customer

You can check the Linked Accounts in your Cobalt account by navigating to the Linked Accounts section in the side menu.

Once the Linked Account is successfully created or updated, it will be ready for authentication in the next step.

3

Generate Session Token for your Linked Account

Step 3: Generate Token

After creating a Linked Account, the next step is to generate a session token. Session tokens help protect your Cobalt API key and manage end-customer tokens more securely.

To create a session token, use the following API call:

This session token will be included in subsequent requests to Cobalt APIs to authenticate and authorize the actions.

4

Open Hosted Portal Auth Flow

Step 4: Open Hosted Portal Auth Flow

Next, you will need to generate a Hosted URL that your users will use to authenticate with Salesforce. Cobalt securely stores the credentials and handles API calls on behalf of your users.

Use the following API call to generate the Hosted URL:

The response will return a Hosted URL that your users can visit to authenticate and connect their Salesforce accounts.

Hosted Portal is a no-code solution provided by Cobalt that removes the need to build your own UI for handling integration authentication and configuration.

5

Authenticate Using Hosted Portal

Step 5: Perform Key based Authentication

Visit the Hosted URL provided in the API response. The Hosted Portal will display all the integrations you have enabled, including NetSuite.

To authenticate:

  • Navigate to the Workday integration in the portal.
  • Provide the requested credentials.
  • Click on Connect to begin successfully authenticate with Workday.

You have successfully authenticated with Workday integration.

The next step is to create workflows for your use-case.

Creating Workflows in Workday

There are 2 major categories of workflows that you can create in Workday currently.

Data Import from Workday

Sync data from Workday to your system.

Push Data to Workday

Create data on Workday from your system.

Let’s look at a sample workflow for each case.

Data Import from Workday

Consider a use-case where you want to sync all the employees present in Workday to your system.

In the Workday integration, go to Workflows and create a new workflow by clicking on +Add Workflow button and name it as Sync Employees.

Push Data to Workday

Consider a use-case where you want to create an employee present in your system to Workday.

This workflow will be fired when you send an Event with the payload of the contact to be added.

In the Workday integration, go to Workflows and create a new workflow by clicking on +Add Workflow button and name it as Create New Employee.

You have successfully created the workflows for your use case.

Next step is to enable and execute those workflows for your Linked Accounts.

Executing the Workflows

To run these workflows for your users or Linked Accounts, you need to do the following steps:

1

Create Config for Linked Account

Config is a customization that you store for each integration of your end-customers.

Create Config

You can create config for the Linked Account through the Cobalt Connect SDKs or using the APIs.

You can use the .config() method or the Create Config API which returns the specified config or creates one if it doesn’t exist for the Linked Account.

Make a request with the Application Slug and linked_account_id as mandatory fields for it. You can request in the following way:

It will return information about config of the application for the Linked Account and provides you with all the published workflows and settings input for the user required to execute the workflow.

Response
{
	"slug": "workday",
	"config_id": "OPTIONAL_ID_FOR_THIS_CONFIG",
	"fields": [],
	"workflows": [
		{
			"id": "64d1fac58716dc5065127ffe",
			"name": "Sync Employees",
			"description": "",
			"enabled": false,
			"fields": []
		}
	],
	"field_errors": []
}
2

Enable Workflow

Now you need to enable the workflow for your Linked account. You can either ask the user to enable them or you can do so for them by using the Update Config API or .updateconfig() method.

Make the following request:

In response, you get the updated config information for the application.

3

Third Step

Once the required workflows are enabled, you need to fire event to start execution. You can use the Trigger Event for app API with the following request:

cURL
curl --request POST \
--url https://api.gocobalt.io/api/v2/public/event/:slug \
--header 'Content-Type: application/json' \
--header 'linked_account_id: <linked_account_id>' \
--header 'x-api-key: <api-key>' \
--data '{
"event": "<string>",
"payload": {}
}'
4

Check Execution Logs

Once the workflow execution has been fired, you can check the Logs of the workflow here.

Learn more about logs and observability here.

Congratulations!!

You have successfully created a Workday integration and executed it for your users.