{"id":28473242,"url":"https://github.com/nylas/slackbot","last_synced_at":"2025-07-31T11:13:54.677Z","repository":{"id":76969628,"uuid":"140351293","full_name":"nylas/slackbot","owner":"nylas","description":"scheduler slack bot tutorial","archived":false,"fork":false,"pushed_at":"2019-11-01T22:47:43.000Z","size":5,"stargazers_count":5,"open_issues_count":1,"forks_count":29,"subscribers_count":68,"default_branch":"master","last_synced_at":"2025-07-02T02:37:32.121Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/nylas.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,"zenodo":null}},"created_at":"2018-07-09T23:09:12.000Z","updated_at":"2021-07-01T04:39:53.000Z","dependencies_parsed_at":"2023-02-27T05:45:37.884Z","dependency_job_id":null,"html_url":"https://github.com/nylas/slackbot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nylas/slackbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nylas%2Fslackbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nylas%2Fslackbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nylas%2Fslackbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nylas%2Fslackbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nylas","download_url":"https://codeload.github.com/nylas/slackbot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nylas%2Fslackbot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268028223,"owners_count":24183797,"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","status":"online","status_checked_at":"2025-07-31T02:00:08.723Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-06-07T12:06:38.975Z","updated_at":"2025-07-31T11:13:54.653Z","avatar_url":"https://github.com/nylas.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Build a scheduler Slack bot!\n\nBuild a Slack bot slash command that adds events to your personal calendar!\n\n```\n/scheduleme \"Chocolate chip cookie competition\" \"Sunday at 2pm\" \"Sunday at 4pm\"\n```\n\nSlack bots are fun ways to add new functionality into your Slack workspace. Using the Nylas API, you can create a bot  \nwith email, contacts or calendar functionality. In this tutorial, you are going to create a scheduler bot that adds \nevents to your personal calendar with a simple Slack slash command. We’ll dive into the nitty gritty of how to build a \nSlack bot from scratch. \n\n#### Checkout [this post](https://www.nylas.com/blog/build-a-slack-bot-scheduler-in-30-minutes) for the full instructions!\n\n## What You’ll Need Beforehand\n\nThere are a few technologies that we need to have in place before we embark on this DIY Slack bot journey!\n\n- Git and Github account\n- Heroku account\n- Slack workspace\n- An email address associated with a Google, iCloud, or Microsoft calendar\n- A text editor of your choosing — PyCharm, Atom, Vim, Sublime, etc.\n\n\n\n# Overview\n### Part 0: Basic app setup\nTLDR; Fork the starter code, run the setup script and run the app locally\n\n### Part 1: Hook your repo up to Heroku and deploy it\nTLDR; Create a Heroku app, hook it up to your Github repo, deploy it\n\n### Part 2: Set up Heroku config variables\nTLDR; Auth an account with Nylas to get the access token, use this to get the ID of the calendar, add these plus the calendar timezone as config variables in Heroku.\n\n### Part 3: Connect your app to your Slack workspace\nTLDR; Create a Slack App and configure a slash command to communicate with your app, add a route in your app that listens for the slash command \n\n### Part 4: Add text parsing functionality\nTLDR; Parse the text sent from Slack into meaningful components for an event\n\n### Part 5: Build scheduling functionality\nTLDR; Send the parsed arguments to the /events endpoint of the Nylas API to create an event on your calendar.\n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnylas%2Fslackbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnylas%2Fslackbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnylas%2Fslackbot/lists"}