Update: The zap order and filters got updated to minimise the chance for articles getting missed. I ended up rewriting this article instead of updating and commenting single steps.
Cover image credits partially go to Justin Yoo and his article. Justin's a highly appreciated former colleague of mine, and he's hopefully ok with a cameo on this article.
I'm Jan, a Program Manager in Developer Relations at Postman, and my mission is to help Developer Relations scale their efforts and developer advocates to do their job with the highest possible impact. I create processes, community and developer programs, and automate stuff. I collect and process data to prioritise fields of activity, e.g. events or platforms. I generally work on strategic stuff to help make decisions where the ship should be going.
That's why I'm on dev.to, too: because you all are developers potentially interested in Postman topics, you are the ones that we at Developer Relations want to succeed in what you do. And before we can do that, we need to know what you all are talking about and what challenges you face, and which of these issues we have the capability to help solve.
To know what's going on in terms of APIs and Postman-in-the-wild, I created I bot that deploys a message a channel on our company Slack whenever a new article that features the tag API or mentions Postman in the title or the article body is being published.
Creating a Slack App. Or rather not.
Slack doesn't have an app for dev.to, so I went the nowadays rather usual route through Zapier.
There's an RSS feed publicly available for all articles that get published on dev.to: https://dev.to/feed/. When I started I wanted to monitor new posts that gets published with the API tag only. Dev.to's algorithm is heavily focused on tags. My assumption was that most people know that and we would have quite a good filter for everything API related when monitoring this platform tag. So I was searching for a feed that only updated with new publications to this tag. I eventually found it at https://dev.to/feed/tag/api.
Triggering zap no.1 by tag
And here's what I did for the API-tagged articles for notifications:
Also finding mentions of "Postman"
As my thoughts developed, and I realised I wanted to monitor for keywords as well, I added two intermediary steps in this zap, to find out if Postman was mentioned in the body, using Formatter:
The Formatter would string.find Postman and then return a positive integer or -1 in case "Postman" isn't found.
The next action would create a string depending on the previous output integer through number.spreadsheet_formula. This string will already be what goes into the Slack message ("Postman was also mentioned in the article"). That way I wouldn't need to create an extra condition in composing the message.
Triggering a second zap for news on the general feed
Then I added another zap:
That would take the general feed from https://dev.to/feed and filter for title or body to contain a mention of Postman.
Filter by "mentioning Postman"
The title or the body of the article needs to mention the keyword "Postman" for this zap to continue. But It wouldn't let through any articles that are already covered by the first zap (and the third, to be honest). I filtered for the "api" and "postman" tag as well, called Category in the feed, to not being listed. Only continue if none of these tags are used. Otherwise this zap would be executed although the article was already covered by the first (or the third) zap.
And this is the action that is being taken, sending a message to a specified channel on Slack, providing the link and also the fact that Postman has been explicitly mentioned.
A third zap
There's another tag on dev.to that we would want to monitor: postman. It has 182 posts at the time of writing, and this volume could be increasing. Why not directly monitor it as well.
I duplicated zap no.1 and deleted the Formatter steps. No need to find out if the mention Postman. If you consciously use the postman tag, we'll definitely want to read it anyway. =)
What it's good for
Now all of my colleagues interested in API or Postman related activity on dev.to could join this channel and get notified if they chose to - through Slack.
I hope we'll soon see more Postmanauts - that's what Postman employees call themselves, referring to the company's mascot of an astronaut - actively engaging in discussions on dev.to.
Reach out if you want to know more about Program Management in DevRel.
Stay safe. <3
Update: There's a high chance that dev.to's main feed is updating with multiple new entries, so your article might get swallowed and not show up for the automation. I'll try swapping filter logic between the two zaps and see if that helps avoid the situation.
Top comments (6)
I like the conditional filtering here! I plugged the RSS feed from the
twittertag into a Slack channel internally as well - pretty straightforward and useful to keep folks interested in what is being written externally.
We do have that for Twitter, GitHub, Discourse. I didn't build these though, so I was starting from scratch. I assumed most of the larger platforms have a Slack app, that could do these things?
This is so awesome! 🙌
Really appreciate you sharing this one.
Thank you, @michaeltharrington!
@jansche definitely interested in hearing more about any "nice to haves" you've encountered in building this out; can't promise we'll get around to it, but we're definitely interested.
Where to start ^^
I think the biggest shortcoming is currently that not every article triggers the zap, as the RSS feeds get updated unconditionally and might contain more than one new article per update. I ended up prioritising the lower-volume tag-specific feed over the general one, as I saw updates getting missed.
For the Zapier part, I wish I could do conditional steps and forking in the zaps, but I ended up with 2 zaps when my programmer's heart had wished for integrating these two into one single zap.
And well, I'd love to see some social analytics for dev.to. How often does Postman get mentioned, what's the trends in API articles, which articles perform well in terms of social interactions, which trend and should get priority attention from our team. But that's not to be accomplished by a zap, I guess. =)