Skip to main content

Oracle Cloud HCM - ServiceNow Integration Hub Spoke

Toby Comer

The words of doom: "No, we should be all set. There's a spoke for that"

The problem

Sometimes it is as easy as plugging in credentials, sometimes it's not. This time it was not. ServiceNow has great documentation, especially compared to other solutions. It's part of what makes them the king. But that's also what makes it so frustrating when they don't have documentation, or their documentation is missing a step. That's what made this integration so hard.

The client needed to integrate with Oracle Cloud HCM, and the ServiceNow Docs (Oracle HCM Cloud Spoke) didn't quite have the detail I needed.

  • The set-up has a lot of complex steps, and some that we had to reply on another System Admin for
    • Create a keystore, upload it, create a password, send it to Oracle etc...
    • Give the oracle user the correct roles (like 20 of them)
  • The steps referenced a JWT provider and Key, but didn't specifically mention them
  • The iss/sub values also weren't specified

Unhelpful hover overs

What was helpful

  • Instead of using an entire flow, we tried testing with just a small part of it
    • The Get Oracle Cloud HCM Object Metadata action, using departments as the test object
  • I also tried to use Rapid API (formerly Paw) as an additional option to debug
  • I also love using diagrams to help step through ServiceNow's text documentation to ensure I didn't miss a step, and to also see where the output of one activity feeds into another
    • Whimsical is my tool of choice

What were the missing steps:

  1. We had to create JWT Provider and Keys (in the Global scope), which wasn't mentioned in the docs
  2. Use those values in the Connection configuration
  3. Make sure that the provider has the correct iss (Issue entered into Oracle HCM) and sub (User name of account used to log into Oracle HCM) values
  4. Make sure the names of the JWT Provider and JWT Keys are unique. They're only referenced by name, but there's some automation that's setting the and that the sn_oracle_hcm_spk.glide.hub.jwtprovidersysid property with a sys_id

Conclusion

Maybe this will help you, but maybe it won't. But I know that next time I encounter this, I would have forgotten everything I learned so that's why I'm writing it down.

Let me know if this did help you, or if you have any questions on this spoke or a similar one. You can reach me at toby@semaphorepartners.com

Diagram of steps needed to make this integration work