Salesforce UI automation without connector


Anybody here has tried to automate the Salesforce UI through regular UiPath activities? The use case is this: customer has a tight policy regarding hitting Salesforce through REST API. If any system wants to integrate with it, a special team needs to evaluate and build a mediation (through a sort of ESB). This takes too long and I want to circumvent that by using a bot interacting directly with the Salesforce UI.

I’ve been reading documentation and videos and I haven’t found an example to this approach. Most, if not all, documented cases use the connector that uses an underlying SF API call. However I found a page explaining the challenges of interacting with SF pages through Selenium, mainly dynamic ids and iframes.

Is this doable? What has been your experience?

Is it web based? If so, it’d be like automating any other webpage.

If it’s an application, Depending on how much you need to do you could use Image anchors and such.

I have some robots manually going into outlook and sending email and it works well using the latter method.

I’m afraid you hit a dead-end. If you have more salesforce automations on scope you may discuss the value of having API access enabled. Salesforce runs on a browser so is likely you will be able to get reliable selectors, if you go through the UI automation you may consider upgrading your UIActivities package to benefit from fuzzy selectors.

Thank you @NervYerem and @Edwin_Barahona for your reply :slight_smile:

Salesforce is web based, however according to this page Salesforce uses Dynamic Elements, IFrames and Shadow DOMs and I don’t know if that’s an issue with UiPath.

Would love to hear if anyone in the community has done this sort of automation before. How was it done before the connector existed?

It makes it a little more tedious, but yes it’s doable. You’ll need to edit each selector and validate that it still works after you change or add wildcards to it.

You’ll run into this issue in most web based ITSM solutions.

1 Like

For example. Our ticketing system has a “save” button on every open ticket, each button needs an ID because you’re able to have multiple tickets open, so if you try and just use the default selector it’ll use that ID for each specific button:

When editing the selector in UiExplorer, you can avoid these IDs and use other items. In this example, these edited selectors will work on which ever “save” button is currently on focus:

1 Like

There we go, screenshots uploaded!

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.