Skip to content

The moment it happens

Post customer feedback with a sentiment tag

Each piece of feedback lands in your channel marked positive or negative, with negative ones highlighted.

Runs
The moment it happens
Apps
Mattermost
AI
Yes, uses the built-in AI allowance
Access
create_post

Send this to your assistant

Create a ClickRuntime automation: when my feedback form posts to this link, classify the sentiment with AI, add a one-line summary, and post it to our Mattermost 'feedback' channel, highlighting negative ones.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Customer feedback arrives from a form, an in-app widget or an email address, and gets stored in a sheet or inbox. Product managers read it in batches every few weeks, by which time an angry message about a broken checkout is a month old. The positive comments that would encourage the team never get shared, and urgent complaints sit next to compliments with nothing to tell them apart.

When a new piece of feedback is sent to ClickRuntime, its built-in AI classifies the sentiment as positive or negative and writes a one-line summary. The result is posted to your Mattermost channel, labeled with the sentiment, so the team can see at a glance which messages need attention.

It suits product, support and customer-success teams that collect feedback from several sources.

What you get out of it

  • Negative feedback is seen the same day

    Complaints about billing errors or broken features reach the team within moments. A quick response can turn an unhappy customer into a loyal one. A fast reply, sent while the problem is still fresh, often keeps the account.

  • Good feedback motivates the team

    Positive comments posted to the channel remind engineers and designers that their work matters. People who normally only hear about bugs get a regular boost. That balance helps morale and shows which work is appreciated by customers.

  • Triage needs no reading

    The sentiment label and short summary let a support lead decide in seconds who should handle each item. They no longer open every message to find out what it is about. Short summaries help a busy lead decide who should handle each item and how quickly.

  • Patterns appear in the channel

    When five negative messages mention the same feature in a day, the thread makes it obvious. That is quicker than discovering the trend during a quarterly review of survey results.

  • All sources land in one place

    Whether feedback comes from a form, email or app, it appears in the same channel in the same format. The team follows one stream instead of checking several tools. The team gets one consistent feed.

  • A running record for product reviews

    Because every item is posted with its label, you can scroll back before a roadmap meeting and count what customers actually said, rather than relying on whoever remembers best at the time. That keeps debates grounded in evidence.

How it works

What happens, step by step

  1. When someone submits your feedback form, the form sends their comment to ClickRuntime straight away.

  2. AI reads it, decides whether it is positive, neutral or negative and writes a one-line summary.

  3. The summary and the original comment are posted to your feedback channel in Mattermost, with a matching icon.

  4. Negative feedback is marked in bold with an alert icon, so it stands out.

Before it runs live

  • Connect Mattermost
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Post customer feedback with a sentiment tagjust nowSucceeded
Mattermost · feedback:rotating_light: **Negative** Checkout fails on mobile Safari > I tried to pay three times and it kept spinning.

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Change what the AI looks for, or how it writes the result
  • Add another app, for example also send it to Slack
  • Combine it with other Mattermost steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
feedback_with_sentiment_posted_to_a_channel.pyexample
from clickruntime import on_event, credentials, http, ai

BASE = "https://chat.acme.com/api/v4"
FEEDBACK_CHANNEL_ID = "3k9d8f7g6h5j4k3l2m1n0p9q8r"
SCHEMA = {"type": "object", "properties": {
    "sentiment": {"enum": ["positive", "neutral", "negative"]}, "summary": {"type": "string"}},
    "required": ["sentiment", "summary"]}

@on_event
def handle(event):
    text = (event.json.get("feedback") or "")[:2000]
    r = ai.generate(f"Give the sentiment and a one-line summary of this feedback:\n{text}",
                    json_schema=SCHEMA, max_output_tokens=80).json
    icon = {"positive": ":smile:", "neutral": ":neutral_face:", "negative": ":rotating_light: **Negative**"}[r["sentiment"]]
    http.post(f"{BASE}/posts", headers={"Authorization": f"Bearer {credentials.secret('MATTERMOST_TOKEN')}"},
              json={"channel_id": FEEDBACK_CHANNEL_ID, "message": f"{icon} {r['summary']}\n> {text}"}).raise_for_status()
    return r

FAQ

Common questions

How accurate is the sentiment label?
It is generally reliable for clear statements and less so for sarcasm or mixed messages. The one-line summary helps you judge, and because the original text is included, a person can correct any label that looks wrong.
Can it pick up more than positive and negative?
Yes. The AI step can use other labels such as neutral, urgent or feature request, depending on what is useful for you. Ask your AI assistant to adjust the categories and approve the change. A clear label list gives the best results.
Where does the feedback come from?
Any sender able to make a web request works, such as a form, a survey tool or your own product. The sender posts the feedback text to the address ClickRuntime provides, and the run starts at once.
What permissions does it need?
create_post. Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run for each event the app sends.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Post customer feedback with a sentiment tag” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.