Skip to content

Daily

Summarise new App Store reviews for your product team in Slack

Each day new App Store reviews are stored in Pinecone and a summary of the main complaints and praise is posted to Slack.

Runs
Daily
Apps
Pinecone, Slack
AI
Yes, uses the built-in AI allowance
Access
Pinecone read+write; Slack chat:write

Send this to your assistant

Create a ClickRuntime automation: every morning, fetch new App Store reviews for my app, add them to Pinecone, and post a summary of the main complaints and how often they've come up before to #product.

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

App Store reviews are honest product feedback, but they arrive one at a time and nobody reads them all. Recurring complaints, such as a login bug or a confusing screen, take weeks to be noticed because each review looks like an isolated case.

Product managers, mobile developers and support leads use it to see each day's themes, and whether a complaint is new or has been building for weeks.

What you get out of it

  • Themes, not a stream

    Reviews are grouped into a few clear complaints and compliments.

  • Is it new or recurring?

    Similar past reviews are found in Pinecone, so the summary says when an issue keeps coming back.

  • Shared with the whole team

    Developers, designers and support see the same feedback in Slack.

  • A searchable archive

    Every review is stored, so you can later look up all feedback about a feature.

How it works

What happens, step by step

  1. Every morning, ClickRuntime reads the latest reviews of your app from the App Store's public feed.

  2. Reviews it has already seen are skipped, and new ones are added to your Pinecone index.

  3. For the new reviews, similar older reviews are looked up to see which issues keep recurring.

  4. AI writes a short summary of complaints and praise, and it is posted to your Slack channel.

Before it runs live

  • Connect Pinecone
  • Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)

What you get

RunsDaily
Summarise new App Store reviews for your product team in Slacktoday, 9:00Succeeded
Slack · #product12 new App Store reviews · Complaint: login loops after the update (also raised 9 times last week) · Praise: faster checkout

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

  • Run it at a different time, more or less often, or only on weekdays
  • Change what the AI looks for, or how it writes the result
  • Add another app, for example also send it to Google Sheets
  • Combine it with other Pinecone and Slack 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.
summarise_app_store_reviews_to_slack.pyexample
import json
from clickruntime import on_trigger, credentials, http, state, notify, ai

APP_ID, COUNTRY = "1234567890", "us"
HOST, NS = "https://reviews-abc123.svc.aped-1234.pinecone.io", "app-reviews"

def search(text, k=5):
    r = http.post(f"{HOST}/records/namespaces/{NS}/search", json={"query": {"inputs": {"text": text}, "top_k": k}}, headers={
        "Api-Key": credentials.secret("PINECONE_API_KEY"), "X-Pinecone-API-Version": "2025-04"}).json()
    return [h["fields"] for h in r["result"]["hits"]]
def upsert(records):
    http.post(f"{HOST}/records/namespaces/{NS}/upsert", data="\n".join(json.dumps(r) for r in records[:96]), headers={
        "Api-Key": credentials.secret("PINECONE_API_KEY"), "X-Pinecone-API-Version": "2025-04", "Content-Type": "application/x-ndjson"}).raise_for_status()

@on_trigger
def run(event):
    feed = http.get(f"https://itunes.apple.com/{COUNTRY}/rss/customerreviews/id={APP_ID}/sortby=mostrecent/json").json()
    seen = set(state.get("seen") or [])
    new = [e for e in feed["feed"].get("entry", []) if "im:rating" in e and e["id"]["label"] not in seen]
    if not new:
        return {"new": 0}
    texts = [f"{e['im:rating']['label']}★ {e['title']['label']}: {e['content']['label'][:500]}" for e in new]
    upsert([{"_id": e["id"]["label"], "chunk_text": t} for e, t in zip(new, texts)])
    similar = {h["chunk_text"] for t in texts[:5] for h in search(t, 4)} - set(texts)
    summary = ai.generate("Summarise today's app reviews as top complaints and top praise (short bullets). Say which "
                          f"complaints also appear in older reviews.\nTODAY:\n" + "\n".join(texts) + "\nOLDER SIMILAR:\n"
                          + "\n".join(similar), max_output_tokens=500).text
    notify.slack(f"*{len(new)} new App Store reviews*\n{summary}", channel="#product")
    state.set("seen", sorted(seen | {e["id"]["label"] for e in new})[-3000:])
    return {"new": len(new)}

FAQ

Common questions

Which stores are covered?
The Apple App Store, from its public reviews feed for your app and country. Several countries can be added.
What if there are no new reviews?
Nothing is posted that day.
Can I search past reviews?
Yes. All reviews are in your Pinecone index, so another automation or your AI assistant can search them by topic.
What permissions does it need?
Pinecone read+write; Slack chat:write. 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 each time it runs (daily). Checks that find nothing to do and stop right away aren't counted.
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 “Summarise new App Store reviews for your product team in Slack” from your assistant

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