Topic automation based on tag?

I wonder if there could be any way to automate actions on topics, including closing them, based on tag. This has been asked before, but a usecase was requested by @codinghorror and none was provided - so I wanted to mention one we have!

We have a forum for an open source developer community and, separately, (much like Discourse) we have a managed hosting platform with customer service for the infrastructure we provide.

Often people post on the forum asking for help with something specifically related to our hosting, and in those cases the topic is closed with a saved reply that includes the email address to contact for support. This, in itself, is not a problem - but because the topic and the saved reply is clearly posted by a human person it creates a negative impression for the user of how their request is being handled.

Sometimes people will mention something along the lines of

“how come your team isn’t around to reply to my emails but [PERSON] has plenty of time to close my forum topics??”

Of course the answer is that they aren’t the same teams, and our forum also has community members helping with moderation who don’t work for us - but the topic being closed by someone with a face and a name creates an impression of rather personal rejection / refusal to help by a member of staff.

The usecase I have in mind for this is similar to how Bots on GitHub work. If a moderator could add a tag to a topic, and a “bot” user could post the automated reply and close the topic. Then [whilst not actually being any different] it might help reduce animosity toward the person who is correctly closing the topic and giving the contact details.

I’m not particularly attached to this idea/solution - and would welcome suggestions for any existing Discourse features or other approaches to handling this sort of dynamic better :slight_smile:

Thanks for reading!


Thinking within your constraints have you considered using our API to automate this action?

You could hit our API once an hour say to find the topics that need closing (all open topics with tag X) and then close them using the API and a bot user?

Do you have a place in your infrastructure where you could schedule a script like this?


I think that could work - my only hesitation with that approach is the up-to-1-hour gap in something happening, which feels a bit long in this context - and hitting the API more often doesn’t seem like a good use of resources.

Are there any logical places that we could hook into?

For instance I know Discourse has a Zapier integration - but it’s missing a “Topic updated” event that I could imagine using to build a DIY automation for this!

Oh … we actually have a webhook on tags.

You could just be 100% responsive here instead of needing to run a recurring job!