The moment it happens
Post new Basecamp to-dos to Slack
As soon as a to-do lands on your chosen list, the channel sees its title, assignee and link.
- Runs
- The moment it happens
- Apps
- Basecamp
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: whenever a to-do is added to the 'Launch' list in my Website Redesign Basecamp project, post its title, assignee and link to #launch in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Teams that live in Slack and manage work in Basecamp face a gap between the two. A client adds a to-do to the shared project, a colleague assigns a task, a designer creates a checklist, but nobody sees it until they open Basecamp. The person who needed to act first learns about it hours later, and the team ends up asking in Slack whether anyone has seen the new request.
When a to-do is created in your Basecamp project, Basecamp sends a webhook to ClickRuntime. ClickRuntime checks that it belongs to the list you care about and posts its title, assignee and a link to Slack, so the team hears about it in the place where they already talk.
It works well for teams that treat Slack as their main workspace and Basecamp as the source of truth. It can also be used by agencies to watch client-created tasks.
What you get out of it
Requests are seen where people already are
Teams check Slack many times a day, and Basecamp far less often. A message in the channel gets noticed within minutes, which is what clients expect from a responsive team.
Assignees learn immediately
A message naming the assignee prompts them to look at the task. They do not need to rely on Basecamp's email notifications, which are easy to overlook. They need not rely on easily overlooked notification emails.
Client additions are not delayed
If a client adds a to-do to the shared project, the team sees it right away. Their request is acknowledged within the hour, not the following day. Their request is acknowledged within the hour, not the next day.
Specific lists can be followed
The flow can post only for the list you choose, such as Bugs or Client requests. Other lists stay quiet, so the channel contains only work that needs attention. The channel stays about work that needs attention.
Discussion happens next to the alert
Replies in the Slack thread let the team clarify details quickly. The Basecamp to-do remains the record, and Slack is where the quick questions get answered. Questions get answered fast, and Basecamp keeps the record.
How it works
What happens, step by step
When someone adds a to-do in your Basecamp project, Basecamp tells ClickRuntime straight away.
It checks the to-do is on one of the lists you chose.
It posts the to-do to your Slack channel with its title, who it is assigned to and a link.
Before it runs live
- Connect Basecamp
- Paste your automation's link into the other app's webhook settings
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
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Basecamp steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, notify, http, credentials
LIST_NAME = "Launch"
@on_event
def handle(event):
body = event.json or {}
todo = body.get("recording", {})
if body.get("kind") != "todo_created" or todo.get("parent", {}).get("title") != LIST_NAME:
return {"posted": False}
headers = {"Authorization": "Bearer " + credentials.connection("basecamp", "main"), "User-Agent": "ClickRuntime (team@example.com)"}
full = http.get(todo["url"], headers=headers).json()
assignees = ", ".join(a["name"] for a in full.get("assignees", [])) or "unassigned"
notify.slack(f"New to-do: {full['title']} ({assignees})\n{full['app_url']}", channel="#launch")
return {"posted": True}FAQ
Common questions
How do I connect Basecamp to ClickRuntime?
Can it post for more than one to-do list?
Does it also report edits and completions?
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
Get an email when a to-do is completed
When someone ticks off a to-do, you hear who finished it, with a link back to it.
See how it worksGet one evening email of new to-dos
Instead of separate notices, you get one email each evening with every to-do added that day.
See how it worksGet a weekday email of overdue to-dos
Every weekday morning you see the open to-dos that are past due, with who they belong to.
See how it worksKeep exploring
Set up “Post new Basecamp to-dos to Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.