Skip to main content
When posting an agency on our marketplace, you can define a custom OnboardingTool to allow end users to customize your agents for their own businesses.

Why Customization is Important?

When building AI agents, you might encounter clients who want to deploy agents for the same roles. For example, almost every company employs an accountant. And so, if you built an accounting agent for one company, you might want to reuse it later. However, although the general process for the same role across various companies is similar, the specific process is always unique. For example, one company might do accounting weekly, another one monthly. One company might use Xero, another one Quick books. One company prefers to send invoices via email, another one via their customer portal, and so on. As you can see, even if you built an agent for the same role at one company, it’s not gonna be useful at another company.

How Agencii Solves Agent Onboarding

On our platform, we tackle this issue by creating a custom OnboardingTool class. Inside this tool class, you can define all the parameters that you need in order to customize your agents before deployment. For our accounting agent above, for example, this class might look like this:
Key things to note:
  • OnboardingTool must extend BaseTool class.
  • File name must be onboarding_tool.py
  • The file needs to be placed in the repository root directory.
  • All field descriptions will be displayed during the onboarding process on our platform.
  • We will replace “_” with spaces, capitalize fields names and display them as titles, unless you ui:title parameter is provided.

How This Will Look On Agencii

When users deploy your agents from the marketplace, we will parse this class into a JSON schema and display it as a form: onboarding form example All that the user who wants to deploy your agency needs to do is simply fill out this form! That’s it!

Step-by-Step Guide: How to Create Your Own Agent Onboarding Form

  1. Copy our template and place it in onboarding_tool.py file in the root directory:
  2. Add your own specific fields with pydantic that are required to fine-tune your agents:
  3. Execute the tool file:
    This will generate onboarding_config.py next to your onboarding tool file.
  4. Customize your agents Use the values from the generated config.py file in your code to customize your agents:
    In this example we:
    • Customized the instructions.
    • Customized the model.
  5. Deploy and list on marketplace
    1. Deploy your agent as usual, just make sure to commit the default onboarding_configfor your own account.
    2. Test the agency is working as expected on your account first.
    3. List your agent on our marketplace by going to https://agencii.ai/marketplace/
That’s it! This is how simple it is to customize and scale your agents with our platform.

Advanced Fields & Parameters

We use react-jsonschema-form to render the onboarding form. You can use the following uiSchema parameters to customize the form:
  • ui:widget: controls which UI component is used for the field. (e.g. text, textarea, etc.)
  • ui:options: controls widget-specific options (e.g. rows, inputType, label, etc.).
  • ui:title: overrides the field’s title.
  • ui:description: overrides the field’s description.
  • ui:readonly: makes the field read-only.
  • ui:disabled: disables user interaction entirely.
  • required: belongs in the JSON schema, not the uiSchema.

File Uploads

To upload your files, you must add "x-file-upload-path" , and the type of the field must be set list[str] .
After user uploads the files, they will be added to ./accountant_agent/files folder.

Multiline Text Inputs

ui:widget parameter in json_schema_extra controls UI component displayed in the onboarding form

A Note on Form Updates

  • If you push a change to the form, the users of your agents will be required to re-enter any new and updated fields. Do this with caution!
  • The summary of the commit that triggered the update will be displayed to the user in the form as the reason for the update.
  • The new version won’t be deployed for the users until they complete an onboarding form.