{"id":21406676,"url":"https://github.com/ringcentral/trello-notification-app","last_synced_at":"2025-07-14T00:32:43.377Z","repository":{"id":38582846,"uuid":"366643828","full_name":"ringcentral/trello-notification-app","owner":"ringcentral","description":"Trello notification and bot add-in for RingCentral","archived":false,"fork":false,"pushed_at":"2024-10-19T10:28:22.000Z","size":4127,"stargazers_count":3,"open_issues_count":7,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-07T20:23:03.067Z","etag":null,"topics":["adaptivecard","add-in","bot","integration","ringcentral","trello"],"latest_commit_sha":null,"homepage":"https://www.ringcentral.com/apps/trello","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ringcentral.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2021-05-12T08:21:42.000Z","updated_at":"2024-07-23T05:45:23.000Z","dependencies_parsed_at":"2024-01-17T04:59:17.469Z","dependency_job_id":"fe38d08d-1f19-4857-b4e2-510ac6e92add","html_url":"https://github.com/ringcentral/trello-notification-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ringcentral/trello-notification-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Ftrello-notification-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Ftrello-notification-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Ftrello-notification-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Ftrello-notification-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ringcentral","download_url":"https://codeload.github.com/ringcentral/trello-notification-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Ftrello-notification-app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265227898,"owners_count":23731059,"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":["adaptivecard","add-in","bot","integration","ringcentral","trello"],"created_at":"2024-11-22T16:41:36.091Z","updated_at":"2025-07-14T00:32:40.389Z","avatar_url":"https://github.com/ringcentral.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Trello Notification Add-in\n\n[![Build Status](https://github.com/ringcentral/trello-notification-app/workflows/CI%20Pipeline/badge.svg?branch=main)](https://github.com/ringcentral/trello--notification-app/actions)\n[![Coverage Status](https://coveralls.io/repos/github/ringcentral/trello-notification-app/badge.svg?branch=main)](https://coveralls.io/github/ringcentral/trello-notification-app?branch=main)\n\n[Trello notification add-in](https://www.ringcentral.com/apps/trello-beta-for-ringcentral) and Bot for [RingCentral app](https://www.ringcentral.com/apps/rc-app).\n\n## Development\n\n### 1. Clone this project\n\n```\n$ git clone https://github.com/ringcentral/trello-notification-app.git\n```\n\n### 2. Install dependencies\n\nInside project root:\n\n```\n$ npm install\n```\n\n### 3. Start Ngrok to create a URI for public internet access\n\n```\n$ npm run ngrok\n```\n\nKeep this process active, and you will get a publish uri as `https://xxxxxxxxxx.ngrok.io` that connected with your local port `localhost:6066`.\n\n### 4. Create a free RingCentral add-in app\n\nPlease follow [here](https://developers.ringcentral.com/guide/team-messaging/add-ins/creation) to create a RingCentral notification add-in app.\n\nIn `App Features`, enable `Interactive Messages`, then input URI `https://xxxxxx.ngrok.io/interactive-messages`. Please replace with your ngrok domain.\n\nIn `Integrated installation in RingCentral app` section, enable `This app can be installed via the web`, then input URI `https://xxxxxx.ngrok.io/webhooks/new`.\n\n### 5. Create a free RingCentral Bots app\n\nPlease follow [here](https://developers.ringcentral.com/guide/team-messaging/add-ins/creation) to create a RingCentral Bots app.\n\nIn `App Permissions` section, add `Read Accounts`, `Team Messaging` and `Webhook Subscriptions`.\n\nIn `OAuth Redirect URI` section, input `https://xxxxxx.ngrok.io/bot/oauth`. Please replace with your ngrok domain.\n\nIn `App Features`, enable `Interactive Messages`, then input URI `https://xxxxxx.ngrok.io/interactive-messages`. Please replace with your ngrok domain.\n\n### 6. Start webpack server to compile and host static JS file.\n\nIn other console window:\n\n```\n$ npm run webpack-server\n```\n\n### 7. Create `.env` file\n\n```\n$ cp .env.sample .env\n```\n\nEdit `.env` file as `.env.sample` to set environment variables.\nThe `APP_SERVER` is publish uri that we get from ngrok.\nFor `DATABASE_CONNECTION_URI`, we can just keep `sqlite://./db.sqlite`. We will use sqlite as local database.\n`TRELLO_APP_KEY` and `TRELLO_APP_SECRET` are from `https://trello.com/app-key`.\n\n### 8. Setup Database\n\nWe will use sqlite as local database. Please install sqlite3 in your machine firstly.\n\nInit Database:\n\n```\n$ npm run initDB\n```\n\n### 7. Start local server\n\n```\n$ npm start\n```\n\n### 9. Test at RingCentral sandbox\n\nGo to `https://app.devtest.ringcentral.com/apps/sandbox` with your sandbox account, you can get your apps in development here. Click Plus icon to add your notification app or bots to test.\n\n## Deploy with serverless\n\n### 1. Compile JS files\n\n```\n$ npm run webpack-build\n```\n\nAnd get all JS assets file at public folder. Upload all files in public into CDN or static web server.\n\n### 2. Create `serverless-deploy/env.yml` file\n\n```\n$ cp serverless-deploy/env.default.yml serverless-deploy/env.yml\n```\n\nEdit `serverless-deploy/env.yml` to set environment variables.\nWe will get `APP_SERVER` after first deploy. So now just keep it blank.\n\n### 3. Create `serverless-deploy/serverless.yml` file\n\n```\n$ cp serverless-deploy/serverless.default.yml serverless-deploy/serverless.yml\n```\n\nEdit `serverless-deploy/env.yml` to update serverless settings.\nThe Dynamo `TableName` should be `${DYNAMODB_TABLE_PREFIX}webhooks`. `DYNAMODB_TABLE_PREFIX` is environment variable that we set upper. `ASSETS_PATH` is uri where you host JS files in `Step 1`.\n\n### 4. Deploy\n\n```\n$ npm run serverless-build\n$ npm run serverless-deploy\n```\n\nIn first deploy, you will get lambda uri in console output: `https://xxxxxx.execute-api.us-east-1.amazonaws.com/prod`.\nCopy the uri, and update environment variable `APP_SERVER` with it in `serverless-deploy/env.yml` file. Then deploy again:\n\n```\n$ npm run serverless-deploy\n```\n\nThen update app settings in [RingCentral developer portal](https://developers.ringcentral.com/), with your new `APP_SERVER`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringcentral%2Ftrello-notification-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fringcentral%2Ftrello-notification-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringcentral%2Ftrello-notification-app/lists"}