Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
peterengel
Advisor
Advisor
This blog post will explain how you can leverage the SAP ecosystem for Enterprise Automation with the example of Automation Anywhere.

Enterprise Automation


Integrating, analyzing, and automating end-to-end business processes is critical in today’s digital landscape. To help customers stay ahead of the competition, SAP offers enterprise automation, a solution that combines the value of SAP Integration SuiteSAP Signavio, and SAP Build. Enterprise Automation allow customers to identify, model, integrate and automate processes end to end across heterogeneous landscapes. This helps companies grappling with disconnected processes and ensures they are automating processes that need it the most.


 

Ecosystem


The enterprise automation solutions from SAP connect to everything in your environment

  • 80+ standard adapters: SAP Applications, mail, various protocols (such as Odata), HTTPS, FTP, RFC and more

  • 170+ non-SAP connectors: Gmail, Dropbox, Evernote, etc, which are specific to Integration Suite

  • Own adapter development with an Adapter Development Kit

  • Open connectors (SAP Integration Suite)


SAP commitment to deeper partnerships to serve customers across different tools

  • Process Composability with 3rd party automation tools: UiPath, Automation Anywhere, Microsoft

  • Customers can continue using existing and familiar automation tools without disruption

  • Flexibility and customization with the right tools to cater to specific automation project requirements


Partners contribute actively to our store and pre-built content

  • Unified Store & Marketplace for SAP, partners and customers. Includes pre-built industry & LoBcontent, integration packages, and more

  • Discover industry-specific content for existing SAP systems, like SAP SuccessFactors, SAP Ariba, SAP S/4HANA, etc

  • Content updates delivered by SAP partners with industry expertise and knowledge



Learn more about our open ecosystem with Automation Anywhere here.



Automation Anywhere Integration


This section provides information about setting up the SAP Business Technology Platform account to consume the SAP Build Process Automation Update Opportunity Stage template as well as the Create Lead template.

The templates mentioned above are intended to simplify the integration of automated business processes from SAP with Salesforce data. The Opportunity Update template automates the steps required to change the pipeline stage of any opportunity within Salesforce to which the defined user within the automation has the ability to edit. The Lead Creation template automates the steps required to create a new Lead record within Salesforce, allowing you to pass in all required attributes for the new Lead.

Both of the automations mentioned above follow a similar flow given the actions provided within each and both are intended to be fully customizable to meet the needs of your business and the customizations you may have applied to your own Salesforce instances. As can be seen from the diagram below, a Form is provided within the SBPA template which captures input data to the process. That data is then encapsulated and sent to the target Automation Anywhere Control Room which will will deploy the task automation to complete the work wihtin Salesforce. The outcome of the automation is pulled from the Automaiton Anywhere Control Room and can be viewed in the monitoring output which SBPA provides.


The Actions included in the templates above deploy the following API’s which are published into the SAP Build Store as a part of the template project to make it simple for any developer to quickly configure against your own target systems for execution via SBPA:

· Automation Anywhere Authentication V1

  • POST - /v1/authentication

  • Requires a valid user account into Automation Anywhere Control Room

  • Optional: User should be assigned “Generate API-Key” permission if choosing to utilize API Keys over Passwords


 

· Automation Anywhere Bot Execution Orchestrator V3

  • GET - /v3/activity/execution/{id}

  • POST - /v3/activity/list

  • Ensure user has been assigned the “View my activity” permission


 

· Automation Anywhere Bot Deploy V4

  • POST - /v4/automations/deploy

  • Ensure the user has been granted the following Control Room permissions

  • View my bots

  • Run my bots

  • View Content permission on the folders containing the bots

  • Run permission on the folders containing the bots


The user should belong to a role which has access to Bot Runners and optionally is also a consumer of a Device Pool if looking to deploy the automations to the first available device in a pre-configured pool of devices.

Prerequisites


The automation templates for Update Opportunity Stage and Create Lead provide a set of actions that can be incorporated into any SBPA Process Flow and requires the following services to be available to successfully run:

· SAP Build Process Automation to orchestrate the process.

· Salesforce CRM

· Automation Anywhere A360 Control Room on version A.30+

Configuration


To call these process actions, a HTTP destination is required in the SAP BTP account where the SAP Build Process Automation is subscribed.

Update Opportunity Stage and Create Lead templates require SAP Build Process Automation subscription or CPEA contract. Follow the setup and configuration section.

Setup SAP Business Technology Platform Cockpit

Destination Configuration


Configure SAP Build Process Automation HTTP Destination:


Add the following Additional Properties to your destination configuration:



 

Setup Automation Anywhere Content


Both of the scenarios in this template, Update Opportunity Stage as well as Create Lead, are dependent on Automation Anywhere bots to perform the automations against Salesforce. An exported package of automations has been provided for you and can be downloaded directly from the SAP Build Store listing page from which you deployed the template. Follow the directions below to configure and deploy the Automation Anywhere bots.

 

1. Download the ZIP file to your local device

2. Log into Automation Anywhere Control Room with a user that has the following permissions:

a. View my bots

b. Import bots

c. Check in permissions to Public folder

3. Navigate to the Automation menu item

4. Select Import located on the top right of the page

5. Click the Browse button to navigate to the folder containing the downloaded ZIP file

6. Leave the password field blank

7. Under Import bot to, select Private Tab

8. Leave the default option selected for “During import if a file already exists”. This option allows you to specify how the system should behave if it encounters a matching file and folder

9. Click the Import bots button located on the top right of the page

10. The import process may take 1-2 minutes to complete. You can refresh the folder listing under your Private tab to check if the artifacts have been successfully generated. You should see the following folder structure created:

  • Bots

    • SAP Build Process Automation

      • Create New Lead

        • Config



      • Update Opportunity Stage

        • Config








11. Once the automations have been fully imported, you’ll need to make some updates. Both task automations have been designed to utilize Control Room Credential Vault to read Salesforce login attributes at runtime. See documentation here on setting up Credential Vault lockers and credentials.

12. Once you’ve set up your credentials, you can update the Salesforce Authentication steps in both the Create Salesforce Lead automation and the Update Opportunity Stage automations


13. Both automations have been designed to read re-usable environment values from the Config.xml file located in their respective Config folders. You can open and edit these files directly from within Control Room. Make edits to the values under the appropriate section which indicates where the automations have been deployed to; Development, UAT or Production.


14. Navigate to the Global Values menu item

15. Create a new Global Value called Environment

16. Assign a value to the variable of either Development, UAT or Production, depending on which of these best represents the purpose of the Control Room in your development lifecycle.


17. Update either automation with additional customizations as needed to support your use case or your customizations within your own Salesforce instance. For example, the Create Salesforce Lead automation only utilizes standard Lead fields to create the target Lead record. Add additional input variables and update the Dictionary as required to support your customizations.

18. Check your automation into the Public folder when ready


19. Once your automations have been checked in, open them from Public and make note of the ID contained in the URL.

Eg: /#/bots/repository/public/taskbots/7289/view

The 7289 above is the ID of the automation in the Public folder and this value will be used when deploying the automation from SBPA in the following steps

SAP Build Process Automation


In this section, you’ll find detailed information on the required or optional customizations for components within the Update Opportunity Stage and Create Lead Process Automations.

Update Opportunity Stage


Configure Process

Automation Anywhere is currently planning and developing the required authentication flows to support SAP OAuth within Destinations. As a result, the currently supported authentication method in the Authenticate User action relies on providing a the username as well as either a password or an API Key for the user which will be used to log into the Control Room via API to deploy the automation. Additional input parameters include the Bot ID as well as the Unattended Bot Runner ID which will be used to deploy the bot. Both of these values can be captured from the Automation Anywhere Control Room. These values can be passed in at runtime of the process, leaving only the configuration of the HTTP Destination before running the process.

As the content package is designed to be reusable, you will need to define a Destination which will allow the actions to determine which Control Room end point they need to communicate with for each respective call out. To configure HTTP Destinations in your environment, review the SAP Documentation by clicking here.

*Ignore this step if you already configured an HTTP destination to your Control Room as defined in the pre-requisite configurations above
Configure Forms

While no updates or modifications are required on the Input Form for the Update Opportunity Stage process automation, the form does allow for flexibility in how the Opportunity is located in Salesforce. If choosing to use the Opportunity ID field, ensure that you pass in the Salesforce record ID of the opportunity which can be found in the URL of the opportunity record page.

If you are not able to locate the record ID, you can skip directly to the middle section of the form on which you can instead provide the Account Name as well as the Opportunity Name exactly as they have been defined in Salesforce. Where the automation is able to find a unique match on these values, the opportunity stage update will be performed.

The last required attribute on the form is the pipeline stage name you would like to update the opportunity to. A value must be selected in order to run the process.

Create Lead


Configure Process

Automation Anywhere is currently planning and developing the required authentication flows to support SAP OAuth within Destinations. As a result, the currently supported authentication method in the Authenticate User action relies on providing a the username as well as either a password or an API Key for the user which will be used to log into the Control Room via API to deploy the automation. Additional input parameters include the Bot ID as well as the Unattended Bot Runner ID which will be used to deploy the bot. Both of these values can be captured from the Automation Anywhere Control Room. These values can be passed in at runtime of the process, leaving only the configuration of the HTTP Destination before running the process.

As the content package is designed to be reusable, you will need to define a Destination which will allow the actions to determine which Control Room end point they need to communicate with for each respective call out. To configure HTTP Destinations in your environment, review the SAP Documentation by clicking here.

*Ignore this step if you already configured an HTTP destination to your Control Room as defined in the pre-requisite configurations above
Configure Forms

The Create Lead Input Form does not require any updates or modifications to use. The form has been designed to work with all Salesforce Standard fields for a Lead record, allowing you to pass in a combination of required as well as optional values which will be used to create the new Lead record in Salesforce. The required fields must be provided a value in order to execute the process.

Automation Anywhere SBPA Command Package


Automation Anywhere Command Packages provide a collection of actions that you can configure and use to build automations. To make integration with SAP SBPA even simpler, Automation Anywhere has built a command package that can be downloaded from the Automation Anywhere Bot Store marketplace which provides the following benefits:

• Easy integration between Automation Anywhere A360 and SAP Build Process Automation

• Start processes in SAP Build Process Automation

• Get Process Context

• Get Process Status

The key use cases the command package can help unlock include:

• Start a process in SAP Build Process Automation

• Check the status of a process instance

• Get the process context

Conclusion


You should now know what is Enterprise Automation and how to leverage the SAP ecosytem with the example of Automation Anywhere.

 

For more information on SAP Build Process Automation, please refer to the following resources: