{"_id":"@camunda/teams-app-integration-cli","_rev":"8-2c6460bcbb1ba3c854ced3b73d4d6249","name":"@camunda/teams-app-integration-cli","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.1":{"name":"@camunda/teams-app-integration-cli","version":"1.0.1","keywords":["camunda","teams","integration","cli","m365","agents"],"author":{"name":"Camunda"},"license":"Apache-2.0","_id":"@camunda/teams-app-integration-cli@1.0.1","maintainers":[{"name":"nikku","email":"git_nikku@nixis.de"},{"name":"barmac","email":"maciejbarel@gmail.com"},{"name":"maxtru","email":"maximilian.trumpf@camunda.com"},{"name":"philippfromme","email":"philippfromme@outlook.com"},{"name":"marstamm","email":"martin.stamm@camunda.com"},{"name":"camunda_it","email":"it-tools@camunda.com"},{"name":"omranabazid","email":"omran.1994@gmail.com"},{"name":"husnauygur","email":"husna.uygur@camunda.com"},{"name":"skaiir-camunda","email":"valentin.serra@camunda.com"},{"name":"vsgoulart","email":"vinicius@vsgoulart.com"},{"name":"yhaskell","email":"dultsev.igor@gmail.com"},{"name":"francesco.camunda","email":"francesco.esposito@camunda.com"},{"name":"urbanisierung","email":"adam.urban@gmail.com"},{"name":"jroquescamunda","email":"jonathan.roques@camunda.com"},{"name":"ev-camunda","email":"ev.bilske@camunda.com"},{"name":"ztefanie","email":"stefanie.metzger@camunda.com"},{"name":"emoloney","email":"eamonn.moloney@camunda.com"},{"name":"marcello.barile-camunda","email":"marcello.barile@camunda.com"}],"bin":{"c8teams":"dist/index.js"},"dist":{"shasum":"3edf4f0da38e8985996f11ad2a02af9fa0b962b7","tarball":"https://registry.npmjs.org/@camunda/teams-app-integration-cli/-/teams-app-integration-cli-1.0.1.tgz","fileCount":75,"integrity":"sha512-ThymAnWTewhdmaPStA9xa1oXcJw8VSLKuUv1P31XsjC1tK8qTDoxe60o6WMcV/ax7ytihRrN0UJGs0EW57EfpQ==","signatures":[{"sig":"MEQCIG/uFCMkNilFduxjOSySB5fjizN1Pcs8IST1Ap/Qa5XGAiAqtgbu1uF5iN+6BGMNqvCwRTwLxHJXDqcD6iew/Tog7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134773},"type":"commonjs","_from":"file:camunda-teams-app-integration-cli-1.0.1.tgz","engines":{"node":">=20.0.0"},"private":false,"scripts":{"lint":"eslint .","build":"tsc","start":"node -r esbuild-register src/index.ts"},"_npmUser":{"name":"yhaskell","email":"dultsev.igor@gmail.com"},"_resolved":"/private/var/folders/xt/qtj__2cs6h11rbylztrpjyk00000gn/T/3d21c0b108f5d544dedf38ab23b2a67f/camunda-teams-app-integration-cli-1.0.1.tgz","_integrity":"sha512-ThymAnWTewhdmaPStA9xa1oXcJw8VSLKuUv1P31XsjC1tK8qTDoxe60o6WMcV/ax7ytihRrN0UJGs0EW57EfpQ==","_npmVersion":"10.9.4","description":"CLI tool for building Teams app integrations with Camunda","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mri":"^1.2.0","zod":"^4.3.6","yaml":"^2.8.2","cryptr":"^6.4.0","dotenv":"^17.3.1","lodash":"^4.17.23","mustache":"^4.2.0","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.10.0","@microsoft/m365agentstoolkit-cli":"^1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^24","@types/lodash":"^4.17.24","@types/mustache":"^4.2.6","esbuild-register":"^3.6.0","@types/cross-spawn":"^6.0.6","@app-integrations/eslint-config":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/teams-app-integration-cli_1.0.1_1772534723678_0.30920165211607253","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@camunda/teams-app-integration-cli","version":"1.0.2","keywords":["camunda","teams","integration","cli","m365","agents"],"author":{"name":"Camunda"},"license":"Apache-2.0","_id":"@camunda/teams-app-integration-cli@1.0.2","maintainers":[{"name":"nikku","email":"git_nikku@nixis.de"},{"name":"barmac","email":"maciejbarel@gmail.com"},{"name":"maxtru","email":"maximilian.trumpf@camunda.com"},{"name":"philippfromme","email":"philippfromme@outlook.com"},{"name":"marstamm","email":"martin.stamm@camunda.com"},{"name":"camunda_it","email":"it-tools@camunda.com"},{"name":"omranabazid","email":"omran.1994@gmail.com"},{"name":"husnauygur","email":"husna.uygur@camunda.com"},{"name":"skaiir-camunda","email":"valentin.serra@camunda.com"},{"name":"vsgoulart","email":"vinicius@vsgoulart.com"},{"name":"yhaskell","email":"dultsev.igor@gmail.com"},{"name":"francesco.camunda","email":"francesco.esposito@camunda.com"},{"name":"urbanisierung","email":"adam.urban@gmail.com"},{"name":"jroquescamunda","email":"jonathan.roques@camunda.com"},{"name":"ev-camunda","email":"ev.bilske@camunda.com"},{"name":"ztefanie","email":"stefanie.metzger@camunda.com"},{"name":"emoloney","email":"eamonn.moloney@camunda.com"},{"name":"marcello.barile-camunda","email":"marcello.barile@camunda.com"}],"bin":{"c8teams":"dist/index.js"},"dist":{"shasum":"c8c8bd5e7e8d634dac25679d826831de04504a42","tarball":"https://registry.npmjs.org/@camunda/teams-app-integration-cli/-/teams-app-integration-cli-1.0.2.tgz","fileCount":75,"integrity":"sha512-tvYUe2kAYx4BUsAvPz8PXFpIgJ33AHMS7Civxparwi36GmyuWzJpuXMl5JXHrPoR9QI4FS8qLQ4K2J+UyMmM3w==","signatures":[{"sig":"MEUCIFeY4Hql99yey4dmgYYf9PpUmLeT7L/vqu/MQDT01B4GAiEAuBHoDMSZj7KzKyTMFPlxUU+f3ia7EQIj2agCsZvUZJI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134893},"type":"commonjs","_from":"file:camunda-teams-app-integration-cli-1.0.2.tgz","engines":{"node":">=20.0.0"},"private":false,"scripts":{"lint":"eslint .","build":"tsc","start":"node -r esbuild-register src/index.ts"},"_npmUser":{"name":"yhaskell","email":"dultsev.igor@gmail.com"},"_resolved":"/private/var/folders/xt/qtj__2cs6h11rbylztrpjyk00000gn/T/992ea231135d276fcd5d64e2a99db945/camunda-teams-app-integration-cli-1.0.2.tgz","_integrity":"sha512-tvYUe2kAYx4BUsAvPz8PXFpIgJ33AHMS7Civxparwi36GmyuWzJpuXMl5JXHrPoR9QI4FS8qLQ4K2J+UyMmM3w==","_npmVersion":"10.9.4","description":"CLI tool for building Teams app integrations with Camunda","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mri":"^1.2.0","zod":"^4.3.6","yaml":"^2.8.2","cryptr":"^6.4.0","dotenv":"^17.3.1","lodash":"^4.17.23","mustache":"^4.2.0","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^1.0.0","@microsoft/m365agentstoolkit-cli":"^1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^24","@types/lodash":"^4.17.24","@types/mustache":"^4.2.6","esbuild-register":"^3.6.0","@types/cross-spawn":"^6.0.6","@app-integrations/eslint-config":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/teams-app-integration-cli_1.0.2_1776673715651_0.7457227759214391","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-03-03T10:45:23.576Z","modified":"2026-09-29T13:38:19.851Z","1.0.0":"2026-02-27T08:56:19.424Z","1.0.1":"2026-03-03T10:45:23.826Z","1.0.2":"2026-04-20T08:28:35.838Z"},"author":{"name":"Camunda"},"license":"Apache-2.0","keywords":["camunda","teams","integration","cli","m365","agents"],"description":"CLI tool for building Teams app integrations with Camunda","maintainers":[{"email":"git_nikku@nixis.de","name":"nikku"},{"email":"maciejbarel@gmail.com","name":"barmac"},{"email":"maximilian.trumpf@camunda.com","name":"maxtru"},{"email":"philippfromme@outlook.com","name":"philippfromme"},{"email":"martin.stamm@camunda.com","name":"marstamm"},{"email":"it-tools@camunda.com","name":"camunda_it"},{"email":"omran.1994@gmail.com","name":"omranabazid"},{"email":"husna.uygur@camunda.com","name":"husnauygur"},{"email":"valentin.serra@camunda.com","name":"skaiir-camunda"},{"email":"vinicius@vsgoulart.com","name":"vsgoulart"},{"email":"dultsev.igor@gmail.com","name":"yhaskell"},{"email":"jarek.danielak@camunda.com","name":"jarekdanielak"},{"email":"francesco.esposito@camunda.com","name":"francesco.camunda"},{"email":"alekseyManetov@gmail.com","name":"alekseymanetov"},{"email":"adam.urban@gmail.com","name":"urbanisierung"},{"email":"jonathan.roques@camunda.com","name":"jroquescamunda"},{"email":"ev.bilske@camunda.com","name":"ev-camunda"},{"email":"stefanie.metzger@camunda.com","name":"ztefanie"},{"email":"eamonn.moloney@camunda.com","name":"emoloney"},{"email":"marcello.barile@camunda.com","name":"marcello.barile-camunda"}],"readme":"# @camunda/teams-app-integration-cli\n\nCLI tool for building and deploying Microsoft Teams app integrations with Camunda.\n\n`c8teams` scaffolds a new Teams application project, builds the deployable package from templates, provisions it to your Microsoft 365 tenant via the [M365 Agents Toolkit](https://www.npmjs.com/package/@microsoft/m365agentstoolkit-cli), and outputs the configuration snippet needed by the App Integrations backend.\n\n## Prerequisites\n\n- **Node.js** ≥ 20.0.0\n- A **Microsoft 365** tenant with access for app provisioning\n\n## Installation\n\n```sh\nnpm install -g @camunda/teams-app-integration-cli\n```\n\nOr use it as a project-local dependency:\n\n```sh\nnpm install @camunda/teams-app-integration-cli\n```\n\n## Quick Start\n\n```sh\n# 1. Scaffold a new project\nc8teams create my-teams-app\n\n# 2. Install dependencies\ncd my-teams-app\nnpm install\n\n# 3. Build the deployable package\nnpm run build\n\n# 4. Deploy to your Microsoft 365 tenant\nnpm run deploy\n```\n\n## Commands\n\n### `c8teams create [DIRECTORY]`\n\nScaffolds a new Camunda Teams application project via an interactive wizard.\n\nThe wizard will prompt you for:\n\n- **Project directory** and **package name**\n- **Application short name** and **full name** (displayed in Teams)\n- **App Integrations backend URL**\n- **User registration URL** (optional)\n- **Teams app configuration** — create a new one or provide existing IDs\n- **Entra (Azure AD) app configuration** — create a new one or provide existing IDs\n\nThe result is a directory containing a `package.json` with a `c8teams` configuration section, default app icon assets, and a `.gitignore`.\n\n```sh\nc8teams create\nc8teams create my-teams-app\n```\n\n### `c8teams build`\n\nBuilds the deployable package from the project's template files and configuration.\n\nReads the `c8teams` section from `package.json`, validates it against the config schema, renders the M365 Agents Toolkit manifest templates (Teams manifest, AAD manifest, agent config), copies app icon assets, and writes everything to a `build/` directory.\n\nAfter a successful build you will be prompted to deploy immediately.\n\n| Option            | Description                                              |\n| ----------------- | -------------------------------------------------------- |\n| `-p, --path PATH` | Root path of the project (defaults to current directory) |\n\n```sh\nc8teams build\nc8teams build -p ./my-teams-app\n```\n\n### `c8teams deploy`\n\nDeploys the built package to your Microsoft 365 tenant.\n\nRuns `atk provision --env prod` inside the `build/` directory using the M365 Agents Toolkit CLI bundled with this package (no global installation required). After provisioning, the command writes the resulting Teams and Entra IDs back into `package.json` and prints the backend configuration snippet.\n\n| Option            | Description                                                          |\n| ----------------- | -------------------------------------------------------------------- |\n| `-p, --path PATH` | Root path of the project (defaults to current directory)             |\n| `--auth`          | Authenticate with M365 before deploying (runs `atk auth login m365`) |\n\n```sh\nc8teams deploy\nc8teams deploy --auth\nc8teams deploy -p ./my-teams-app\n```\n\n> **Note:** You must run `c8teams build` before deploying. The deploy command expects the `build/` directory to exist.\n\n### `c8teams show-config`\n\nDisplays the YAML configuration snippet to add to your App Integrations backend, along with the client secret that must be mounted as the `AAD_APP_CLIENT_SECRET` environment variable.\n\n| Option            | Description                                              |\n| ----------------- | -------------------------------------------------------- |\n| `-p, --path PATH` | Root path of the project (defaults to current directory) |\n\n```sh\nc8teams show-config\nc8teams show-config -p ./my-teams-app\n```\n\n### Global Options\n\n| Option          | Description                                                                         |\n| --------------- | ----------------------------------------------------------------------------------- |\n| `-h, --help`    | Show help. Use with a command (e.g. `c8teams deploy -h`) for command-specific help. |\n| `-v, --version` | Show the CLI version number                                                         |\n\n## Project Structure\n\nAfter running `create` and `build`, your project will look like this:\n\n```\nmy-teams-app/\n├── assets/\n│   ├── color.png          # App icon (color version)\n│   └── outline.png        # App icon (outline version)\n├── build/                  # Generated by `c8teams build`\n│   ├── env/\n│   │   └── .env.prod\n│   ├── aad.manifest.json\n│   ├── m365agents.yml\n│   ├── manifest.json\n│   ├── color.png\n│   └── outline.png\n├── .gitignore\n└── package.json            # Contains the `c8teams` configuration section\n```\n\n## Configuration\n\nAll configuration lives in the `c8teams` section of `package.json`. It is populated by the `create` wizard and updated automatically by `deploy` after provisioning.\n\n```json\n{\n  \"c8teams\": {\n    \"app\": {\n      \"shortName\": \"Camunda\",\n      \"fullName\": \"Camunda\",\n      \"projectId\": \"<uuid>\"\n    },\n    \"endpoints\": {\n      \"appIntegrationsBackend\": \"https://your-backend.example.com\",\n      \"userRegistration\": \"https://signup.example.com\"\n    },\n    \"teams\": {\n      \"appId\": \"<uuid>\",\n      \"tenantId\": \"<uuid>\"\n    },\n    \"aad\": {\n      \"clientId\": \"<uuid>\",\n      \"objectId\": \"<uuid>\",\n      \"accessAsUserPermissionId\": \"<uuid>\",\n      \"authorityHost\": \"https://login.microsoftonline.com\",\n      \"authority\": \"https://login.microsoftonline.com/<tenant-id>\"\n    }\n  }\n}\n```\n\n| Section                            | Required | Description                                                      |\n| ---------------------------------- | -------- | ---------------------------------------------------------------- |\n| `app.shortName`                    | Yes      | Short display name in Teams (2–30 characters)                    |\n| `app.fullName`                     | Yes      | Full display name in Teams (2–30 characters)                     |\n| `app.projectId`                    | Yes      | Auto-generated UUID identifying the project                      |\n| `endpoints.appIntegrationsBackend` | Yes      | URL of your App Integrations backend                             |\n| `endpoints.userRegistration`       | No       | Optional user registration URL                                   |\n| `teams`                            | No       | Populated after deployment with the Teams app and tenant IDs     |\n| `aad`                              | No       | Populated after deployment with the Entra (Azure AD) app details |\n\n## Typical Workflow\n\n1. **`c8teams create my-app`** — scaffold the project and fill in your configuration.\n2. **`cd my-app && npm install`** — install dependencies (including this CLI).\n3. **`npm run build`** — build the deployable package into `build/`.\n4. **`npm run deploy`** (or `c8teams deploy --auth`) — authenticate and provision the app to your M365 tenant.\n5. **`c8teams show-config`** — copy the output YAML into your App Integrations backend configuration and set the `AAD_APP_CLIENT_SECRET` environment variable.\n6. After an admin approves the app in the [Teams Admin Center](https://aka.ms/teamsfx-mtac), it becomes available to your organization.\n\n## License\n\n[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)\n","readmeFilename":"README.md"}