Skip to content

On a schedule

Find sales leads on Reddit and Hacker News and track them in Asana

Posts where people ask for what you sell become Asana tasks, and you get a daily email digest of the best ones.

Runs
On a schedule
Apps
Asana, Gmail
AI
Yes, uses the built-in AI allowance
Access
Asana PAT (project write); gmail.send

Send this to your assistant

Create a ClickRuntime automation: every 4 hours, scan these subreddits and Hacker News for people asking for what I sell, create Asana tasks for good matches, and email me a daily digest.

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 founder selling a bookkeeping tool for freelancers knows that people ask for recommendations on Reddit and Hacker News every week. Replying early and helpfully brings in customers, but checking several communities by hand each day is not realistic. Most of the good threads are found days later, when the conversation is over and a competitor has already answered.

This automation scans the sources every few hours, keeps only posts where someone is looking for what you offer, adds each one to Asana and sends you a daily digest, so you can reply while the thread is still active.

What you get out of it

  • Reply while the conversation is live

    Threads are found within hours of being posted. An early, helpful reply gets read by the person asking and by everyone who finds the thread later. Arriving days late rarely wins anyone.

  • Only the relevant posts

    Each post is scored for whether the person actually needs what you sell, not just whether a keyword appears. Off-topic mentions and complaints are left out. Your time goes to real opportunities.

  • Leads are tracked like any other work

    Every good match becomes an Asana task with the link and a short note on why it fits. It can be assigned, given a due date and marked done. Nothing depends on a browser tab left open.

  • One digest instead of constant checking

    The daily email lists the day's best matches in one place. You can work through them in a single sitting. The rest of the day stays free for other work.

  • A picture of what people ask for

    Over weeks, the tasks show which problems and phrases come up most. That feeds your website wording, help pages and roadmap. Marketing is built on what customers actually say.

How it works

What happens, step by step

  1. Every 4 hours, ClickRuntime collects the newest posts from the subreddits and Hacker News searches you chose.

  2. It remembers which posts it has already seen, so each one is only checked once.

  3. AI scores each new post for how well it matches what you sell.

  4. Good matches become Asana tasks in your chosen project and are saved for the digest.

  5. Once a day, you get an email listing the best matches with their links.

Before it runs live

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

What you get

RunsOn a schedule
Find sales leads on Reddit and Hacker News and track them in Asanatoday, 9:00Succeeded
Email · Today's lead digest"Any bookkeeping app that handles invoices in two currencies?" r/freelance, task created in Asana · Leads

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 Slack
  • Combine it with other Asana and Gmail 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.
monitor_sources_for_opportunities_asana_tasks_email_digest.pyexample
from datetime import datetime, timezone
from clickruntime import on_trigger, credentials, http, state, notify, ai, report_fetched

SUBREDDITS = ["freelance", "smallbusiness"]
OFFER = "a simple bookkeeping app for freelancers"
PROJECT_ID = "your-asana-project-id"

@on_trigger
def run(event):
    seen = state.get("seen") or []
    posts = []
    for sub in SUBREDDITS:
        for p in http.get(f"https://www.reddit.com/r/{sub}/new.json?limit=25", headers={"User-Agent": "clickruntime"}).json()["data"]["children"]:
            posts.append((p["data"]["id"], p["data"]["title"], p["data"].get("selftext", "")[:800], "https://reddit.com" + p["data"]["permalink"]))
    for h in http.get("https://hn.algolia.com/api/v1/search_by_date", params={"query": "bookkeeping", "tags": "story"}).json()["hits"]:
        posts.append((h["objectID"], h["title"], "", f"https://news.ycombinator.com/item?id={h['objectID']}"))
    new = [p for p in posts if p[0] not in seen]
    report_fetched(len(new))
    if not new:
        return {"summary": "Nothing new"}
    digest = state.get("digest") or []
    for pid, title, body, url in new:
        score = ai.generate(f"I sell {OFFER}. Score 0-10 how likely this poster wants it. Reply with a number only.\n{title}\n{body}", max_output_tokens=5).text.strip()
        if score.isdigit() and int(score) >= 7:
            http.post("https://app.asana.com/api/1.0/tasks", headers={"Authorization": f"Bearer {credentials.secret('ASANA_TOKEN')}"},
                      json={"data": {"name": title[:200], "notes": url, "projects": [PROJECT_ID]}})
            digest.append(f"{title}\n{url}")
    if event.type == "schedule" and datetime.now(timezone.utc).hour < 4 and digest:
        notify.email_me("Today's lead digest", "\n\n".join(digest))
        digest = []
    state.set("digest", digest)
    state.set("seen", (seen + [p[0] for p in new])[-2000:])
    return {"summary": f"{len(new)} checked"}

FAQ

Common questions

Which sources can it watch?
Any subreddit and Hacker News out of the box, since both have public feeds. Other forums or communities with a public feed can be added in the same way.
Will it post replies for me?
No. It finds the posts and tracks them, and you write the replies yourself. A genuine reply from a person works far better in these communities than anything automatic.
How does it decide a post is a good match?
You describe what you sell and who it is for, and each new post is scored against that description. Only posts above the score you choose become tasks.
What permissions does it need?
Asana PAT (project write); gmail.send. 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 (on a schedule). 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 “Find sales leads on Reddit and Hacker News and track them in Asana” from your assistant

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