Every 10 minutes
Turn support emails into Trello cards and flag urgent ones in Slack
Each new support email becomes a Trello card labelled by priority, and urgent ones are posted to #support straight away.
- Runs
- Every 10 minutes
- Apps
- Slack, Trello
- AI
- Yes, uses the built-in AI allowance
- Access
- Gmail read; Trello write; Slack chat:write
Send this to your assistant
Create a ClickRuntime automation: every 10 minutes, turn new support emails into Trello cards labelled by priority, and post the urgent ones in #support.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A three-person support team at an online shop shares one support inbox and tracks requests on a Trello board. Someone has to read each email, decide how urgent it is and create a card. When a customer writes that a payment went through twice, that email can sit behind twenty "where is my order" messages for hours.
This automation turns each support email into a card with a priority label and posts urgent ones to Slack, so the team sees the serious problems first.
What you get out of it
Urgent problems surface in minutes
Double charges, broken checkouts and escalations go to #support as soon as they arrive. Someone can pick them up right away. Customers with real problems wait less.
Every email gets a card
No request is forgotten in a shared inbox where everyone assumes someone else replied. The board shows exactly what is open. Handovers between shifts are simple.
The board is sorted by priority
Each card arrives with a priority label, so the team works from the top. Routine questions can be batched for later. The day is planned around what matters.
Less time triaging
Reading and sorting every email by hand eats into time for actually replying. Triage is done before anyone opens the inbox. The team spends its time on answers.
A history of support requests
Cards stay on the board after they are closed, with their labels. You can see which kinds of problems come up most often. That points to fixes in the shop or the help pages.
How it works
What happens, step by step
Every 10 minutes, ClickRuntime checks your support inbox for new emails.
It remembers which emails it has handled, so each one becomes only one card.
AI reads each email and decides how urgent it is.
A Trello card is created in your chosen list with a matching priority label.
Urgent emails are also posted to your #support Slack channel.
Before it runs live
- Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)
- Connect Trello
What you get
Build your own
Need it to work differently?
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 Google Sheets
- Combine it with other Slack and Trello steps into one automation
Under the hood
The code that runs this automation
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, http, state, notify, ai, report_fetched
LIST_ID = "your-trello-list-id"
LABELS = {"urgent": "urgent-label-id", "normal": "normal-label-id", "low": "low-label-id"}
@on_trigger
def run(event):
gmail = build("gmail", "v1", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
seen = state.get("seen") or []
found = gmail.users().messages().list(userId="me", q="to:support newer_than:1d").execute().get("messages", [])
ids = [m["id"] for m in found if m["id"] not in seen]
report_fetched(len(ids))
if not ids:
return {"summary": "Nothing new"}
auth = {"key": credentials.secret("TRELLO_KEY"), "token": credentials.secret("TRELLO_TOKEN")}
for mid in ids:
m = gmail.users().messages().get(userId="me", id=mid, format="metadata", metadataHeaders=["From", "Subject"]).execute()
h = {x["name"]: x["value"] for x in m["payload"]["headers"]}
try:
p = ai.generate(f"Support email: {h.get('Subject')}\n{m['snippet']}\nAnswer one word: urgent, normal or low.", max_output_tokens=5).text.strip().lower()
except ai.AIError:
p = "normal"
p = p if p in LABELS else "normal"
http.post("https://api.trello.com/1/cards", params={**auth, "idList": LIST_ID, "name": h.get("Subject", "(no subject)"),
"desc": f"From {h.get('From')}\n\n{m['snippet']}", "idLabels": LABELS[p]})
if p == "urgent":
notify.slack(f"Urgent support email from {h.get('From')}: {h.get('Subject')}", channel="#support")
seen.append(mid)
state.set("seen", seen[-500:])
return {"summary": f"{len(ids)} cards created"}FAQ
Common questions
What counts as urgent?
Which list do the cards go into?
Is the full email copied into the card?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Turn complaints into Trello cards and share praise in Slack
Every form response is read for tone: complaints become Trello cards to act on, and praise is shared with the team in Slack.
See how it worksStart client onboarding in Trello when a contract is signed
When a contract is signed, the client gets a Trello onboarding card with a checklist and the team hears about it in Slack.
See how it worksPost a daily Trello deadline digest to Slack
Each weekday morning your team sees what is overdue, what is due today and what moved yesterday, without opening the board.
See how it worksKeep exploring
Set up “Turn support emails into Trello cards and flag urgent ones in Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.