All listings on the Marketplace should meet the following general guidelines:
When thinking about creating content, keep in mind that it should be highly reusable in the sense that it can be used in multiple processes and can be easily adapted to different cases, by a large number of users.
Another important aspect is the complexity of the Content configuration. Users are not always technical people and appreciate more an easy to configure tool. This should also reflect in the way the Overview of the listing is written.
Extend/Enhance/Improve UiPath products
Integrations between UiPath and other products make great Content as they can improve the usage of a large number of tools and products.
It is recommended that Content brings something new or a fresh approach.
Difficulty to Replicate
The effort required to develop the automation should be reasonably high so that it cannot be replaced easily.
The listing should cover a large part of all the major functionalities to automate requirements for the chosen Application or Platform.
It is important not to duplicate functionalities already available in the official/core/UiPath Team activities in UiPath Studio or already present on the Marketplace unless the Content has an extended functionality on top of the existing ones.
- Custom Activities need to be built using the Activity Creator.
- All activities need to have at least one output.
All checks below need to be addressed in the Nuget package metadata before submitting it on the Marketplace:
- ID/ Package name convention:
- If the listing is submitted on behalf of an organization: OrganizationName.
- If the activities are submitted by an individual: .Activities
- UiPath tag name should not be present in the ID/ dlls.
- The package version is specified.
- Name of the author(s) is present.
- The description of the activity is filled in.
- Relevant tags are added.
- License URL and License acceptance checkbox are specified based on the license type selected.
- The owner of the package is mentioned. Organization name needs to be added in case of publishing on behalf of the organization.
- The Icon URL is needed in case of publishing on behalf of the organization even if the field is marked as Optional.
The icon URL can be used in case of publishing by individual users only if the images uploaded are free for public use and not under copyright infringement. This can be checked in the Terms and Conditions of the site where the image is downloaded from.
- Languages is specified, if the content is localized even if the field is marked as Optional.
All checks below need to be addressed before submitting the listing on the Marketplace:
- Arguments need to respect the in_argument /out_argument convention.
- Activities have unique names within a workflow to make them easier to debug.
- Variable naming is consistent throughout the project.
- Avoid hard-coded elements.
- Check for corner cases that might happen during execution.
- Check for performance bottlenecks.
- Check for optimization opportunities.
- Implement exception handling so that users receive meaningful messages when errors occur.
- When necessary, use the Retry Scope activity instead of implementing the same mechanism.
- Use Sequence for mostly linear workflows and flowcharts in case of many decisions. Keep your solution modular so that users can easily reuse and customize it.
- Use annotations to add more detailed explanations about parts of workflows.
- The listing's compatibilities are clearly listed.
- The listing is parameterized by having at least one input or output argument.
- The listing has clear use cases and is reusable.
- Passwords or sensitive information should not be exposed or recorded by the workflow.
For Frameworks and Solutions use configuration files where needed.
From a Legal perspective, many websites’ policies clearly state that they do not allow the extraction of content from their websites, including the use of "bots". This is why we recommend against using data scrapping to perform any such actions without consulting the Terms and Conditions of the specific website where the scrapping is intended to take place.
As an alternative to data scraping, we suggest using APIs if possible.
Updated about a month ago