{"id":13407125,"url":"https://github.com/embbnux/botbuilder-glip","last_synced_at":"2026-01-21T10:02:02.572Z","repository":{"id":72053615,"uuid":"117121886","full_name":"embbnux/botbuilder-glip","owner":"embbnux","description":"Microsoft Bot Framework connector for RingCentral Glip","archived":false,"fork":false,"pushed_at":"2018-11-06T03:00:35.000Z","size":55,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-07T07:45:47.627Z","etag":null,"topics":["bot","bot-framework","botbuilder","glip"],"latest_commit_sha":null,"homepage":"https://embbnux.github.io/botbuilder-glip-demos/","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/embbnux.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":"2018-01-11T16:09:12.000Z","updated_at":"2021-03-15T15:42:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"d22634c7-9bca-4cbf-a3c7-84dcedd261bf","html_url":"https://github.com/embbnux/botbuilder-glip","commit_stats":{"total_commits":28,"total_committers":1,"mean_commits":28.0,"dds":0.0,"last_synced_commit":"712948edd33844dec10613aa2d8a12932e837624"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/embbnux/botbuilder-glip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/embbnux%2Fbotbuilder-glip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/embbnux%2Fbotbuilder-glip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/embbnux%2Fbotbuilder-glip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/embbnux%2Fbotbuilder-glip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/embbnux","download_url":"https://codeload.github.com/embbnux/botbuilder-glip/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/embbnux%2Fbotbuilder-glip/sbom","scorecard":{"id":374659,"data":{"date":"2025-08-11","repo":{"name":"github.com/embbnux/botbuilder-glip","commit":"712948edd33844dec10613aa2d8a12932e837624"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.3,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Code-Review","score":0,"reason":"Found 0/28 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"49 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-rvg8-pwq2-xj7q","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-hpmr-g4pq-jhgp","Warn: Project is vulnerable to: GHSA-h452-7996-h45h","Warn: Project is vulnerable to: GHSA-rq8g-5pc5-wrhr","Warn: Project is vulnerable to: GHSA-582f-p4pg-xc74","Warn: Project is vulnerable to: GHSA-9j49-mfvp-vmhm","Warn: Project is vulnerable to: GHSA-h6ch-v84p-w6p9","Warn: Project is vulnerable to: GHSA-qrmc-fj45-qfc2","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-44pw-h2cw-w3vq","Warn: Project is vulnerable to: GHSA-jp4x-w63m-7wgm","Warn: Project is vulnerable to: GHSA-c429-5p7v-vgjp","Warn: Project is vulnerable to: GHSA-86wf-436m-h424","Warn: Project is vulnerable to: GHSA-8w57-jfpm-945m","Warn: Project is vulnerable to: GHSA-8g7p-74h8-hg48","Warn: Project is vulnerable to: GHSA-pc5p-h8pf-mvwp","Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-2pr6-76vf-7546","Warn: Project is vulnerable to: GHSA-8j8c-7jfh-h6hx","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-8cf7-32gw-wr33","Warn: Project is vulnerable to: GHSA-hjrf-2m68-5959","Warn: Project is vulnerable to: GHSA-qwph-4952-7xr6","Warn: Project is vulnerable to: GHSA-fvqr-27wr-82fm","Warn: Project is vulnerable to: GHSA-4xc9-xhrj-v574","Warn: Project is vulnerable to: GHSA-x5rq-j2xg-h7qm","Warn: Project is vulnerable to: GHSA-jf85-cpcp-j695","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-8hfj-j24r-96c4","Warn: Project is vulnerable to: GHSA-wc69-rhjr-hc9g","Warn: Project is vulnerable to: GHSA-4c7m-wxvm-r7gc","Warn: Project is vulnerable to: GHSA-pch5-whg9-qr2r","Warn: Project is vulnerable to: GHSA-r683-j2x4-v87g","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-5844-q3fc-56rh","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-2m39-62fm-q8r3","Warn: Project is vulnerable to: GHSA-mf6x-7mm4-x2g7","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T13:57:43.538Z","repository_id":72053615,"created_at":"2025-08-18T13:57:43.538Z","updated_at":"2025-08-18T13:57:43.538Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28631936,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","bot-framework","botbuilder","glip"],"created_at":"2024-07-30T20:00:22.282Z","updated_at":"2026-01-21T10:02:02.554Z","avatar_url":"https://github.com/embbnux.png","language":"TypeScript","funding_links":[],"categories":["Adapters"],"sub_categories":[],"readme":"# botbuilder-glip\n\n[![NPM Version](https://img.shields.io/npm/v/botbuilder-glip.svg?style=flat-square)](https://www.npmjs.com/package/botbuilder-glip)\n\nMicrosoft Bot Framework connector for RingCentral Glip\n\n## Features\n\n* Ready for Microsoft Bot Framework V3\n* Oauth flow support\n* **No need a registered bot** on [dev.botframework.com](https://dev.botframework.com/), but require a ringcentral developer account, go to apply [free account](https://developer.ringcentral.com/)\n* Support public and private Glip bot app\n\n## Installation\n\n```\nnpm install botbuilder-glip\n```\n\n## Usage\n\n```js\nconst builder = require('botbuilder')\nconst restify = require('restify')\nconst dotenv = require('dotenv')\nconst fs = require('fs')\nconst path = require('path')\n\nconst { GlipConnector } = require('botbuilder-glip')\n\ndotenv.config()\nlet botsData = {}\nconst botsDataFile = path.join(__dirname, '.cache')\nif (fs.existsSync(botsDataFile)) {\n  botsData = JSON.parse(fs.readFileSync(botsDataFile, 'utf-8'))\n}\n\nconst server = restify.createServer()\n\nserver.use(restify.plugins.queryParser())\nserver.use(restify.plugins.bodyParser())\n\nserver.listen(process.env.port || process.env.PORT || 3978, function () {\n  console.log('%s listening to %s', server.name, server.url)\n})\n\nconst connector = new GlipConnector({\n  botLookup: (botId) =\u003e {\n    const botEntry = botsData[botId]\n    return botEntry\n  },\n  verificationToken: process.env.GLIP_BOT_VERIFICATION_TOKEN,\n  clientId: process.env.GLIP_CLIENT_ID,\n  clientSecret: process.env.GLIP_CLIENT_SECRET,\n  server: process.env.GLIP_API_SERVER,\n  redirectUrl: `${process.env.GLIP_BOT_SERVER}/oauth`,\n  webhookUrl: `${process.env.GLIP_BOT_SERVER}/webhook`\n})\n\n// For public glip bot\nserver.get('/oauth', connector.listenOAuth())\n\n//For private glip bot\nserver.post('/oauth', connector.listenOAuth())\n\nserver.post('/webhook', connector.listen())\n\nconst bot = new builder.UniversalBot(connector)\n\nbot.on('installationUpdate', (event) =\u003e {\n  console.log(`New bot installed: ${event.sourceEvent.TokenData.owner_name}`)\n\n  botsData[event.sourceEvent.TokenData.owner_id] = {\n    identity: event.address.bot,\n    token: event.sourceEvent.TokenData\n  }\n  fs.writeFileSync(botsDataFile, JSON.stringify(botsData)) // save token\n})\n\nbot.dialog('/', function (session) {\n  console.log('Get message from glip:', session.message)\n  session.send({\n    text: `You said: ${session.message.text}`,\n    attachments: [{\n      type: 'Card',\n      fallback: 'Text',\n      text: session.message.text,\n    }]\n  })\n  session.send(\"You said: %s\", session.message.text)\n});\n```\n\n### About webhook subscription\n\nThere are two ways to create Webhook subscription:\n  * Create with Bot codes\n  * Create with Bot Webhook Setting in RingCentral Developer website\n\nIf you enable Bot Webhook in RingCentral Developer website, it will create webhook subscription to your webhook URI when you add a bot.\n\nThe `GlipConnector` will create Webhook subscription after authrization. So it is **recommended** to disable the Bot Webhook setting in RingCentral Developer website, or you will have two webhook subscription.\n\nIf you want to enable the Bot Webhook setting in RingCentral Developer website, you can disable the bot to create subscription:\n\n```\nconst connector = new GlipConnector({\n  botLookup: (botId) =\u003e {\n    const botEntry = botsData[botId]\n    return botEntry\n  },\n  verificationToken: process.env.GLIP_BOT_VERIFICATION_TOKEN,\n  clientId: process.env.GLIP_CLIENT_ID,\n  clientSecret: process.env.GLIP_CLIENT_SECRET,\n  server: process.env.GLIP_API_SERVER,\n  redirectUrl: `${process.env.GLIP_BOT_SERVER}/oauth`,\n  webhookUrl: `${process.env.GLIP_BOT_SERVER}/webhook`,\n  disableSubscribe: true\n})\n```\n\nAnd you also need to keep verificationToken same as Verification Token in Bot Webhooks setting page. We use verificationToken to validate webhook request.\n\n## Examples\n\n* [Basic example](https://github.com/embbnux/botbuilder-glip/blob/master/examples/simple.js)\n* [Example with LUIS AI](https://github.com/embbnux/botbuilder-glip/blob/master/examples/ai-bot.js)\n* [Example with Dialogflow AI and mongodb](https://github.com/embbnux/translate-bot)\n\n## Tutorials\n\n* [Video](https://www.youtube.com/watch?v=WwuBh40dM9o)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fembbnux%2Fbotbuilder-glip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fembbnux%2Fbotbuilder-glip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fembbnux%2Fbotbuilder-glip/lists"}