In the June Developer Meetup, Arjun Meda was joined by Vineet Pujari (Sr. Product Manager) and Vipulkumar Patel (Software Development Manager) to walk through developing API packages with Automation Anywhere’s Connector Builder.
In this meeting recap, we’ll cover:
- Understanding Connector Builder
- Live demo build on crafting, publishing, and editing custom connectors (packages)
- Docs Portal Reference content
- Q&A
You can watch the full recording of the meeting here.
What is Connector Builder?
Launched in April this year, Connector Builder is a no-code API package development tool that enables developers to build custom connectors without having to know Java and use them in your automations.
Why Connector Builder?
If you’ve used the SDK, you know that building a package is not an easy job. You first need to understand the API, all the endpoints, what parameters go in and out, and what to expect from the response. Not to mention, manage the authentication information. All in, this usually takes developers about a week or more to build based on the complexity.
In order to significantly cut down on development time and make the process much simpler, we created the Connector Builder tool to help you integrate any application (read: that works with REST APIs) with Automation Anywhere in minutes. You can use it within both API tasks and bot tasks.
Some knowledge of REST APIs is required. If you’re a beginner, we recommend installing Postman and playing with the REST APIs to become familiar with end points, etc. After only a few days, you’ll reach a more intermediate understanding of REST APIs.
Pre-requisites to access Connector Builder
- Version A.32 or higher Control Room
- Control Room should be on cloud (projected to become available for on-premise with the .35 release in Jan 2025)
- Enterprise license
- Permission to 'Create/Edit Customer Connector Packages' should be assigned to the user's role. To set up permissions go to: Package Manager > View Packages > Create/edit custom connector packages + Manage packages
Live Build
Vipul guided us through the live build of a Mongo database connector package to integrate A360 to automate product catalog updates for an e-commerce website from an excel document.
- From Control Room, navigate to Packages page. Click' Create Connector' in the upper right corner.
- Next, name the connector. For this demo, we're calling it "MongoDB Cloud." You can also give a description, but this is optional. Once you import an API definition, the description will populate automatically.
- Third, select 'Connector Type.' For now, we only support REST-based API endpoints.
- Finally, enter the base URL for your package. This may keep changing based on your SaaS product, which is why we make the field editable at any time.
- Then click 'Create' and you'll be directed to the Connector Builder UI.
Now, a draft MongoDB connector package has been created. You are on the Connector Editor page where you can define your connector package actions manually, import your API definition, upload a logo for your package, etc
- We're going to start with the authentication since that's a basic requirement when building any kind of REST API. Toggle on the “Authenticated” switch on the top bar and you can then select from 4 types of authentication:
- Basic - Allows you to call any kind of API that supports basic authentication along with a username and password.
- Oauth2.0 - If you want an OAuth2.0 connection to any SaaS application, simply define the Oauth2.0 connection and select whether the connection token is a header key or query parameter key.
- API key - These days most applications support the API key. Just enter the name of the API key. This can also be accomplished with the API definition, which we will review next.
- Custom - If you don’t have any of the above, we created this mechanism to give you a token to carry forward for the rest of the actions.
- Now for the magic of API definition. Many SaaS applications like Mongo provide swagger documentation. You may not understand the swagger or the postman, but if you have the documentation, you will be able to build the connector in seconds. For this demo, we are going to click on ‘API definition’ and select ‘Postman collection’ from the drop down. Then, import the postman collection file for Mongo. Alternatively, you can import it from an API file or URL if it's publicly available.
- All the actions, endpoints, headers, etc. are populated almost instantly. The Connector Builder smartly parses the entire API definition file and extracts the actions automatically. You can review, edit/customize, and delete any actions that you don't need.
- No matter how big the response object is, Connector Builder passes through each element from the root to the leaf element and brings about all of those attributes in a flat schema so you, as the developer, can easily consume and map them. This has been a pain point for developers using SDK—now all that effort has been made simple for you!
- For this demo, we’re going to configure ‘Authentication,’ ‘Insert Document,’ ‘Find Document by Id,’ and ‘Update Document by Id.’
- We’ll publish the Connector package, and since this is the first one, it auto-generates as version 1.0.0. If we go back to make edits to the package in the future, when you are ready to re-publish you are given the option to select the update type—patch, minor, or major—and the version will auto-update to 1.0.1, 1.1.0, or 2.0.0 accordingly.
- Once published, your package will move from the ‘Connectors’ tab to the ‘Published’ tab to the left.
Now, if we go to a task automation—for this demo we open one called “Update Product Catalog”—we can search for and see the MongoDB Cloud connector we just built available in the actions panel, along with all the actions we configured. Simply select the desired action and drag and drop into your triggers list.
Additional Resources
You can find super helpful documentation and additional illustrated and video resources about Connector Builder here. This is a live document and is constantly being updated. We’ve detailed FAQs from our beta release participants and you can provide feedback, make suggestions, or ask for clarification by clicking the feedback icon at the top of the page. That inquiry will come directly to us to address.
Q&A
Q: Will your edited version impact existing bots?
A: No, it would not, unless you update the existing automations to use the newer version of the package.
Q: If you create a new connector package, how do I restrict access to only a few developers?
A: When you publish a package, if your role is the package creator, you have the rights of the package manager. And if you look at the availability tab—the package is available on the published list, and there is the availability list. You have to click Edit and you can select users with specific roles to allow access. The rest of the users will not have this package available on the design tab or on the list tab.
Q: Can you share the package without actually downloading it?
A: There is a the legacy way. Just create a sample automation and include one of the actions from this package, and export it so it is always bundled with the automation, and you can share the package that way. A package is only for that restricted environment, and every environment has a tenant, so a package is only uploaded to that particular tenant and inter-tenant sharing for a package is not allowed.
Q: Will the current Automation Anywhere REST package continue to be available, or will Connector Builder replace it in future releases?
A: The REST API package is meant to be used for one-off connections with a given endpoint. But if you find yourself using that package to connect with the same endpoint in multiple automations, that becomes a very good use case to build a package using Connector Builder because then it becomes easy for you to do updates to your package and propagate those updates to all of your task bots or API task automations instead of trying to modify each automation one-by-one. So both REST package and Connector Builder will continue to exist.
Q: Is there a way we can get metrics on Connector Builder packages used across automations? Example, if MongoDB packages used in 10 automations in the Control Room.
A: We do have these metrics. We capture telemetry based on the metadata. We don't know actually what specific
Mongodb instance you're calling, but we do know that you are calling Mongodb package in 10 automations in a given time period.
There is a plan to expose this data in the automation command center when you log into control room.