Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

    English (US)
    MX Spanish (Mexico)
    CA French (Canada)
    US English (US)
    • Home
    • Management Tools
    • Workday Implementation

    Workday: Conversational Scheduling integration

    Written by Lindsey Stanifer

    Updated at August 31st, 2026

    Contact Us

    If you still have questions or prefer to get help directly from an agent, please submit a request.
    We’ll get back to you as soon as possible.

    Please fill out the contact form below and we will reply as soon as possible.

    • Getting Started
      Setting up your calendar Managing your alerts Additional Settings
    • Daily Processes
      Candidate Inbox Candidate Profile My Calendar/Calendars Browser Extension My Jobs Approvals Engine Manual and Common Scheduling Practices Form I-9 processes Troubleshooting Forms & Offers
    • Candidate and User Engagement
      Campaigns Conversation Builder Surveys Channels Talent Community Voice Web Management Analytics & Reporting Data Privacy Career Sites
    • Management Tools
      Job Management Scheduling Security Journeys Content Management System (CMS) Multiple Brands Workflows Users, Roles and Permissions Data Feeds Location Management Lookup Tables Assistant Messaging Company Information Client Setup System Attributes Integration Center Workday Implementation
    • Contextual AI
      Knowledge Training Library
    • Conversational Events and Campus
      Conversational Events Campus Events
    • Employee Communications
      Communications App Employee Management
    • Release Notes
      2025 2026
    • Workday Feature Descriptions
    + More

    Table of Contents

    Considerations Conversational Apply + Scheduling considerations Best practices for implementation Scheduling sites Semi-automated interview scheduling Customer requirements Baseline requirements Account configuration Interview scheduling deployment guide Workday APIs utilized Scheduling demo

    The Scheduling integration provides the ability for a customer to trigger a scheduling request in Paradox and update the candidate’s Workday application with the correct interview data.


    Considerations

    • Job Feeds must include the following:
      • Open/Closed
      • Internal/External
      • Recruiter on the Req
      • Hiring Manager on the Req
    • Will the customer utilize one or multiple interview stages in Paradox? (Most relevant to Badged Integration)
      • If multiple interview stages (i.e Interview 1, Interview 2, Interview 3) and using badged integration, we will need to utilize our inbound mapping tool.
    • PUT Interview is only valid when candidate is in the Interview stage inside of Workday.

    Conversational Apply + Scheduling considerations

    If your customer is using both Conversational Apply and Scheduling, then consider the following:

    • Disposition status
      • Best practice: Align Paradox Disposition statuses with Workday’s Disposition Reason within a single Disposition stage.
        • Reduces complexity in the customer-side Workday Studio build.
        • Improves reporting accuracy by tying metrics directly to Workday.
    • Auto Stage Routing (ASR)
      • Automatically moves candidates to a predetermined status based on their questionnaire responses.
      • Can dramatically improve metrics and ROI (Example: Candidate comes through Chat-to-Apply, gets created into WD, answers favorably and is “ASR’d” to a Screen status).
      • Traditionally, this was done inside of Paradox, but with Dynamic Chat-to-Apply, routing will need to happen inside of Workday after the creation of a candidate.
    • Status Updates: Custom Object vs Job Application BP
      • Custom Objects are more flexible, reliable, and requires less maintenance for the customer.

    Best practices for implementation

    Scheduling sites

    For customers who want to utilize scheduling sites, we recommend adding an additional Scheduling journey stage called Scheduling Site as the first scheduling round.

    • Why: When scheduling sites are used, the journey stage they connect to will be the first scheduling round. By adding this separate stage, it allows for clean and easy reporting within Paradox.
      • Note: This is not a separate Paradox skill nor an additional product fee.

    Semi-automated interview scheduling

    For customers who want to schedule complex interviews and either don’t want to build the rules in Workday or need flexibility by candidate, we will often offer what we call the “semi-automated” or “HR-Initiated” approach.

    • How: The status change in Workday Recruiting triggers a status update in Paradox (not a scheduling request). The coordinator/recruiter can then log in to the CEM/browser extension to build and send the request from within the Paradox UI.

    Customer requirements

    Baseline requirements

    1. Customer to provide Paradox with the endpoint URL that will be used for the integration. This will include the datacenter and tenant ID that will be used for testing. Most enterprise customers will be on datacenter wd5.
      • https://{{data_center_id}}-impl-services1.workday.com/ccx/service/{{customer_workday_tenant_ID}}/Recruiting/{{version}}
      • Be sure that the body of your requests is using the same version as specified in the endpoint URL.
    2. Customer to create an Integration System User (ISU) and assign to an Integration System Security Group (ISSG). customer to provide username and password of Integration User to Paradox.
      • The permissions listed below will need to be granted for this specific integration.
    Operation Domain Security Policy Functional Areas
    Get and Put Candidate Data: Interview Schedule Recruiting
    1. Customer to make sure Paradox Integration System Security Group has security permission to any Web Service needed for the implementation. 
    2. Due to current limitations with Journey Targeting, you should evaluate based on your customer use case if Groups or Journey Targeting will be used. For most customers and their design/integrations, Group Management can be used. 

    Scheduling-specific requirements

    1. Customer users will need to be added to Paradox. We utilize the user’s Workday employee ID as the unique identifier when scheduling users. This is traditionally done by setting up a user feed.
    2. The customer will need to build an outbound integration to our public API endpoint utilizing Workday Studio. Sample requests for our scheduling API can be found here.

    This customer-facing document covers the information in this page. Please download a PDF of this document to share with customers.

     

    Important Notes to share with the customer:

    1. Paradox currently cannot update a candidate’s interview status that belongs in the Workday Interview business process. We are currently exploring the PUT Interview Workday API to enhance our integration.
    2. If the customer builds custom Workday statuses outside of the Workday Interview business process, Paradox can utilize the Workday MOVE Candidate API to update the candidate’s Workday status. 
     

    Account configuration

    Users with full access to Client Setup can complete the below steps.

    1. Select All Apps in the top left corner of the header and then Settings from its dropdown menu.
    2. When the Settings page opens, select Client Setup under the Paradox Tools section.
    3. From the left panel of Client Setup, scroll down to and open the Integrations section.
    4. Check to make sure that Workday is selected as the ATS.
    5. When enabled, configure the Scheduling feature based on their scheduling needs. Options include:
      • Simple Scheduling only – This is recommended for Enterprise/Commercial Launch customers. This includes up to 3 rounds of automated Journey Targeting scheduling with the recruiter, hiring manager, or interview team on the requisition. Click here to learn how to set up Simple Scheduling.
        • Use case: The Interview Team field could be used as a catch-all for a different Workday user role seen on the requisition (example: Coordinator). 
        • Notes: 
          • All subsequent rounds will be scheduled using the browser extension or CEM.
          • This model only needs the Create/Update API call, not the scheduling alerts API, allowing for a simpler integration build and testing phases.
          • The “Launch” model was created by Workday for medium Enterprise customers and consists of predefined configurations of our products (Job Search, Apply, and Scheduling) based on the common uses and deployments that are seen with Enterprise and Commercial customers. This will allow customers to adopt utilizing Paradox faster and realize value faster.
      • Complex Scheduling only – This includes the Workday certification badged scheduled integration and includes up to 3 interview rounds. Click here to learn how to set up Complex Scheduling. 
        • Nuance: Many customers will also have a “semi-automated” option for each of their interview rounds, which does not affect the Candidate Journey. “Semi-automated” means that a status change in Workday Recruiting triggers a status update to Paradox (not a scheduling request). The coordinator or recruiter then logs into the CEM/browser extension to build and send the request from within Paradox.
        • Note: Some customers may have additional interview rounds. They can either append their badged integration to add additional rounds or use the “semi-automated” approach.
      • Simple and Complex Scheduling – This is the most common need for Strategic and Key customers. This includes up to 3 rounds of automated Journey Targeting scheduling with the recruiter or hiring manager on the req + up to 3 interview rounds utilizing the badged integration. Learn how to set up Simple Scheduling here and Complex Scheduling here.
        • Nuance: Many customers will also have a “semi-automated” option for each of their interview rounds, which does not affect the Candidate Journey. “Semi-automated” means that a status change in Workday Recruiting triggers a status update to Paradox (not a scheduling request). The coordinator or recruiter then logs into the CEM/browser extension to build and send the request from within Paradox.
        • Note: Some customers may have additional interview rounds. They can either append their badged integration to add additional rounds or use the “semi-automated” approach.

    Interview scheduling deployment guide

    Review Paradox + Workday's Interview Scheduling deployment guide to learn more about this integration and how to configure it in both Workday and Paradox.


    Workday APIs utilized

    The following APIs are used for this scheduling integration.

    PUT Interview Alerts

    This is an inbound request to have the customer's AI Assistant schedule a candidate for a specific interview. Learn more here.

    Requirements:

    • The customer will need to be provided with API access. You will need to create a user in the CEM and provide the customer its credentials.

    Callouts:

    • The Send Interview Alerts API is probably the most complex endpoint we have. It is strongly recommended that you provide customer with sample payloads specific to their requirements for different interview types being used and data fields needed.
     
     

    PUT Interview

    This request is made to update the candidate’s interview details in Workday.

    Workday Documentation

    Callouts:

    • This can only be done for candidates that are in the Interview stage within the Job Application Business Process.
      • Example: If a scheduling automation is being used say for scheduling a recruiter phone interview, and that is happening in Workday from the Screen stage, then we cannot put interview details back into Workday.

    Sample Integration Center request (covers sequential interviews and multiple interviewers)

    <?xml version="1.0" encoding="UTF-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <env:Header>
            <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                <wsse:UsernameToken>
                    <wsse:Username>{{globals.isu_user|escape}}</wsse:Username>
                    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{{globals.isu_pw|escape}}</wsse:Password>
                </wsse:UsernameToken>
            </wsse:Security>
        </env:Header>
        <env:Body>
            <wd:Put_Interview_Request xmlns:wd="urn:com.workday/bsvc" wd:version="v39.0">
                <wd:Interview_Data>
                    <wd:Job_Application_Reference>
                        <wd:ID wd:type="Job_Application_ID">{{__application_id}}</wd:ID>
                    </wd:Job_Application_Reference>
                        {% if __itv_complex_sequent_data -%}
    					{% for itv in __itv_complex_sequent_data -%}
                       <wd:Interview_Session_Data>
                            <wd:Interview_Session_Details_Data>
                               {% for attendee_id in itv['interview_attendee_ex_ids'] -%}
                            	<wd:Interviewers_Reference>
                                	<wd:ID wd:type="Employee_ID">{{attendee_id}}</wd:ID>
                            	</wd:Interviewers_Reference>
                       			{% endfor -%}
                            	<wd:Interview_Start_Time>{{ itv['scheduled_at'] | strftime('%Y-%m-%dT%H:%M:%S', __calendar_tz) }}</wd:Interview_Start_Time>
                            	<wd:Interview_End_Time>{{ itv['scheduled_end_time'] | strftime('%Y-%m-%dT%H:%M:%S', __calendar_tz)}}</wd:Interview_End_Time>
                        	</wd:Interview_Session_Details_Data>
    				   </wd:Interview_Session_Data>
         					{%- endfor -%}
    					{%- else -%}
                       <wd:Interview_Session_Data>
                        	<wd:Interview_Session_Details_Data>
                                {% for __interview_attendee_ex_id in __interview_attendee_ex_ids -%}
    							<wd:Interviewers_Reference>
                                	<wd:ID wd:type="Employee_ID">{{__interview_attendee_ex_id}}</wd:ID>
                            	</wd:Interviewers_Reference>
                                {% endfor -%}
                            	<wd:Interview_Start_Time>{{__scheduled_at | strftime('%Y-%m-%dT%H:%M:%S', __calendar_tz) }}</wd:Interview_Start_Time>
                            	<wd:Interview_End_Time>{{ __scheduled_end_time | strftime('%Y-%m-%dT%H:%M:%S', __calendar_tz)}}</wd:Interview_End_Time>
                        	</wd:Interview_Session_Details_Data>
    				</wd:Interview_Session_Data>
    				{% endif -%}
                    <wd:Timezone_Reference>
                        <wd:ID wd:type="Time_Zone_ID">{{__calendar_tz}}</wd:ID>
                    </wd:Timezone_Reference>
                </wd:Interview_Data>
            </wd:Put_Interview_Request>
        </env:Body>
    </env:Envelope>
     
     

    Sample request

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <env:Header>
            <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                <wsse:UsernameToken>
                    <!-- Be aware of special characters in the username or password. Username ususally has @customerdomain at the end example: ParadoxIsu@customer.com -->
                    <wsse:Username>******</wsse:Username>
                    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">********</wsse:Password>          
                </wsse:UsernameToken>
            </wsse:Security>
        </env:Header>
        <env:Body>
            <wd:Put_Interview_Request xmlns:wd="urn:com.workday/bsvc" wd:version="v35.2">
                <wd:Interview_Data>
                    <wd:Job_Application_Reference>
                        <wd:ID wd:type="Job_Application_ID">JOB_APPLICATION-6-754097</wd:ID>
                    </wd:Job_Application_Reference>
                    <wd:Interview_Session_Data>
                        <wd:Interview_Session_Details_Data>
                            <wd:Interviewers_Reference>
                                <wd:ID wd:type="Employee_ID">102966</wd:ID>
                            </wd:Interviewers_Reference>
                            <wd:Interview_Start_Time>2021-09-02T18:00:00</wd:Interview_Start_Time>
                            <wd:Interview_End_Time>2021-09-02T18:30:00</wd:Interview_End_Time>
                            <wd:Interview_Location_Reference></wd:Interview_Location_Reference>
                        </wd:Interview_Session_Details_Data>
                    </wd:Interview_Session_Data>
                    <wd:Timezone_Reference>
                        <wd:ID wd:type="Time_Zone_ID">America/Los_Angeles</wd:ID>
                    </wd:Timezone_Reference>
                </wd:Interview_Data>
            </wd:Put_Interview_Request>
        </env:Body>
    </env:Envelope>
     
     

    Sample success response from within the Integration Center

    {
     "env:Envelope": {
      "@xmlns:env": "http://schemas.xmlsoap.org/soap/envelope/",
      "env:Body": {
       "wd:Put_Interview_Response": {
        "@xmlns:wd": "urn:com.workday/bsvc",
        "@wd:version": "v37.2",
        "wd:Interview_Reference": {
         "wd:ID": {
          "@wd:type": "WID",
          "#text": "20eb5ac99844010827d39b1f02020000"
         }
        }
       }
      }
     }
    }
     
     
     
     

    MOVE Candidate

    Workday Documentation

     
     

    Scheduling demo

    A Workday integration exists in our Workday test tenant to trigger an integration from Workday to Paradox. Once the interview is scheduled in Paradox, the status will write back and update Workday with a new “scheduled” step, along with the interview details (date/time) if the candidate is in the Interview stage.

    • Please note: This integration is running near real-time. If a customer were to use our Badged integration as is, it would run on a schedule (every X mins depending on cadence customer chooses).

    To trigger this integration, 

    1. Create a candidate. 
    2. Log into Workday.
    3. Pull up the Job Requisition.
    4. Navigate to the Candidates tab.
    5. Select the candidate you want to move forward with that is currently in the Review stage.
      • It is recommended that you use R-00015 requisition. Candidates for this currently, as for this to function details on the requisition in Workday, have to be set up appropriately. As we are underway with making updates to our integration, this is the only requisition currently configured to work in current state.
    6. Click Move Forward. 
    7. Select the Screen Stage and then Send Screen Request to Paradox step.
    8. Click OK. This will move the candidate to the Screen stage in Workday and trigger the integration to schedule an Interview in Paradox. 
    9. Navigate back to Paradox.
    10. You should see that candidate has now been invited to an interview
      • Note: This may take up to a minute or so for the integration to run and complete.

    You can also trigger this to send a request in the Interview stage.

    • Slightly different, but similar to above, you’ll need to take the following actions:
      1. Make sure the candidate is currently in a step within the Screen stage.
      2. Move the candidate forward by selecting Interview for the stage and then Send Interview Request to Paradox for the next step.
      3. Click OK.
     
     
     
    integration calendar integrated ats

    Was this article helpful?

    Yes
    No
    Give feedback about this article

    Related Articles

    • Workday: Conversational Apply (Chat to Apply) integration
    • Journey Targeting: Optional Apply conversation

    Copyright 2026 – Paradox.

    Knowledge Base Software powered by Helpjuice

    Expand