{"id":18347633,"url":"https://github.com/botpress/growth","last_synced_at":"2026-03-16T18:34:20.830Z","repository":{"id":242936955,"uuid":"810967853","full_name":"botpress/growth","owner":"botpress","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-30T13:30:43.000Z","size":1201,"stargazers_count":5,"open_issues_count":3,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-30T15:18:54.555Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/botpress.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-05T17:31:00.000Z","updated_at":"2025-04-30T13:30:48.000Z","dependencies_parsed_at":"2024-06-05T20:49:58.075Z","dependency_job_id":"4453b7ec-a4e7-4c33-996a-ca3730cdebc1","html_url":"https://github.com/botpress/growth","commit_stats":null,"previous_names":["botpress/growth"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botpress%2Fgrowth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botpress%2Fgrowth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botpress%2Fgrowth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botpress%2Fgrowth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/botpress","download_url":"https://codeload.github.com/botpress/growth/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251729734,"owners_count":21634281,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T21:14:33.555Z","updated_at":"2025-10-09T15:34:53.328Z","avatar_url":"https://github.com/botpress.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Botpress Growth\n\nBotpress Growth is a collection of official integrations and tooling that help developers extend the Botpress platform. This monorepo contains reusable packages, a set of ready-made integrations and an advanced bot template that demonstrates common patterns.\n\n## Repository Structure\n\n- **`bp-integration-runner`** – Utility to run and expose a Botpress integration locally using ngrok.\n- **`integrations/`** – Individual integration packages (e.g. GoHighLevel, Google Chat Spaces, Salesforce, HubSpot HITL, TwilioVoice, SharePoint, etc.).\n- **`advanced-starter-bot-template`** – Example bot project showcasing advanced techniques.\n\n## Architecture\n\n```mermaid\nflowchart TD\n  subgraph growth\n    Runner[bp-integration-runner]\n    subgraph integrations\n      gohighlevel[gohighlevel]\n      googlechat[google-chat-spaces]\n      hitlapi[hitl-api]\n      others[others]\n    end\n    Template[advanced-starter-bot-template]\n  end\n```\n\n### Runtime Interaction (example: Google Chat Spaces)\n\n```mermaid\nsequenceDiagram\n  participant User\n  participant GoogleChat as \"Google Chat Spaces\"\n  participant Integration\n  participant Botpress\n  User -\u003e\u003e GoogleChat: send message\n  GoogleChat -\u003e\u003e Integration: webhook\n  Integration -\u003e\u003e Botpress: create conversation/message\n  Botpress --\u003e\u003e Integration: ack\n  Integration --\u003e\u003e GoogleChat: optional reply\n```\n\n## Process Breakdown\n\n### bp-integration-runner\n\nRuns a local integration with live reload and updates its URL in Botpress. Environment variables are loaded from `.env` and checked for required keys `BOTPRESS_PAT` and `BOTPRESS_WORKSPACE_ID` as shown in the script.\nEntry point: [`bp-integration-runner/run.js`](bp-integration-runner/run.js).\n\n### Integrations\n\nEach folder under `integrations/` is a standalone package. The entry file is `src/index.ts` and configuration schema is defined in `integration.definition.ts`. For example, the Google Chat Spaces integration expects a service account JSON and a default space ID in its configuration【F:integrations/google-chat-spaces/integration.definition.ts†L1-L18】.\n\n### Advanced Starter Bot Template\n\nA ready‑to‑use bot showcasing techniques such as event tracking, loading user data and live agent handoff. See the topics covered in its README【F:advanced-starter-bot-template/README.md†L1-L17】.\n\n## Integration Development\n\nTo develop an integration, start by installing the [Botpress CLI](https://www.npmjs.com/package/@botpress/cli):\n\n```sh\nnpm install -g @botpress/cli # for npm\nyarn global add @botpress/cli # for yarn\npnpm install -g @botpress/cli # for pnpm\n```\n\nThen, in the directory of your choice, create a new integration:\n\n```sh\nbp init\n```\n\nThis command will generate an integration from one of the proposed templates.\n\nFor more information on how to develop an integration, please refer to the [Integration Documentation](https://botpress.com/docs/getting-started-1).\n\n## Setup \u0026 Local Development\n\n1. **Prerequisites** – Node.js 18+, [pnpm](https://pnpm.io) 8.\n2. Install dependencies: `pnpm install`. This installs each integration's packages and automatically runs `bp build` for them.\n3. Optional: create `.env` at the project root with credentials for the runner or integrations.\n4. Run tests: `pnpm test` (uses Vitest)【F:package.json†L4-L9】.\n5. Lint \u0026 type-check: `pnpm check`【F:package.json†L21-L22】.\n\n## Deployment\n\nEach integration can be deployed with the Botpress CLI (`bp deploy`) or via `pnpm run deploy` in the integration folder. A GitHub Action verifies that the integration version is bumped before merging new changes.\n\nTo deploy your integration to your workspace:\n\n```sh\nbp deploy\n```\n\nThis will deploy your integration's current version to your workspace and make it available to all your bots. If this version is already deployed, it will be updated. Otherwise, a new version will be created.\n\nBy default, all integrations are private to the workspace they have been deployed in. When you are ready to share your version with the community, you can make it public by running:\n\n```sh\nbp deploy --public\n```\n\nThis will make your integration available to all Botpress users on the [Botpress Hub](https://app.botpress.cloud/hub). Once a version of your integration is public, it cannot be updated again.\n\n## Resources\n\n- [Botpress Cloud](https://app.botpress.cloud)\n- [Botpress Documentation](https://botpress.com/docs)\n- [Botpress Hub](https://app.botpress.cloud/hub)\n- [Botpress SDK](https://www.npmjs.com/package/@botpress/sdk)\n- [Botpress CLI](https://www.npmjs.com/package/@botpress/cli)\n\n## Contributing\n\n- Format and lint code using `pnpm fix` or run `pnpm check` before committing.\n- Keep commit messages concise and in the imperative mood.\n- New integrations should place code under `integrations/\u003cname\u003e` and include a `package.json` with a unique `integrationName` field.\n\nWe love contributions from the community! For bugs or features related to the advanced bot template, integrations, botpress-integration-runner or anything else, please talk to us on [Discord](https://discord.gg/botpress) instead.\n\n## Licensing\n\nAll packages in this repository are open-source software and licensed under the [MIT License](LICENSE). By contributing in this repository, you agree to release your code under this license as well.\n\nLet's build the future of chatbot development together! 🤖🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbotpress%2Fgrowth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbotpress%2Fgrowth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbotpress%2Fgrowth/lists"}