Skip to content

Every 10 minutes

Turn support emails into Trello cards

Every new support email becomes a Trello card in the right list, and the customer gets a reply saying you received it.

Runs
Every 10 minutes
Apps
Gmail, Trello
AI
Optional
Access
gmail.modify; Trello write

Send this to your assistant

Create a ClickRuntime automation: every 10 minutes, turn new emails to support@ into Trello cards, use AI to pick the list and priority, and reply to the customer that we got their message.

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

A three-person studio handles customer questions from a shared support inbox and plans its work on a Trello board. Requests sit in Gmail until someone copies them over, and customers write again a day later asking whether anyone saw their message.

Turning each email into a card as it arrives puts support on the same board as everything else, and an immediate acknowledgement stops the follow-up emails before they start.

What you get out of it

  • Support work is visible next to other work

    Requests show up on the board the team already plans from. Nobody needs to check a separate inbox to know what customers are waiting on.

  • Customers know they were heard

    An acknowledgement goes out within minutes. That alone cuts down the number of second emails asking whether the first one arrived.

  • Cards land in the right list

    Bugs, billing questions and other requests are sorted as they arrive. The person who handles billing does not have to dig through bug reports to find their work.

  • Each email is handled once

    Processed emails are labelled in Gmail, so nothing is turned into two cards. The label also shows at a glance which emails are already on the board.

How it works

What happens, step by step

  1. Every 10 minutes, ClickRuntime checks your Gmail for new emails sent to your support address.

  2. Emails it has already handled carry a label and are skipped.

  3. AI reads each new email and picks the right Trello list. If AI is not available, simple keyword rules decide.

  4. A card is created on your board, the customer gets a short reply saying you received their message, and the email is labelled as done.

Before it runs live

  • Connect Google through your own Google app (a one-time, 10-minute setup), so it works with your own Gmail
  • Connect Trello

What you get

RunsEvery 10 minutes
Turn support emails into Trello cardstoday, 9:00Succeeded
Trello · Support boardNew card in Billing: "Charged twice for March invoice" from ops@northwind.example

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 Gmail and Trello 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.
support_emails_become_trello_cards.pyexample
import base64
from email.mime.text import MIMEText
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, http, ai, report_fetched

LISTS = {"bug": "list-id-bugs", "billing": "list-id-billing", "other": "list-id-inbox"}
LABEL_ID = "your-gmail-label-id"

@on_trigger
def run(event):
    gmail = build("gmail", "v1", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
    msgs = gmail.users().messages().list(userId="me", q="to:support@ is:unread -label:on-trello").execute().get("messages", [])
    report_fetched(len(msgs))
    if not msgs:
        return {"summary": "Nothing new"}
    auth = {"key": credentials.secret("TRELLO_KEY"), "token": credentials.secret("TRELLO_TOKEN")}
    for m in msgs:
        msg = gmail.users().messages().get(userId="me", id=m["id"], format="metadata").execute()
        h = {x["name"]: x["value"] for x in msg["payload"]["headers"]}
        try:
            kind = ai.generate(f"Label as bug, billing or other:\n{h.get('Subject')}\n{msg['snippet']}", max_output_tokens=10).text.strip().lower()
        except ai.AIError:
            kind = "billing" if "invoice" in msg["snippet"].lower() else "other"
        http.post("https://api.trello.com/1/cards", params={**auth, "idList": LISTS.get(kind, LISTS["other"]),
                  "name": h.get("Subject", "(no subject)"), "desc": f"From {h.get('From')}\n\n{msg['snippet']}"})
        reply = MIMEText("Thanks, we received your message and will get back to you soon.")
        reply["To"], reply["Subject"] = h.get("From"), "Re: " + h.get("Subject", "")
        raw = base64.urlsafe_b64encode(reply.as_bytes()).decode()
        gmail.users().messages().send(userId="me", body={"raw": raw, "threadId": msg["threadId"]}).execute()
        gmail.users().messages().modify(userId="me", id=m["id"], body={"addLabelIds": [LABEL_ID]}).execute()
    return {"summary": f"{len(msgs)} cards created"}

FAQ

Common questions

Which emails does it pick up?
Unread emails sent to your support address that do not yet have the processed label. Replies within an existing thread can be skipped so a conversation does not create several cards.
What goes on the card?
The subject becomes the card title, and the sender and the start of the message go in the description. The card is placed in the list that matches the type of request.
Can I write my own acknowledgement text?
Yes. The reply uses a short message you provide, and it is sent in the same email thread so the customer sees it next to their question.
What permissions does it need?
gmail.modify; Trello write. Nothing else in your accounts is used.
Does it need AI?
No, but you can ask for an AI step (for example a summary). It then uses ClickRuntime's built-in AI allowance.
How many runs does it use?
One run each time it checks. Checks that find nothing new 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 “Turn support emails into Trello cards” from your assistant

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