1/ I have been meaning to build a Slack bot for a while and have done several proofs-of-concept in the bast. But every single time I have failed to actually ship it just because it requires a managed back-end and that just adds too much effort for a simple side-project at work.
2/ ๐ Introducing โ The Dictionary Bot
The idea is simple. Look up a list of acronyms and return what it stands for. For example
3/ At a high level, I need the following for the bot to work:
- A Slack App (with Slash commands enabled)
- A URL thatโs called whenever the Slash command is triggered
- Some kind of a Database to hold the Acronym definitions
- Ability to respond to the Slash Command
4/ Implementation - Backend with Tray
Tray.io is essentially built around workflows (think of it as a function) that can be called via various โtriggersโ. In my case a Slash command from Slack.
5/ To connect the workflow to the Slash command, it was just a matter of obtaining the unique URL for my Dictionary Bot workflow in Tray.io and providing it in the settings on my Slack app.
6/ Once connected and authenticated (which was done by providing Tray.io with a โsigning secretโ from Slack), I was already able to start invoking the (/define) command from Slack and see the Tray workflow getting triggered.
7/ Airtable as the DB
The next step was to identify where to store my data so that it can be easily queried from the Tray.io. Think of Airtable as a glorious G Sheet that allows you to query your data over an out-of-the-box API.
Itโs hard to believe, I know.
8/ With the data now available, all I had to do was create authentication for my Airtable account (which was trivial). The connector very conveniently provides the ability to filter your data by a formula which in my case was simply:
9/ Pretty much at this point, I had the output from the table that I wanted and was ready to craft a response to be sent back to Slack.
10/ Turns out, each Slash command request comes with a unique response_url that you can use to send a response and itโs sent to the same channel where the request originated โ pretty convenient.
11/ And voila, the Slack bot was ready to be tested end-to-end and I did not even have to write a single line of code! ๐
12/ It was quite enjoyable to build with @tray and @airtable and take my idea from inception to production within a matter of hours!!
What do you think? Thoughts? Questions?
โข โข โข
Missing some Tweet in this thread? You can try to
force a refresh
Amazon just announced a new #nocode/#lowcode tool at re:Invent conference.
Itโs called AWS Amplify Studio.
In their own words, it is: โa visual development environment that offers frontend developers new features to accelerate UI development with minimal codingโ
And this will totally blow your mind. ๐
The tool accepts a #Figma file and converts it into #React components library that you can then pull into your app.
So, not a no-code tool and definitely not for beginners.
But they are clearly bullish on the low-code/no-code approach to development.
They are positioning it as a โhappy mediumโ between drag-n-drop development and the ability to customize.
I built this app in less than 60 minutes with #nocode.
A lot of my conversations on LinkedIn were resulting in โletโs do a zoom callโ. Calendly links were shared but I didnโt have a good system to track them. So I decided to fix that.
I could have created a spreadsheet.
Right?
Boring! ๐
Why not create an app in the same amount of time?
Here are the features it supports: ๐
โ Sign in with an email
โ Sign in with Google
โ Add new contact (+ Calendly link)
โ View/Edit/Delete contacts
โ Filter contacts by status (Scheduled/Met)
โ Search for contacts
โ Works on mobile and web