{"id":20382712,"url":"https://github.com/autodesk-forge/forge-bim360notifier","last_synced_at":"2025-07-04T07:03:40.938Z","repository":{"id":41777307,"uuid":"107988366","full_name":"Autodesk-Forge/forge-bim360notifier","owner":"Autodesk-Forge","description":"Data Management WebHook sample with SMS, Email and Slack notifications","archived":false,"fork":false,"pushed_at":"2022-12-10T23:45:48.000Z","size":799,"stargazers_count":16,"open_issues_count":5,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-07-04T07:03:37.957Z","etag":null,"topics":["autodesk-data-management","autodesk-webhooks","nodejs","slack","twillio"],"latest_commit_sha":null,"homepage":"https://bim360notifier.autodesk.io","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/Autodesk-Forge.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}},"created_at":"2017-10-23T13:47:15.000Z","updated_at":"2024-09-25T12:46:02.000Z","dependencies_parsed_at":"2023-01-26T11:00:21.170Z","dependency_job_id":null,"html_url":"https://github.com/Autodesk-Forge/forge-bim360notifier","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Autodesk-Forge/forge-bim360notifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Autodesk-Forge%2Fforge-bim360notifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Autodesk-Forge%2Fforge-bim360notifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Autodesk-Forge%2Fforge-bim360notifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Autodesk-Forge%2Fforge-bim360notifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Autodesk-Forge","download_url":"https://codeload.github.com/Autodesk-Forge/forge-bim360notifier/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Autodesk-Forge%2Fforge-bim360notifier/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263464173,"owners_count":23470472,"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":["autodesk-data-management","autodesk-webhooks","nodejs","slack","twillio"],"created_at":"2024-11-15T02:18:45.520Z","updated_at":"2025-07-04T07:03:40.912Z","avatar_url":"https://github.com/Autodesk-Forge.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Get notifications (SMS/Email/Slack) for new folders and files\n\n[![Node.js](https://img.shields.io/badge/Node.js-4.4.3-blue.svg)](https://nodejs.org/)\n[![npm](https://img.shields.io/badge/npm-2.15.1-blue.svg)](https://www.npmjs.com/)\n![Platforms](https://img.shields.io/badge/platform-windows%20%7C%20osx%20%7C%20linux-lightgray.svg)\n[![License](http://img.shields.io/:license-mit-blue.svg)](http://opensource.org/licenses/MIT)\n \n[![Viewer](https://img.shields.io/badge/Viewer-v7-green.svg)](http://developer.autodesk.com/)\n[![OAuth2](https://img.shields.io/badge/OAuth2-v1-green.svg)](http://developer.autodesk.com/)\n[![Data-Management](https://img.shields.io/badge/Data%20Management-v2-green.svg)](http://developer.autodesk.com/)\n[![Webhooks](https://img.shields.io/badge/Webhooks-v1-green.svg)](http://developer.autodesk.com/)\n\nThis sample application demonstrate Webhooks notifications for changes on **BIM 360 Docs**, **BIM 360 Team** (formerly A360) and **Fusion 360** to SMS, Email and chat bot.\n  \n## Thumbnail\n\n![thumbnail](./thumbnail.png)\n\n## Live version\n\nRunning [live here](http://bim360notifier.autodesk.io) and [video demonstration here](https://www.youtube.com/watch?v=oZ_aNoBbpUM).\n\n**Usage**: after sign in with your Autodesk account, (1) expand the tree to select a **folder**. Then (2), select the events to get notification. Finally, (3) enter a mobile phone number, and/or email address, and/or slack channel. Click on **Create notification**.\n\n## Setup\n\n## Prerequisites\nThis samples requires:\n\n1. Forge credentials; \n2. Twilio account;\n3. Postmark account; \n4. Slack account. \n\nCreate the following environment variables:\n\n### Forge\n\nFor using this sample, you need an Autodesk developer credentials. Visit the [Forge Developer Portal](https://developer.autodesk.com), sign up for an account, then [create an app](https://developer.autodesk.com/myapps/create). For this new app, use `http://localhost:3000/api/forge/callback/oauth` as Callback URL. Finally take note of the **Client ID** and **Client Secret**. For localhost testing:\n\n- FORGE\\_CLIENT\\_ID and set it to above-mentioned **Client ID**\n- FORGE\\_CLIENT\\_SECRET and set it to above-mentioned **Client Secret**\n- FORGE\\_CALLBACK\\_URL and set it to `http://localhost:3000/api/forge/callback/oauth`\n\nNow you need a local server to receive Webhook notifications, you can use ngrok as [described here](https://developer.autodesk.com/en/docs/webhooks/v1/tutorials/configuring-your-server/), then create a env var with the value (e.g. https://abc123.ngrok.io`)\n\n- FORGE\\_WEBHOOK\\_URL\n\n### Twilio\n\nCreate a [Twilio developer account](https://www.twilio.com). Create an phone number. Also, you will need the Account SID and Token. The following env vars are required:\n\n- TWILIO\\_ACCOUNT_SID\n- TWILIO\\_TOKEN\n- TWILIO\\_FROM\\_NUMBER\n\n### Postmark\n\nCreate a [Postmark developer account](https://postmarkapp.com). Specify the **FROM** email, verify it. Take note of your Account ID. The following env vars are required:\n\n- POSTMARK\\_ACCOUNT\\_ID\n- POSTMARK\\_FROM\\_EMAIL\n\n### Slack\n\nCreate an app for [Slack API](https://api.slack.com/) on your company account to handle **Incoming webhooks** [see more here](https://api.slack.com/incoming-webhooks). At the UI, enter the value in the form of *T00000000/B00000000/XXXXXXXXXXXXXXXX*\n\n## Running locally\n\nMake sure to have [NodeJS](https://nodejs.org) installed. Clone this project or download it. It's recommended to install [GitHub desktop](https://desktop.github.com). To clone it via command line, use the following (Terminal on MacOSX/Linux, Git Shell on Windows):\n\n```\ngit clone https://github.com/autodesk-forge/data.management-nodejs-webhook\n```\n\nSet all all environment variables described on the **Setup** section using the following:\n\n- Mac OSX/Linux (Terminal)\n\n```\nexport VARIABLE_NAME=value\n```\n\n- Windows (use \u003cb\u003eNode.js command line\u003c/b\u003e from Start menu)\n\n```\nset VARIABLE_NAME=value\n```\n\nInstall the required packaged and run the application:\n\n```\nnpm install\nnpm run dev\n```\n\nOpen the browser and go to [http://localhost:3000](http://localhost:3000).\n\n**Important:** do not use **npm start** locally, this is intended for PRODUCTION only with HTTPS (SSL) secure cookies.\n\n## Deployment\n\nA deployment should have the following environment variables defined (e.g. Heroku app settings):\n\n![](www/img/readme/envvars.png)\n\n### Deploy on Heroku\n\nTo deploy this application to Heroku, the **Callback URL** for Forge and Storage must use your `.herokuapp.com` address. After clicking on the button below, at the Heroku Create New App page, set your Client ID, Secret and Callback URL for Forge and respective storage.\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)\n\nWatch [this video](https://www.youtube.com/watch?v=Oqa9O20Gj0c) on how deploy samples to Heroku.\n\n## Known issues\n\nBIM 360 Docs Hub names are comming with wrong formating, resulting in a wrong message. This issue is under investigation.\n\n## Tips \u0026 tricks\n\nFor local development/testing, consider use [nodemon](https://www.npmjs.com/package/nodemon) package, which auto restart your node application after any modification on your code. To install it, use:\n\n    sudo npm install -g nodemon\n\nThen, instead of \u003cb\u003enpm run dev\u003c/b\u003e, use the following:\n\n    npm run nodemon\n\nWhich executes \u003cb\u003enodemon server.js --ignore www/\u003c/b\u003e, where the \u003cb\u003e--ignore\u003c/b\u003e parameter indicates that the app should not restart if files under \u003cb\u003ewww\u003c/b\u003e folder are modified.\n\n## Troubleshooting\n\nAfter installing Github desktop for Windows, on the Git Shell, if you see a ***error setting certificate verify locations*** error, use the following:\n\n    git config --global http.sslverify \"false\"\n\n## License\n\nThis sample is licensed under the terms of the [MIT License](http://opensource.org/licenses/MIT). Please see the [LICENSE](LICENSE) file for full details.\n\n\n## Written by\n\nAugusto Goncalves [@augustomaia](https://twitter.com/augustomaia), [Forge Partner Development](http://forge.autodesk.com)\n\n### Updated By\n\n- Denis Grigor [denis.grigor@autodesk.com](denis.grigor@autodesk.com), [Forge Partner Development](http://forge.autodesk.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautodesk-forge%2Fforge-bim360notifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautodesk-forge%2Fforge-bim360notifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautodesk-forge%2Fforge-bim360notifier/lists"}