How to generate tailored email or message when problem Solved

Is is possible to automatically send a tailored email or message when a topic is marked as Solved ? If so how?

We are trying to use it for marketing and to determine how happy customers are with the solution.

Hello @ianm!

There’s no built-in solution for this. It would require a plugin or a custom script.

If you know a bit of coding, the later would be fairly easy using a solved event webhook.

The steps would be:

  1. Create the webhook in /admin/api/web_hooks/

  2. Create a script that will receive the webhook. A PHP example can be found here: Use Discourse webhooks with PHP
    You’ll need to ensure that the X-Discourse-Event header is set to accepted_solution.

  3. The webhook payload contains informations that can be used for the message you want to send:
    name and username: the author of the post marked as solution
    cooked: the HTML content of the post marked as solution
    topic_id: the topic’s ID :upside_down_face:

  4. You can then return the data of /t/[topic_id].json[1].
    There are a few ways to get the topic’s author:

    • [post_stream][posts][0] contains the author’s data: [id],[name], [username], etc.

    • [details][created_by] will also contain this information.

  5. Do a POST request to /posts.json with the proper payload to send a PM to the topic’s author.
    More info about the post POST request: Discourse API Docs

Video proof of concept:

  1. /t/[topic_id].json endpoint also contain solution-related data in [accepted_answer] ↩︎