Skip to Content

This blog deals with the topic of updating applicants’ statuses using OData API. One can either use a tool such as Postman or, more easily, Integration Center.

Here we’ll look at how to use Integration Center to achieve this. Though its fairly easy, there are some points one must watch out for in order to successfully use this method.

 

Why Would One Want to Update Applicant Status via APIs?

There could be several reasons. One customer said they’re comfortable exporting all the 3000 candidates from a particular status and update them to another status via an import. They wanted to import to next status only those candidates that passed an onsite assessment.

 

Another customer had the partner import legacy applications into the Forwarded status and was therefore unable to see them in the pipeline, though the count showed they were there.

Forwarded and Invite to Apply are inactive statuses – these are not supported for applications. If there is a candidate in one of these statuses, it would mean that the candidate doesn’t yet have a corresponding application. The statuses supported for an application are default, the disposition statuses and other customer-defined statuses.

 

While experienced consultants would know the relevant statuses for an application, neither the documentation nor the UI provides any warning if an incorrect status is used.

Ideally, an attempt for such an import should result in an error with appropriate messages in the log.

A common request from customers is to automatically move candidates to statuses based on certain conditions. This is currently only possible for a disposition status based on the responses to prescreening questions.

 

Postman or Integration Center?

If one is familiar with using tools like Postman, then that’s the preferred choice. Though Integration Center is easy to use, there are a number of pitfalls.

 

So How does One do it?

 

Create the Outbound Integration

 

Let’s look at the export first. Your scenario might not need it but its always good to know.

 

  • Navigate to Admin Center -> Integration Center -> My Integrations
  • Click Create -> Scheduled Simple File Output Integration

  • Search for and select entity JobApplication

 

  • Select fields you want to export
  • Ensure that you select at least all the fields that are mandatory. Ideally, select all the fields and then you will have flexibility to choose which ones you want to update in the import.
  • You will need to select each field manually, as there’s no “Select All” unfortunately.
  • The mapping tool within Integration Center can be surprisingly difficult to work with.

 

  • Fill in the details as below – choose you own name and description!

 

 

This blog assumes you don’t have any fields to add or any filters. If you do, then make the appropriate choices and then navigate to specify the destination of the output.

 

  • Click Destination Settings

 

This integration exports the data to an SFTP folder. Ensure you have created the folder in the SFTP location.

For this case, the encryption option has not been chosen.

 

 

  • Unless you want to schedule this integration to run at periodic intervals, navigate to Review and Run
  • Click Save
  • Click Run Now

 

 

That’s it!

 

Now you can make the changes you want in the exported .csv file. For this blog, we want to change the status of the applicant, hence we will update the column Job Application Status Item Id.

Note that the legacy data import uses the field statusItem, which is not available in the OData API dictionary.

 

You will find the status id of each status under Admin Center -> Edit Applicant Status.

 

Once you’ve made the changes, you’ll need to create an inbound integration to update the record(s).

 

Create the Inbound Integration

 

  • Upload the updated .csv file to a folder in SFTP. Note down the name of the folder.
  • Navigate to Admin Center -> Integration Center -> My Integrations
  • Click Create -> Scheduled CSV Input Integration

 

 

  • Provide a Name for the integration and navigate to Configure Fields
  • Click Upload Sample CSV
  • Choose the .csv file you updated. For the inbound integration, make sure you at least all the mandatory fields included in the file, else this integration will fail.

 

Once you have upload the file, the system will populate the fields and display them, as shown below.

 

  • Click the   icon to navigate to the field mapping view.

 

 

  • Drag each field to be mapped from the Source Fields column on the left to the Destination Fields column on the right.

 

Once mapped, you will see a  icon against the field in the Destination Fields column.

 

  • Switch to the File Import Test View to test your import file.
  • Correct any errors you see.

 

  • Navigate to Source Settings
  • Specify the SFTP location and folder where you have uploaded the updated .csv file.
  • Ensure that in File Name Prefix field, you specify the name of the file exactly as it appears in SFTP but without the extension.
  • Specify the extension as CSV in the File Extension field

 

  • Navigate to Review and Run.
  • Click Save.
  • Click Run Now.

 

 

  • The system shows the integration processing

 

 

Successful integration will display a green check.

Failed integration will display a red cross.

Warning is displayed with a yellow triangle.

 

 

  • Click on the time displayed to view the event log.
  • You can also download the log into a .csv file.

 

 

 

That’s it! You have successfully updated the applicant status!

The Integration Center is a powerful tool. Explore it and use it!

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

  1. Doug Beckett

    Is there a way to do this directly through ODATA API?   I have not been able to locate how this is done and, as you state above, no warning/error is provided when the update does not work.

    Thank you! 

    (0) 
    1. Shyamu Raja Murthy
      Post author

      Hi Doug,

      Please try the following snippet. You can use Postman to execute this:

      Operation Type : POST
      URL : https://<<HOST_NAME>>:<<PORT_NUMBER>>/odata/v2/upsert?$format=json
      {
       "__metadata": {
      "uri": "JobApplication(<<APPLICATION_ID>>L)",
      "type": "SFOData.JobApplication"
      },
      "appStatusSetItemId":"<<APP_STATUS_SET_ITEM_ID>>"
      }

      Please replace

      • <<HOST_NAME>> with the actual host name.
      • <<PORT_NUMBER>> with the port number.
      • <<APPLICATION_ID>> the application id that has to be corrected.
      • <<APP_STATUS_SET_ITEM_ID>> with app status set item id. This is dependent on Job Requisition.

       

      Regards,

      Shyamu

      (0) 

Leave a Reply