Workday Recruiting · Arazzo Workflow

Workday Recruiting Interview to Offer

Version 1.0.0

Schedule an interview, capture feedback, and initiate an offer on a positive result.

1 workflow 1 source API 1 provider
View Spec View on GitHub HCMHuman ResourcesRecruitingSoftware-as-a-ServiceTalent AcquisitionArazzoWorkflows

Provider

workday-recruiting

Workflows

interview-to-offer
Schedule an interview, record feedback, and conditionally initiate an offer.
Schedules an interview for an application, submits feedback, and initiates an offer when the feedback recommendation is positive.
3 steps inputs: comments, compensationAmount, compensationFrequency, competencyRatings, currency, endTime, expirationDate, interviewType, interviewers, jobApplication, location, overallRating, proposedStartDate, scheduledDate, startTime, webConferenceUrl outputs: feedbackId, interviewId, offerId
1
scheduleInterview
scheduleInterview
Schedule an interview for the job application, assigning interviewers and the date and time.
2
submitFeedback
submitInterviewFeedback
Submit interviewer feedback for the scheduled interview including the overall rating and competency assessments.
3
initiateOffer
initiateOffer
Initiate an employment offer for the job application, triggering the offer approval workflow.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Workday Recruiting Interview to Offer
  summary: Schedule an interview, capture feedback, and initiate an offer on a positive result.
  description: >-
    Drives the late-stage hiring funnel for a single job application. The
    workflow schedules an interview for the application, submits interviewer
    feedback against that interview, and then branches on the overall rating:
    when the recommendation is a Strong Hire or Hire it initiates an employment
    offer, otherwise it ends without making an offer. Every step spells out its
    request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: workdayRecruitingApi
  url: ../openapi/workday-recruiting-rest-api-openapi.yml
  type: openapi
workflows:
- workflowId: interview-to-offer
  summary: Schedule an interview, record feedback, and conditionally initiate an offer.
  description: >-
    Schedules an interview for an application, submits feedback, and initiates an
    offer when the feedback recommendation is positive.
  inputs:
    type: object
    required:
    - jobApplication
    - interviewType
    - scheduledDate
    - startTime
    - endTime
    - interviewers
    - overallRating
    - proposedStartDate
    - compensationAmount
    - currency
    properties:
      jobApplication:
        type: object
        description: Reference to the job application being interviewed (id + descriptor).
      interviewType:
        type: string
        description: The interview type (e.g. "Phone Screen").
      scheduledDate:
        type: string
        description: Interview date (YYYY-MM-DD).
      startTime:
        type: string
        description: Interview start time (HH:MM:SS).
      endTime:
        type: string
        description: Interview end time (HH:MM:SS).
      interviewers:
        type: array
        description: List of interviewer references (id + descriptor).
      location:
        type: string
        description: Interview location.
      webConferenceUrl:
        type: string
        description: Web conference URL for the interview.
      overallRating:
        type: string
        description: Overall hiring recommendation (e.g. "Strong Hire").
      competencyRatings:
        type: array
        description: Per-competency ratings for the interview feedback.
      comments:
        type: string
        description: Free-text interview feedback comments.
      proposedStartDate:
        type: string
        description: Proposed offer start date (YYYY-MM-DD) used when an offer is initiated.
      compensationAmount:
        type: number
        description: Proposed compensation amount used when an offer is initiated.
      compensationFrequency:
        type: string
        description: Compensation frequency (e.g. "Annual").
      currency:
        type: object
        description: Reference to the compensation currency (id + descriptor).
      expirationDate:
        type: string
        description: Offer expiration date (YYYY-MM-DD).
  steps:
  - stepId: scheduleInterview
    description: >-
      Schedule an interview for the job application, assigning interviewers and
      the date and time.
    operationId: scheduleInterview
    requestBody:
      contentType: application/json
      payload:
        jobApplication: $inputs.jobApplication
        interviewType: $inputs.interviewType
        scheduledDate: $inputs.scheduledDate
        startTime: $inputs.startTime
        endTime: $inputs.endTime
        interviewers: $inputs.interviewers
        location: $inputs.location
        webConferenceUrl: $inputs.webConferenceUrl
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      interviewId: $response.body#/id
      status: $response.body#/status
  - stepId: submitFeedback
    description: >-
      Submit interviewer feedback for the scheduled interview including the
      overall rating and competency assessments.
    operationId: submitInterviewFeedback
    parameters:
    - name: id
      in: path
      value: $steps.scheduleInterview.outputs.interviewId
    requestBody:
      contentType: application/json
      payload:
        overallRating: $inputs.overallRating
        competencyRatings: $inputs.competencyRatings
        comments: $inputs.comments
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      feedbackId: $response.body#/id
      overallRating: $response.body#/overallRating
    onSuccess:
    - name: positiveFeedback
      type: goto
      stepId: initiateOffer
      criteria:
      - context: $response.body
        condition: $.overallRating == 'Strong Hire' || $.overallRating == 'Hire'
        type: jsonpath
    - name: notRecommended
      type: end
      criteria:
      - context: $response.body
        condition: $.overallRating != 'Strong Hire' && $.overallRating != 'Hire'
        type: jsonpath
  - stepId: initiateOffer
    description: >-
      Initiate an employment offer for the job application, triggering the offer
      approval workflow.
    operationId: initiateOffer
    parameters:
    - name: id
      in: path
      value: $inputs.jobApplication.id
    requestBody:
      contentType: application/json
      payload:
        proposedStartDate: $inputs.proposedStartDate
        compensationAmount: $inputs.compensationAmount
        compensationFrequency: $inputs.compensationFrequency
        currency: $inputs.currency
        expirationDate: $inputs.expirationDate
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      offerId: $response.body#/id
      offerStatus: $response.body#/status
  outputs:
    interviewId: $steps.scheduleInterview.outputs.interviewId
    feedbackId: $steps.submitFeedback.outputs.feedbackId
    offerId: $steps.initiateOffer.outputs.offerId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/workday-recruiting-interview-to-offer-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.