Any Tutorial on the SuccessFactors Custom Activity Package?

I just discovered this custom package for SuccessFactors on the UiPath Marketplace and decided to try it out. We have received few projects from SuccessFactors, and our current approach is through surface automation, which is quite difficult to achieve since SuccessFactors has an Extension layer which doesn’t allow the robot to sometimes access them.

Coming back to the custom package, I am finding it difficult to configure a connection to my instance. I have already setup the prerequisites(Client ID and Https, I was advised that the Client Secret was the same as the password used for login. The client ID is nothing but the Username appended to a @CompanyID, but I could be wrong here) but the the interface below confuses me and also raises few concerns that I will detail below the screenshot:
SFConnect
Correct me if I am wrong, but I assume these are the values that are supposed to go into the respective fields that have been colored for your reference:
Purple - HTTP from ODataAPI (e.g.apihundaisuccessfactors2.eu)
Green - Client ID
Blue - Password
Yellow - Development/Production URL for logging into SuccessFactors (e.g.https://sales.successfactors.eu/login?company=SFCFAKE000213
Violet - Username
Orange - Password

This is what I fill in and these are the two errors I usually end up with:
ErrorAuthentication
This is when I use the Client ID
ErrorNotAuthenticated
Since that didn’t work, I switched things around and used the Username in place of the Client ID (Green)

I know my approach wrong here, so could anyone help me out here?
Maybe the Client Secret is different from the password?
Help is most appreciated and thanks in advance!

-Ashwin A.K

Hi Ashwin,
@The client ID is nothing but the Username appended to a @CompanyID,
This is correct, so your username should look like “Username@InstanceCompanyID
See attached screenshot below.

@Purple - HTTP from ODataAPI ( e.g.apihundaisuccessfactors2.eu )
Here you need to enter the API endpoint:
i.e.: https://{instance}.successfactors.com:443/odata/v2/
Maybe you can ask the owner of the system for the API endpoint?

Since there is multiple option to authenticate, it would be also helpful to ask your system owner if the instance supports Basic Auth or API key or maybe both?

@Green - Client ID
Username@InstanceCompanyID

@Blue - Password
Your Password

@Yellow - Development/Production URL for logging into SuccessFactors ( e.g.https://sales.successfactors.eu/login?company=SFCFAKE000213
This is for the robot connection endppoint, which is typically the same BaseUrl as you use in Design Action field.

@Violet - Username
Robot username.
Create a variable for it and assign a default value.

@Orange
Robot password.
Create a secure password variable for it in variable tab.
new System.Net.NetworkCredential("", “myPasswd”).SecurePassword

This is how it looks on my end:

For the robot connection variables I am using the same endpoints and credentials as for the connectivity test.

Please let me know if this was helpful.
Cheers
Robert

1 Like

Hi @robert.wagner ,

Sorry for the late response!
Thank you for taking the time to respond to my query, I appreciate it.
Coming to the issue at hand, I followed your advice but I ran into the same issue.
I’ll include the steps I’ve followed below, so that you can detect where I went wrong.

SFConnectionParameters
I have used the same parameters for both the Design as well as the Robot Connection(Maybe the issue is here?).

Base URL - I’ve contacted the Integration team and they provided me the URL that they had tested and were able to authenticate with
Username - Username@CompanyID(As you suggested)
Password - Same as logging in as a single user

After providing the parameters and testing the connection, I ran into this issue:
SFerror
This is really puzzling, because nowhere in the BaseUrl is there an “=”.
Also, where exactly is this “Line 23, position 66” at?
I’m finding it hard to dechiper this error message. I’m not sure where exactly this error log is either, so this is where I am stuck at.

Thanks in advance!

-Ashwin A.K

I think I had the same issues a few weeks back. For me it was a mix of wrong settings, incorrect username and not enough permissions given on the SF side.

I can suggest to:

  • make sure you have the latest version of the package (1.2.0 now).
  • make sure the username is the correctly provisioned in the correct SF system (from the screenshot it looks like a Production environment you are trying to access).
  • try the same settings in a HTTP Request and see if you get any info/hints on the problem.

Best Regards.

1 Like

Hi @TheArchitect ,

Thank you for your response!

I’d like to ask, are you using the same parameters for both the Robot as well the Design Connections or were they different?

Also, the HTTP API URL I received didn’t contain any :443 in the URL, but the Integration team verified that they were able to authenticate with.

Also, I’m not sure why they went through the trouble of creating a Robot and Design Connection - I haven’t understood its functionalities, so I’ll be needing your help here!

-Ashwin A.K

Hi @ashwin.ashok

It’s trial and error on my part, but maybe you can make it work as well.

  1. I am indeed using the same parameters for both Design Connections and Robot with the exception of the password, which needs to be a secure string for the Robot.
  2. I’m not using the port 443 and it works without it. Have a look here at the list of datacenters for SuccessFactors : 2215682 - Successfactors API URLs for different Data Centers
  3. I think the Robot connection is needed for when you will be running the automation through Orchestrator/UiPath Assistant. Haven’t gone there yet.

Hope it helps.

@ I have used the same parameters for both the Design as well as the Robot Connection(Maybe the issue is here?).
This is fine. This is just about design and runtime. So you can avoid conflicts with running bots while you design.

@After providing the parameters and testing the connection, I ran into this issue:
SFerror
This is really puzzling, because nowhere in the BaseUrl is there an “=” .
Also, where exactly is this “Line 23, position 66” at?

So you were able to test the connection successfully, correct?
So I assume now you get this error when you click the TEST button?

Actually you should get something like this(the actual response):
image

Maybe I missed this but are you using the latest version 1.2 of this activity pack which has just been released?

I’d like to ask, are you using the same parameters for both the Robot as well the Design Connections or were they different?
Answer: Should not make any difference.

Also, the HTTP API URL I received didn’t contain any :443 in the URL, but the Integration team verified that they were able to authenticate with.
Answer: The 443 is the SSL port and there is no need to set this explicitly when using https. So the endpoint your integrations team gave you should be just fine. Please ask them if they see any logs why you do not get a valid response. They should be able to see your connection attempts and why they fail. It is always important to be good friends with system owners you would like to integrate with. Sometime they are the only people who can help you. :slight_smile:

Also, I’m not sure why they went through the trouble of creating a Robot and Design Connection - I haven’t understood its functionalities, so I’ll be needing your help here!
Answer: This is because you might want to run the robot with different credentials. Example: you design the flows with your personal credentials but the automation itself should use robot credentials. This could help to avoid session conflicts if other SF robots are running in the background while you are designing.

I hope this helps.
Cheers
Robert

Hi @robert.wagner ,

Thank you for your response once more!

"So you were able to test the connection successfully, correct?
So I assume now you get this error when you click the TEST button?"

No actually, I am running into the above mentioned error when I press Test inside of the SuccessFactors Scope.

My apologies for not making that clear.


SFError

And as for the package, I am using the latest version(1.2)

Now what puzzles me is the error, since nowhere in the SuccessFactors Scope have I provided an ‘=’ sign.

And you are probably right, I might have to trouble my integration team some more to get them to look into this :slightly_smiling_face:

Again, that you for taking the time to look into this, I appreciate it.

-Ashwin A.K

Thank you for clearing that up :slightly_smiling_face:

Thank you, I have requested my integration team to look into its syntax, but they are a little stubborn, so it will take a while to hear back from them.

Ashwin…did you try a simple HTTP Request in UiPath, to the same URL using Basic Auth (and your username/password)? I’m curious if it’s maybe some sort of weird error due to the password containing some strange characters.

You can find the HTTP Request in UiPath.WebAPI.Activities.

Hi @TheArchitect ,

I have tried it, and yes, I am able to authenticate using simple HTTPS.


I actually stored the password into a string and passed it into the Password field highlighted in Yellow.
But even if it had something to do with the password, then shouldn’t the error message be “Couldn’t Authenticate” as opposed to “Error at Line 27, position 66”?

-Ashwin A.K

I fully agree the error message you get does not help but if something is going wrong with authentication we display this message:

So you run into an issue we haven’t thought about yet. :slight_smile:
I manipulated all parameters and I was unable to trigger a similar error as you are facing.

Some more questions:

  • What Studio version are you running?
  • Do you have a proxy configured?

This “Error at Line 27, position 66” is most likely thrown by our product and not returned by SF.

It looks like our solution cannot parse the inputs or the response correctly. You could ask the integrations team if they receive anything at all?

@ashwin.ashok Does the problem still exist? We can schedule a quick call if you like, maybe I can help in a live session?

1 Like

I am very sorry for not responding,
I was finally able to log into a client’s instance using the SuccessFactors Package!
I am not sure what the issue was, but it resolved on its own. I didn’t even do anything, I just decided to test out the package and it worked.

Thank you for taking the time to respond to my queries, I really appreciate it.

Also, I wish the session on SuccessFactors was scheduled a little earlier, because I really want to explore each and every nook and cranny of this integration.

Guess I have to wait :slightly_smiling_face:

Kind Regards,
Ashwin A.K

1 Like