{"id":18695359,"url":"https://github.com/smartthingscommunity/slack-nodejs-workshop","last_synced_at":"2025-04-12T07:25:31.715Z","repository":{"id":42208849,"uuid":"181100132","full_name":"SmartThingsCommunity/slack-nodejs-workshop","owner":"SmartThingsCommunity","description":null,"archived":false,"fork":false,"pushed_at":"2022-12-09T21:55:44.000Z","size":319,"stargazers_count":1,"open_issues_count":6,"forks_count":4,"subscribers_count":78,"default_branch":"master","last_synced_at":"2025-03-26T02:42:39.610Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/SmartThingsCommunity.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}},"created_at":"2019-04-13T00:18:46.000Z","updated_at":"2023-01-30T07:36:54.000Z","dependencies_parsed_at":"2023-01-25T23:45:58.279Z","dependency_job_id":null,"html_url":"https://github.com/SmartThingsCommunity/slack-nodejs-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmartThingsCommunity%2Fslack-nodejs-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmartThingsCommunity%2Fslack-nodejs-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmartThingsCommunity%2Fslack-nodejs-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmartThingsCommunity%2Fslack-nodejs-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SmartThingsCommunity","download_url":"https://codeload.github.com/SmartThingsCommunity/slack-nodejs-workshop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248532287,"owners_count":21119887,"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-07T11:14:42.350Z","updated_at":"2025-04-12T07:25:31.694Z","avatar_url":"https://github.com/SmartThingsCommunity.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slack SmartThings Integration\n\n### Local Setup\n\n* Git\n    * [Install git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\n    * Clone this repo or a fork locally\n        * `git clone git@github.com:SmartThingsCommunity/slack-nodejs-workshop.git`\n    * Checkout the start branch\n        * `git checkout start`\n* Node\n    * [Install node](https://nodejs.org)\n\n### AWS Setup\n\n* Create [AWS Account](https://portal.aws.amazon.com/billing/signup?redirect_url=https%3A%2F%2Faws.amazon.com%2Fregistration-confirmation#/)\n* Install and configure [aws-cli](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)\n    * Credit card is required, but we will be using services offered in the free tier\n        * S3 isn't free, but is optional and rather cheap\n\n### SmartThings Setup in Browser\n\n* Create a Simulated RGB Bulb\n    * Navigate to the [legacy developer portal](https://graph-na04-useast2.api.smartthings.com/location/list)\n    * Enter `Simulated RGB Bulb` for `Name`\n    * Enter  `Simulated RGB Bulb` for `Device Network Id`\n    * Select `Simulated RGB Bulb` for `Type`\n    * Select one of your locations to install the device on\n       * If no locations navigate to [location list](https://graph-na04-useast2.api.smartthings.com/location/list), this will redirect you to the correct shard\n    * Click `Create`\n    \n\u003e You should be able to modify the state (on/off, color) of this\nsimulated device through the UI in the mobile application.\nThis will be useful for testing your integration\n\n### SmartThings Setup in App\n\n* Download and open the iOS/Android SmartThings Mobile App\n    * Log into your Samsung Account\n        * [Create one](https://account.samsung.com/accounts/v1/MBR/terms#) if you haven't already\n    * [Enable Developer Mode](https://smartthings.developer.samsung.com/docs/guides/testing/developer-mode.html) (required for running custom automations)\n\n### Slack Setup\n* Navigate to your [Slack Apps](https://api.slack.com/apps)\n    * If you don't have a Slack workspace yet, click `sign in to your Slack account` and then `Create a new workspace` ([here](https://slack.com/create#email))\n    * Input an email for your workspace, then input the 6 digit code that Slack will email to you\n    * Give your workspace a name, like `SmartThings IoT Fuse`\n    * For a project name, go with something like `SmartThings-Slack`\n    * Skip adding teammates\n    * Your workspace is created! You can log into it in the Slack app for desktop or just keep it open in a browser tab\n* Click `sign into your Slack account`\n    * After signing in you'll need to navigate back to https://api.slack.com/apps\n* Click `Create New App`\n    * Name the app `ThingsBot`\n    * For Development Slack Workspace, select the workspace you just logged into from the drop down\n    * Create the app\n* Scroll to the bottom of the Basic Information section for your app\n    * Under Display Information, click `Add app icon`\n        * Upload [this bot icon image](etc/ThingsBot.png) from this repo to give your ThingsBot some identity\n        (feel free to find your own bot face image if you'd prefer)\n* Navigate to `Install App` in the Slack API website sidebar\n    * Click Install App to Workspace\n    * Authorize the app\n* Navigate to `OAuth \u0026 Permissions` in the Slack API website sidebar\n    * Click \"Add New Redirect URL\"\n    * Add your API Gateway URL as a redirect URL\n    * Click `Save URLs`\n* Navigate to `Interactive Components` in the Slack API website sidebar\n    * Flip the Interactivity switch to On\n    * For the Request URL, input `\u003cYOUR_API_GATEWAY_URL\u003e/slack/receive`\n    * Click `Save Changes`\n\n[cd lambda](lambda/README.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartthingscommunity%2Fslack-nodejs-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmartthingscommunity%2Fslack-nodejs-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartthingscommunity%2Fslack-nodejs-workshop/lists"}