The new watsonx Orchestrate Agent Connect experience requires a new format of packages to send for approval. To create the agent package, you must use the watsonx Orchestrate Agent Development Kit (ADK). For more information about how to install the ADK, see Getting started with the ADK.

Before you begin

  • Determine the type of agent that you currently have:
    • Native agent: is an agent that was developed with the ADK or within the watsonx Orchestrate platform.
    • External agent: is an agent that was developed with other frameworks or technologies.
  • Both types of agents must be packaged.

Creating your folder structure

1

Create a folder

First, create a folder to store your agent package information, and enter the folder:
mkdir offering
cd offering/
2

Create your offering scaffold

From this folder, run the following command:
orchestrate partners offering create --offering my-offering --publisher my-publisher-name --type native|external --agent-name my-agent
It creates the following folder structure:
.
├── agents/
│   └── my_agent.yaml
├── connections/
│   └── my_connections.yaml
├── offerings/
│   └── my_offering.yaml
├── tools/
│   └── sample_tool/
│       ├── tool.py
│       └── requirements.txt
└── evaluations/
3

Add or create your agent

In your agents/my_agent.yaml file, you can add an existing agent.yaml definition file, if you already have an agent, or create a new agent based on that.To learn how to work with the agent definition files, see Authoring agents .If you have an existing agent.yaml, you must also include the following tags:
tags: []
publisher: '' # enter your publisher name
language_support": ["English"]
icon: 'svg-icon' # enter an inline svg icon here
category: "agent"
The file in offerings/my_offering.yaml follows this template:
my_offering.yaml
name: my_agent
display_name: My agent display name
domain: HR
publisher: publisher_name
version: '1.0'
description: ''
assets:
  my-publisher-name:
    agents: [my_agent]
    tools: []
part_number:
  aws: my-part-number
  ibm_cloud: my-part-number
scope:
  form_factor:
    aws: free
    ibm_cloud: free
    cp4d: free
  tenant_type:
    trial: free
If you already have an agent definition file, update it by following the template that was created, and import it again in your environment. For more information about how to add agents in your environment, see Importing/ deploying agents .

Packaging your offering

From inside the folder that you created, run the following command:
orchestrate partners offering package --offering my_offering --folder .
This command:
  1. Creates a new zip file called my_offering-1.0.zip (the name matches the name of the offering that you previously defined).
  2. Copies the offerings/my_offering.yaml file into the zip file as /publisher_name/offerings/my_offering/config.json
  3. For each agent under .assets[my-offering].agents in the offerings file:
    • Validates if an agent with that name exists in the agents folder.
    • Validates if the agent matches the agent specification (for both native or external agents).
  4. Copies the agents from the agents folder into the zip as /publisher_name/offerings/my_offering/config.json.
  5. For each tool under .assets[my-offering].tools:
    • Validates if a tool with that tool-name exists in the tools/tool_name folder.
    • Validates if the tool is a valid python tool
  6. Exports the tool specifications to /publisher/tools/tool_name/config.json.
  7. Exports the tool artifact.zip from tools/tool_name to /publisher_name/tools/tool_name/artifacts/tool_name.zip. The requirements.txt for a tool can be assumed to be the origin folder.
Use this package to send to your IBM contact to apply for the watsonx Orchestrate Agent Connect program.