Creating Lists in Slack with Airtable!

I recently started to use Airtable after my previous database provider – Fieldbook declared that they would be ceasing operations from mid June. This has been somewhat of a bittersweet experience as I had to port all of our data over to a new provider and update all the integrations that we had. Zapier tells me that was about 60 zaps that we had to change so that was not ideal. 

Airtable was something that came recommended however so I decided to give it a go and see what could be done with Zapier. One of the reasons that we used Fieldbook was that you could search with multiple fields to find a record. Airtable doesn’t have this function as per say but they do let you search with a formula which does make it possible. Glad that we could solve that nice and quickly!

The next thing I wanted to do was see if I could find a way to list records. I like to use Slackfor creating ‘command lists’ which then can open up a menu of commands. You can see an example of such here in our FAQ list for approaching new properties for Roomfilla.

As you can see we have the list of fields which are from the FAQ and if you type FAQ Registration then it will pop up the information that you have requested. Building such functionality into Slack is relatively simple but not easy. For a demo of getting this done, I want to be able to list some websites in another channel so let’s get cracking.

First I will need to create a trigger, for this I’ll use the words ‘website list’. I will put this into the channel I want it to trigger, in this instance #sales and then go to Zapier to create the Zap. 

So this is pretty basic. The trigger is the message into the #sales channel and then a filter ensures it only runs if the text exactly matches ‘website list’. That is all good! Now we need to find the data in Airtable. The Airtable API docs are pretty easy to understand but there are a few things which you need to know when you start pulling stuff into Zapier. 

You can see here, the documents for the list records from Airtable themselves. To do this we want to send a webhook and here are a few things that helps to make it work in Zapier which I had to get help with from the support due to not knowing!

  • You should use the URL without any of the fields appended to it. In this image you see that max records and view are appended to it so you want to take them out. 
  • This is an important one. For some reason you need to put in a header field, User-Agent = null. The webhook won’t work without this and this was something I needed support to troubleshoot for me. 
  • Obviously you’ll need your API key which you can find by ticking the box in the top right of the image above. 

With this I have the URL and I am adding to show the grid view which is the spreadsheet style view. Below this I have the header fields where I have User-Agent = null and Authorization = Bearer API KEY. If you want to only return a few fields, you can use maxRecords in the query string params to do that. I want to return all so let’s test it. 

The test works but it returns everything like value1,value2,value3,value4. That doesn’t look so great but it is a simple fix with a few lines of javascript. The next stage of the Zap is a code by Zapier section. 

What this code does is it prepends the first record by a dash and a space and then adds a linebreak dash and space to each of the remaining records. Super simple and gets you the data in a way that you can then push to Slack. The final action is therefore a Slack action where you make a message in the same channel with the data. 

Do a Google Search from Slack!

Everybody loves going to a search engine when something doesn’t make sense. If you aren’t already at your browser though you may be thinking… hey, how can I speed up my workflow and ensure I can limit my time spend? Well today I introduce you a basic workflow which will allow you to search within Slack. 

I know, I know.. first world problems. This is something which doesn’t really solve much problems but it does speed things up! The benefits from what I could see were the following;

  • Easily create a search in slack, spit out a URL and click it… hello efficiency!
  • Slack is usually where you talk with your team. Being able to share a search with your team is incredibly powerful
  • Everybody loves a Slackbot right? #amiright

The initial outline

Ok, so we want to do a search in slack and then get a Google URL. How would we go about this? Well of course, the workflow will be something I will share below. This is what I want to happen;

  1. Go to a specific slack channel
  2. Write ‘search <thing you want to search>
  3. A bot will send a message with the URL of the search which you can then click

I told you it wasn’t difficult right. So let’s get cracking. I guess it makes sense to try and figure out how Google searches look and understand the URL… let’s search for sausage and beans for jokes… 

A casserole recipe! Well… that looks tasty but look at the top… look at that horrendous URL. Incase you can’t see it, it looks like this – https://www.google.co.th/search?dcr=0&source=hp&ei=eACXWoeOOIzcvgSIwYy4Dg&q=sausage+and+beans&oq=sausage+and+beans&gs_l=psy-ab.3..0l10.2521.4349.0.4456.20.17.0.0.0.0.146.1567.9j6.16.0….0…1.1.64.psy-ab..4.15.1567.0..0i131k1j0i10k1.87.t-_Jvn3kfjY

Not too much of a fan of all that source and following information. Just want something to work and don’t really want to get the Google suggestions… I just want the things that work… I think it is time for a pivot!

The pivot

All the cool kids pivot right? This is mine. Time to use DuckDuckGo. It is like Google but without all the tracking and annoying cookies and other non-edible joke things. If I do a search on DuckDuckGo what do I see? Oh! Oh! This is something I can work with.

More importantly to this is the URL. The URL is https://duckduckgo.com/?q=sausage+and+beans. This is easy and easy to work with. So the string that we need to create is whatever we want to work with + instead of the spaces and we just need to attach the whole lot to the end of duckduckgo.com?q=<SEARCH+HERE>. 

Putting it all together…

like a great sausage and beans casserole.. anyone else hungry by this point? Ok stop messing around. This is a super simple process with Zapier. Let’s get started!

Step 1 – You will need to go create a new zap and have Slack as the trigger. Choose post message to a channel and choose which channel you want this to work on. I chose #random because we never use it. 

Step 2 – We want this to only trigger if the message starts with search. This will mean that if the message is anything else then it won’t trigger the action. You can do this by setting up a filter. 

Easy life that worked! Now to split the text so that you can add it to the search for DuckDuckGo. For this you need to use the formatter tool. First we need to split the text.

Step 3 – Make a Formatter action and then choose the split text function. You want the formatter to return everything after the ‘search ‘ in the message. Very easy to set up like this;

Now that we have sausage and beans I think there is an end to the journey but one more formatter is needed. We said earlier that the DuckDuckGo search uses + instead of spaces. So this time we want to use the replace function. 

Step 4 – Open formatter use the replace function and make sure you use it based on the last output as that is the text we need to manipulate now. Use the replace function and replace the spaces with +. Very simple and your output should look like this;

Yehaw! Now to add the last step which is to push this all back into the #random channel in Slack with the search term. For this you will need to use a Slack action.

Step 5 – Make a new channel message in Slack and choose what you want it to say. For this example I will make it say ‘Click here to see that search! <SEARCH LINK>. Easy way to finish off. I will make it send as a bot and my bot will be Bulma from DBZ because why not…

Turn the zap on and you are now ready to search in slack. Let’s have some fun. 

How to Send SMS from Slack!

Huh, what? Slack is a team tool and SMS is from phones? Well.. SMS might have been only from phones in the days of the Nokia 3210 but in recent times SMS is making a major comeback.. you may wonder why SMS is now so popular, just think. Who sends SMS these days? Nobody. Who always plays with their phones? Everybody. Your message will be seen whereas an email may be ignored. 

Why do I need SMS in 2019?

Good question and I am sure you know how to run your business so I am looking at it from the point of view of a vacation rental manager. We deal with both owners, cleaners and guests. Each present a clear use case SMS, we can shoot reminders, tell people to contact us and fire off schedules and new bookings so staff can prepare. Super simple but you go to the website of SMS providers online and it all looks super complicated. API this and API that… I haven’t got time for that.. I just want a no code no worries solution.. and where do our team always hang out? Slack of course.. 

The Concept

Write SMS messages in Slack and send them in the same message. Pretty simple right? What are the two pieces of information we need here? Well the first is the number to send it to obviously. Without this the message won’t be delivered numbnuts. The second is the message itself. Slack messages are easy to configure so we just need to make it so that it will trigger based on the same thing each time. For the sake of simplicity, how about something like this;

Awesome, that is a workflow that would work. Now let’s ensure it does. Head over to Zapierand chuck it in;

Building the Process

Processes in Zapier are pretty simple, they start with a trigger and then action on top of that. Filter is also possible and super important in this use case. What we want to do is create the trigger based on a message in Slack starting with SMS. This will ensure it only picks up these messages and who else starts a chat with SMS, so you are fairly safe that you won’t accidentally trigger it. 

First stage is choosing where to trigger the message
Ensure it only triggers on what you want it to trigger on (choose something you wouldn’t use accidentally!

Next up now that you have this big string of text is to try and split it up into the pieces that you need. Luckily enough, Zapier has a formatter option which enables you to do just this. You can split text. To get the number, you will need to use the formatter and choose extract number. Do note that by doing this, do not use numbers anywhere else in your message! 

Super easy, now to get the message again go to formatter and do a split text on ‘Message:’ and choose last, this will provide you with the message only. Easy life! Now for the SMS action, for this I use Twilio. 

You can set up Twilio and choose send a SMS. You can then fill in the number of the recipient with the details of the split text and also the message. You will probably want to use your alphanumeric ID if you set this up in Twilio. This is really cool, it lets you send messages as your company, for example we have it set up as ROOMFILLA.

You can then test it to ensure it works!

We also set up one further action in Zapier to push a success message to Slack. For this we chose Vegeta because the power to send a SMS from Slack is obviously over 9,000.