Deprecation Notice: this library has been deprecated and is no longer maintained or updated. For continued support and enhanced features, we recommend using the TTK to build a RAG bot in Teams. This will assist you in converting your Open API specification file into an AI chatbot.
api2teams
is a command line tool to generate a complete conversational style command and response Teams application based on your Open API specification file and represent the API response in the form of Adaptive Cards.
api2teams
is the best way to start integrating your APIs with Teams conversational experience.
Before running this CLI and deploying your generated Teams App to Azure or your local development machine, please ensure that you have the following prerequisites in place:
- Node.js, supported versions: 14, 16, 18
- An Microsoft 365 account for development
- Teams Toolkit Visual Studio Code Extension version 5.0.0 and higher or TeamsFx CLI
- [Option] If you want to deploy this APP to Azure, you also need an Azure subscription. If you don't have an Azure subscription, create a free account before you begin
- Install
api2teams
with npm:npm install @microsoft/api2teams@latest -g
- Prepare the Open API specification. If you don't currently have one, start with a sample we provided by saving a copy of the sample-open-api-spec.yml to your local disk.
- Convert the Open API spec to a Teams app, assuming you are using the
sample-open-api-spec.yml
:api2teams sample-open-api-spec.yml
The CLI name is api2teams
. Usage is as below:
Usage: api2teams [options] <yaml>
Convert open api spec file to Teams APP project, only for GET operation
Arguments:
yaml yaml file path to convert
Options:
-o, --output [string] output folder for teams app (default: "./generated-teams-app")
-f, --force force overwrite the output folder
-v, --version output the current version
-h, --help display help for command
You can input below command to generate Teams App to default or specific folder:
api2teams sample-open-api-spec.yml # generate teams app to default folder ./generated-teams-app
api2teams sample-open-api-spec.yml -o ./my-app # generate teams app to ./my-app folder
api2teams sample-open-api-spec.yml -o ./my-app -f # generate teams app to ./my-app folder, and force overwrite output folder
api2teams -h # show help message
api2teams -v # show version information
-
Open the generated project in Visual Studio Code and make sure you have the latest Teams Toolkit (version 5.0.0 or higher) installed.
-
Follow the instruction provided in the
README.md
for the generated project to get started. After installing the Teams app generated from the provided OpenAPI spec, you will receive a welcome message. -
You can then run a
GET /pets/1
command in Teams to receive an Adaptive Card response from the bot.
- The
api2teams
doesn't support Open API schema version < 3.0.0. - The
api2teams
doesn't support Authorization property in Open API specification. - The
api2teams
doesn't supportwebhooks
property and it would be ignored during convert. - The
api2teams
doesn't supportoneOf
,anyOf
,not
keyword (It only supportallOf
keyword currently). - The
api2teams
doesn't supportPOST
,PUT
,PATCH
orDELETE
operations (It only supportsGET
operation currently). - The generated Adaptive Card doesn't support array type.
- The generated Adaptive Card doesn't support file upload.
- The generated Teams app can only contain up to 10 items in the command menu.