{"id":21406602,"url":"https://github.com/ringcentral/ringcentral-personal-chatbot-js","last_synced_at":"2025-07-27T06:33:44.497Z","repository":{"id":34879519,"uuid":"185545847","full_name":"ringcentral/ringcentral-personal-chatbot-js","owner":"ringcentral","description":"RingCentral chatbot framework for personal RingCentral account","archived":false,"fork":false,"pushed_at":"2023-03-02T22:00:46.000Z","size":4077,"stargazers_count":4,"open_issues_count":12,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-04T11:01:47.753Z","etag":null,"topics":["bot","framework","ringcentral"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/ringcentral.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}},"created_at":"2019-05-08T06:32:36.000Z","updated_at":"2025-01-16T19:17:29.000Z","dependencies_parsed_at":"2024-10-28T21:46:15.003Z","dependency_job_id":null,"html_url":"https://github.com/ringcentral/ringcentral-personal-chatbot-js","commit_stats":{"total_commits":101,"total_committers":1,"mean_commits":101.0,"dds":0.0,"last_synced_commit":"cab9946871561460d24e98ced6406dcfd980c52f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ringcentral/ringcentral-personal-chatbot-js","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-personal-chatbot-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-personal-chatbot-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-personal-chatbot-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-personal-chatbot-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ringcentral","download_url":"https://codeload.github.com/ringcentral/ringcentral-personal-chatbot-js/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-personal-chatbot-js/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":["bot","framework","ringcentral"],"created_at":"2024-11-22T16:40:49.470Z","updated_at":"2025-07-14T00:32:33.960Z","avatar_url":"https://github.com/ringcentral.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ringcentral-personal-chatbot-js \u003c!-- omit in toc --\u003e\n\nRingCentral personal chatbot framework.\n\n![ ](https://github.com/rc-personal-bot-framework/ringcentral-personal-chatbot-skill-faq/raw/master/screenshots/s1.png)\n\n- [Quick start](#quick-start)\n- [Build and run in production](#build-and-run-in-production)\n- [Token renew](#token-renew)\n- [Use as CLI tool](#use-as-cli-tool)\n- [Write a personal bot](#write-a-personal-bot)\n- [Write/use a personal bot skill](#writeuse-a-personal-bot-skill)\n- [Build-in commands](#build-in-commands)\n- [Origin](#origin)\n- [Credits](#credits)\n- [License](#license)\n\n## Quick start\n\nFirst, need create a AWS account, we will use free local AWS dynamodb, and put your aws credentials in `~/.aws/credentials`, check [https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)\n\nLet's start a simple chatbot server and login to it with you sandbox glip account, and you account will auto respond to `hello` with `Hi`(any private message or message mentioned you).\n\n```bash\n# get the code\ngit clone git@github.com:ringcentral/ringcentral-personal-chatbot-js.git\ncd ringcentral-personal-chatbot-js\n\n# install dependecies\nnpm i\n\n# start proxy server, this will make your local bot server can be accessed by RingCentral service\nnpm run ngrok\n\n# will show\nForwarding                    https://xxxx.ap.ngrok.io -\u003e localhost:6066\n# Remember the https://xxxx.ap.ngrok.io, we will use it later\n\n# start local dynamodb\nnpm run dynamo\n```\n\nLogin to [developer.ringcentral.com](https://developer.ringcentral.com/) and create REST API App:\n\n- Application Type: Public\n- Platform Type: Browser-based\n- Carrier: accept the default values\n- Permissions Needed: Accounts, Team messaging, Read Accounts, Webhook Subscriptions\n- Set OAuth Redirect URI: Using your ngrok HTTPS URL from above, enter in the following value: `https://xxxx.ap.ngrok.io/rc/oauth`.\n\n```bash\ncp .env.sample .env\n# then fill all required fields in .env, you can get client ID / secret from app setting\n\n# run sample hello bot\nnpm start\n\n# start client dev server\nnpm run c\n\n```\n\nThen visit [https://xxxx.ap.ngrok.io](https://xxxx.ap.ngrok.io) to login, after auth, when someone talk to you with \"hello\"(any private message or message mentioned you), you will auto respond with \"Hi\".\n\n## Build and run in production\n\n```bash\n# build\nnpm run build\n\n# run prodcution code\nnpm run p\n# or\ncross-env NODE_ENV=production node bin/rcpf.js example-bots/hello.js\n\n# proxy for production code\nnpm run ngrok-p\n```\n\n## Token renew\n\ntodo\n\n## Use as CLI tool\n\nI will as simple as this:\n\n```bash\nnpx ringcentral-personal-chatbot your-bot-file.js\n```\n\n- Check example-bots folders for bot examples, it is quite simple, you could just write your own.\n- Check [ringcentral-personal-bot-template-js](https://github.com/rc-personal-bot-framework/ringcentral-personal-bot-template-js) as a realworld example which uses [ringcentral-personal-chatbot-skill-faq](https://github.com/rc-personal-bot-framework/ringcentral-personal-chatbot-skill-faq) and [ringcentral-personal-bot-skill-pack-simple](https://github.com/rc-personal-bot-framework/ringcentral-personal-bot-skill-pack-simple), it only need [28 lines code](https://github.com/rc-personal-bot-framework/ringcentral-personal-bot-template-js/blob/master/src/server/index.js).\n\n## Write a personal bot\n\n[docs/write-a-bot.md](docs/write-a-bot.md)\n\n## Write/use a personal bot skill\n\n[docs/write-use-a-skill.md](docs/write-use-a-skill.md)\n\n## Build-in commands\n\n- `__test__`: show bot info.\n\n## Origin\n\nIt is a project for RingCentral Xiamen Office 2019 Hackathon. It begin with [Jakob Lewei](https://github.com/orgs/rc-personal-bot-framework/people/jakob-lewei)'s idea about fuzzy matching FAQ bot, then I decided to make it more generic: a bot framework for personal glip account.\n\n## Credits\n\nIt is based on the these projects, especially [Tyler](https://github.com/tylerlong)'s work.\n\n- [Tyler](https://github.com/tylerlong)'s [RingCentral chatbot js](https://github.com/ringcentral/ringcentral-chatbot-js)\n- [RingCentral chatbot python](https://github.com/zxdong262/ringcentral-chatbot-python).\n- [https://github.com/zxdong262/ringcentral-chatbot-voicemail-helper](https://github.com/zxdong262/ringcentral-chatbot-voicemail-helper)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringcentral%2Fringcentral-personal-chatbot-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fringcentral%2Fringcentral-personal-chatbot-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringcentral%2Fringcentral-personal-chatbot-js/lists"}