How to build a Twitter and Instagram bot

  • 19 September 2022
  • 1 reply
  • 52 views

Userlevel 1

I often find myself exploring faraway places on Google Maps. Sometimes I’ll land on a beautiful natural resource like the Grand Canyon or Half Dome in Yosemite, and I’ll notice a bunch of one-star reviews. Something about people who take the time to leave bad reviews of natural splendor is amusing to me. I thought perhaps others might find it funny as well.

So, I decided to find a way to curate these bad reviews and share them with the world. Given I spend most of my social media time on Twitter, I landed on building a Twitter bot that tweets out my favorite of these bad reviews twice per day. I later on decided to throw an Instagram account into the mix since it’s a more visual medium.

I am non-technical, so I needed to find a way to do it using low-code/no-code tools. When I dove it, it turned out to be surprisingly easy. Here’s how I did it.

Collecting the reviews

The most manual part of the process is finding and collecting the bad reviews from Google Maps. I created an Airtable spreadsheet where I can copy and paste in the bad reviews when I come across them. I collect several bad reviews from same place, so I can quickly add several at once.

Because there are several fields I have to copy and paste in, I find the Clipboard History feature in Raycast super useful. Raycast lets me copy several items in a row, and then use keyboard shortcuts tto access my copy history quickly. Thus, when I get to my Airtable database I can quickly paste in several fields without flipping back and forth to Google Maps.

I also like to include a nice picture of the place. For that, I use Unsplash, which lets you use any image you find for free.

Creating the Twitter Bot

Now that I have an extensive database of bad reviews, I need to find a way to start posting them on Twitter. This is a perfect application for Zapier of course.

The Zap, or automation, gets triggered using the Zapier Scheduler feature. With this, you pick a time you want your Zap to run daily. Note - because I want to post twice a day I created duplicate versions of the same Zap: one set to trigger and 10am and one at 3pm.

When the Zap is triggered, it searches for a record in Airtable. Because I am not searching for any specific record, I have to run the search that basically says “return the first record that isn’t empty”.”As you can see below, I set the search formula as Number!="" which accomplishes that.

I limit the search to a view in Airtable I call “To Do” which includes all records that haven’t yet been tweeted.

Next, to avoid tweeting duplicates, I update that found record in Airtable by checking off a field called “Tweeted” which removes that record from the To Do view into a Done view. 

Now that I have my record ready, I can tweet it. I created a tweet template I like, and then just add in the fields from the Airtable database to populate it. I can even include the picture to go along with the Tweet.

Next Challenge: Instagram

It was pretty obvious when I started working on this that it’s a very visual piece of content that would work great for Instagram. However, I needed to find a way to programmatically transpose the review onto the image, such as below:

Niagara Falls bad review

Generating an image with the review on it

ITodo that, I am using a tool called Placid. It allows you to create a template with fields that you can populate automatically via Zapier or their native Airtable integration.

Now, via Zapier, I can automatically generate these images in Placid

I then created an Instagram account for the project. To auto-post to Insta, you did need a business account.

I added steps to the Twitter Zap to create the image in Placid and then post to Instagram.

And voila! I now have an automated Twitter and Instagram bot to post my funny findings. The only remaining manual process is collecting the reviews, which I can do fairly quickly when I run out of content.

Try it yourself!

Grab an Airtable and Placid account if you want to try it yourself. You can even copy my existing Zaps by clicking on this link, and play around with it yourself.


This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

1 reply

Userlevel 7
Badge +11

Thanks for sharing this! I’ve had fun building Twitter bots as well. This is a fun one :)

Had you considered using the Airtable Web Clipper to grab the data you need, rather than copying and pasting it?

Also, I recently discovered Placid and it looks really nice! I’ve used Glitterly in the past, but they were recently acquired and will soon be swallowed up by their acquirer.

Thanks again for taking the time to share this with the Community!