1. Vendor Registration (required for first submissions only)
Every developer/organization that posts bots on Bot Store is required to register. This registration is handled by the vendor registration process. Here, developers/organizations will need to enter some basic details about themselves/their organization as well as a logo/emblem that can be used on their bots. This is only a one-time process to be set up as a vendor. Bots submitted after this initial vendor registration process can all be linked to the existing registered vendor.
This is a great way for individual developers to create an online reputation for themselves as being expert bot builders. This is also a great way for organizations and service providers to showcase some of their work and possibly build a pipeline for future engagements.
For the creation of a paid bot or DigitalWorker, you'll also need to request for a Global ID. This Global ID is used for your bot's licensing to enforce timing for 30-day free trials and 365-day annual license subscriptions.
2. Download Sample Bot & Automation Anywhere v11.3.3+
Use this open-source bot package structure as the starting point to build your bot or a Digital Worker. This is not optional or suggested, this is required. By establishing a consistent folder/file structure for Bot Store submissions, customers can know what folder structure to expect upon installing a new Bot Store component and where to find info about errors.
Using this structure makes it simpler to create top-quality software that is easy for Bot Store customers to use https://github.com/AutomationAnywhere/sample-bot.
Once you have downloaded the sample bot, it's recommended that you extract it to the following directory: C:Users<username>DocumentsAutomation Anywhere FilesAutomation AnywhereMy TasksBot Storesample-bot-master. In this way, you will be set up for testing/development with the appropriate folder structure and testing path. To prepare your directory for development, you'll need to do 2 more things:
- Open a Powershell and navigate to the directory where you extracted the sample bot (likely C:Users<username>DocumentsAutomation Anywhere FilesAutomation AnywhereMy TasksBot Storesample-bot-master).
- Example: cd "C:Users<username>DocumentsAutomation Anywhere FilesAutomation AnywhereMy TasksBot Storesample-bot-master" Note: (you'll have to use quotes because there are spaces in the directory path)
- Execute the clear_md_keep.ps1 Powershell script to remove the dummy files from the folder structure.
-
powershell -ExecutionPolicy ByPass -File .clear_md_keep.ps1
-
This should prepare your directory structure for bot development. If you don't already have it, Download Automation Anywhere Enterprise 11.3.3 or later as this version is required for the zip packaging process of paid bots and Digital Workers.
3. Bot File & Folder Structure
Your bot or your Digital Worker should follow the folder structure laid out in the sample bot and further explained below. This will be important for when you zip your bot for Bot Store submission. As you're designing and testing your bot, note that once packaged, it will install to C:Users<username>DocumentsAutomation Anywhere FilesAutomation AnywhereMy TasksBot StoreBotName-VendorName. All testing should be done replicating this folder structure.
Required Files & Folders
With the exception of the BotName-VendorName parent directory and the BotName-VendorName-ReadMe.pdf all folders/files listed below need to be named exactly as presented in the Sample Bot (and as highlighted below).- BotName-VendorName (parent folder for your bot - will not be included in zip package, only used for development/testing - should go inside the "Bot Store" folder referenced above)
- My Tasks
- ATMX files go here and here only. No ATMX files outside of the My Tasks directory.
- This folder is required. If your submission doesn't include any atmx files, leave the folder empty.
- ATMX files go here and here only. No ATMX files outside of the My Tasks directory.
- My MetaBots
- MBOT files go here
- This folder is required. If your submission doesn't include any mbot files, leave the folder empty.
- MBOT files go here
- Error Folder
- This folder is required and should have 2 sub folders listed below.
- Logs
- Error log files go here (txt format)
- This folder is required. This folder should be empty when you submit to Bot Store.
- Error log files go here (txt format)
- Snapshots
- Error snapshots go here
- This folder is required. This folder should be empty when you submit to Bot Store.
- Error snapshots go here
- Input Folder
- Input files/sample inputs go here.
- Note: These could be scripts, a config csv/xml, or any other filetype that your bot will rely on for operation
- This folder is required. If your bot doesn't use a file input, just leave the folder empty with a .keep file from the original github project.
- Input files/sample inputs go here.
- BotName-Vendor-Readme.PDF - this read me file is required at the root level named after the name of your bot and vendor (company or submitting individual).
- The sample-bot includes sample PDFs (which can be deleted after your review) and a .docx template - only your readme PDF (created from the docx template) is required. Your docx version of your ReadMe should not be included in your final submission.
- BotName-Vendor-Readme.PDF named after your bot-vendor is required.
- LICENSE - this is the MIT license which is included in the sample bot.
- This file is not required for submission.
- README Template (save as a PDF).docx -this is a template for you to use when creating your own ReadMe PDF.
- This file is not required for submission.
- My Tasks
For example:
- Do not change the name from Input Folder to Input Files
- Do not change My MetaBots to My Metabots
Additional Required Files for Paid Bots/Digital Workers ONLY
- License Info.txt - This file should contain your Global ID used for licensing.
- If you have yet to request a Global ID, please see the Bot Store Getting Started Guide.
- ATMX Protection Info.txt - This file should contain only those atmx files you choose to protect.
- MBOT Protection Info.txt - This file should contain only those mbot files you choose to protect.
4. Naming Conventions for Parent Folder and Readme
Use the following two-part naming:
Choose a name that is brief but descriptive about your bot or Digital Worker functionality, followed by your vendor name. This naming convention should be used for the parent folder name of your project as well as the name of the Read Me PDF. Your naming convention should also use Camel Case naming.
A vendor name is required to ensure unique package names, for example:
- BotName-VendorName (root folder name)
- BotName-VendorName-Readme.pdf (readme file - make sure to use dashes in naming, not underscores)
- DigitalWorkerName-VendorName (root folder name)
- DigitalWorkerName-VendorName-Readme.pdf (readme file - make sure to use dashes in naming, not underscores)
Bot examples:
- ATMXtoXML-AutomationAnywhere
- ATMXtoXML-AutomationAnywhere-Readme.pdf
- CreateJiraIssueAndAddSubTasks-Integratz
- CreateJiraIssueAndAddSubTasks-Integratz-Readme.pdf
Digital Worker examples:
- DigitalSalesforceOperationsSpecialist-AppPerfect
- DigitalSalesforceOperationsSpecialist-AppPerfect-Readme.pdf
- DigitalWorkdayOrganizationDesignAnalyst-transformAI
- DigitalWorkdayOrganizationDesignAnalyst-transformAI-Readme.pdf
5. Readme File Content and Format
Readme files are critical and required for configuring a bot or a Digital Worker successfully. Use the provided Readme template on GitHub. The Readme file template contains the necessary details that a customer would need to get started with a bot or a Digital Worker. Most important - think about your audience when creating your Readme. Not all Automation Anywhere developers come from traditional development backgrounds, so make sure that your Readme includes all information that may be needed for your Bot Store submission to run properly.
You can also review the following Readme Best Practice examples:
6. Code Protection (paid bots only)
With the release of the Enterprise client Version 11.3.3 vendors have the option to protect ATMX and MBOT files within a paid bot or Digital Worker so that customers or other users who download and install the bot or Digital Worker will not be able to read those files.
To start with code protection, register as a vendor if you haven't done so already. Once registered, you'll be able to request for a Global ID used for your bot, as well as include the Getting Started Kit which includes specific step-by-step guidance on code protection for both MBOT and ATMX files.
During the packaging process, you have an option to choose which files to protect while creating the zip package using Enterprise client. The zip package for paid bots and Digital Workers need to include these files.- ATMX Protection Info.txt file
- MBOT Protection Info.txt file
ATMX files that need to be protected should be listed in the ATMX Protection Info.txt file. One file per line such as 'file1.atmx or folder1file1.atmx' (in the case you are using sub-directories from the My Tasks parent)
MetaBot files that need to be protected should be listed in the MBOT Protection Info.txt file. One file per line and there can not be any subfolders, examples will be 'file1.mbot' or 'file2.mbot'.
7. License Management (paid bots only)
License management is required for paid bots and Digital Workers. License management enforces timing for 30-day free trials and 365-day annual license subscriptions. When requesting a Global ID, developers can expect to receive a Getting Started Kit which includes specific step-by-step guidance on integrating license management with your code.
The zip package for paid bots and Digital Workers must include a License Info.txt file, which needs to contain a Global ID (generated from the vendor registration process). To get started with License management and request your Global ID, go to the Bot Store Global ID Request Form.
8. Zip Package Creation for Submission
The final step in preparing your bot or digital worker is the packaging process. Before packaging though, please make sure to check through the "Bot File & Folder Structure" section (step 2) before packaging.
In order to properly package your bots (free or paid) or Digital Workers to be submitted to Bot Store, create the zip package using Version 11.3.3. If you're creating a free bot, this process will correctly package your bot and dependencies. If you're creating a paid bot, this process will correctly package your bot as well as enable license management and code protection via the creation of a manifest file.