The moment it happens
Set up a channel for each new project or client
A new project gets its own channel with the right people in it and a welcome post.
- Runs
- The moment it happens
- Apps
- Mattermost
- AI
- Not needed
- Access
- create channels, manage members
Send this to your assistant
Create a ClickRuntime automation: when I post a project name and a list of usernames to this link, create a Mattermost channel named after the project, add those people, and post a welcome message with the kickoff date.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
When a company signs a new client or starts a project, the same ritual follows. Someone creates a Mattermost channel, remembers to pick a naming convention, looks up the usernames of five colleagues, invites them one by one and writes an introduction message. If the person who normally does this is on holiday, the channel appears two days late, and early questions end up in direct messages that new joiners cannot see.
When your system signals a new project or client, for example when a deal closes or a project is created, ClickRuntime receives the event and creates the Mattermost channel, adds each listed member by username and posts a welcome message. It runs the moment the event arrives.
It is useful for agencies, consultancies and internal teams that start many projects over a year.
What you get out of it
The channel exists on day one
Project communication starts the moment a deal is won or a project is approved. A ready channel with the right people avoids a week of scattered email and direct messages.
Consistent names make channels findable
Because the channel is created from a pattern, every client channel is named in the same way. Searching for it months later is easy, which saves time across the whole company.
Nobody is forgotten
Adding members from a defined list means the designer or account manager does not discover on day four that they were never invited. Everyone who needs context gets it from the first message.
A welcome message sets expectations
The first post can explain the purpose, point to key documents and name the lead. New members read it on joining, which cuts down on the same three questions being asked again.
Admin time goes back to real work
Whoever owned the manual setup no longer spends ten minutes per project. Across thirty projects a year, that becomes hours spent on work that is not channel administration. That time compounds across every project.
How it works
What happens, step by step
When a new project or client is sent to your ClickRuntime link, with its name and the people who should be involved, the automation runs straight away.
It creates a Mattermost channel named after the project.
It adds each listed person to the channel.
It posts a welcome message in the channel with the kickoff date.
Before it runs live
- Connect Mattermost
- 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 Mattermost steps into one automation
Under the hood
The code that runs this automation
import re
from clickruntime import on_event, credentials, http
BASE = "https://chat.acme.com/api/v4"
TEAM_ID = "teamid123"
@on_event
def handle(event):
body = event.json
h = {"Authorization": f"Bearer {credentials.secret('MATTERMOST_TOKEN')}"}
name = re.sub(r"[^a-z0-9-]+", "-", body["project"].lower()).strip("-")
channel = http.post(f"{BASE}/channels", headers=h, json={
"team_id": TEAM_ID, "name": name, "display_name": body["project"], "type": "O"}).json()
users = http.post(f"{BASE}/users/usernames", json=body["usernames"], headers=h).json()
for u in users:
http.post(f"{BASE}/channels/{channel['id']}/members", json={"user_id": u["id"]}, headers=h).raise_for_status()
http.post(f"{BASE}/posts", headers=h, json={"channel_id": channel["id"],
"message": f"Welcome to {body['project']}! Kickoff is on {body.get('kickoff', 'TBD')}."})
return {"channel": name, "members": len(users)}FAQ
Common questions
How does it know who to add?
What if a channel with that name already exists?
Can it create private channels for sensitive clients?
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
Post new orders and leads to a Mattermost channel
Events from your shop, forms or CRM appear as tidy posts in the channel your team watches.
See how it worksAdd a slash command that runs your automation
Typing a command in Mattermost does the job and posts the result in the channel for everyone.
See how it worksSuggest friendlier words when someone writes 'hey guys'
A gentle reply in the thread offers an alternative, without anyone having to say it themselves.
See how it worksKeep exploring
Set up “Set up a channel for each new project or client” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.