Automation
Automatically react to events in TeamPanel and send messages to Discord or your own webhooks.
Automation
With automations, you notify your team as soon as something changes in TeamPanel — e.g. a new meeting, application, or to-do task. You can find them under Administration → Automation.
How it works
Each automation consists of:
- Trigger – When should something happen? (e.g. member joined, to-do created, backup failed)
- Conditions (optional) – Only run when certain criteria are met
- Action – Send a message via Discord webhook, Discord embed/channel, or Custom Webhook (HTTP)
Create a new automation
- Open Administration → Automation
- Click + or New automation
- Optionally choose a template (e.g. welcome message, new application, backup error, new to-do task)
- Configure trigger, conditions, and action
- Save
Permissions & limits
Management is typically a superadmin task. The number of automations and features such as custom webhooks or white-label (custom display name/avatar/color) depend on your plan.
Action types
| Type | Description |
|---|---|
| Discord Webhook | Classic webhook URL to a channel |
| Discord Embed / Channel | Message as embed; channel can be selected via the bot |
| Custom Webhook | Any http(s) URL – e.g. for your own integrations |
Common triggers
- Members: joined, left, group changed
- Meetings: created, date changed
- Announcements: created
- Applications: new, status changed, message
- To-dos: created, updated, deleted, members assigned
- Backups: successful / failed
- Media: Media uploaded
- and more events in the builder
For the full list of placeholders, see Placeholders for automations.
Media uploaded
The Media uploaded event (MEDIA_UPLOADED) fires for every upload to Media – in the dashboard and via the Media API (e.g. from your game server).
| Placeholder | Content |
|---|---|
{mediaId} | File ID |
{mediaFileName} | File name |
{mediaMimeType} | MIME type, e.g. image/jpeg |
{mediaSize} | File size |
{mediaUrl} | Public CDN link – empty for private files |
{mediaPublic} | Whether the file is public |
{mediaFolder} | Folder of the file |
{mediaTags} | Tags of the file |
{mediaViaApi} | Whether the upload came via the API |
{mediaCreatedAt} | Upload time |
The usual team and member placeholders (e.g. {teamName}, {username}) are available as well.
Use conditions to filter, e.g. mediaFolder equals evidence or mediaTags contains type:screenshot.
Example: post new screenshots to Discord
- Choose the Media uploaded trigger
- Conditions:
mediaTagscontainstype:screenshotandmediaPublicistrue - Action Discord Embed / Channel with e.g. the title
New screenshotand the text{mediaFileName} – {mediaUrl}
Private files
For private files {mediaUrl} stays empty – there is no permanent public link. Filter on
mediaPublic or link to the Media instead.
Create a webhook in Discord
- Choose a Discord channel (e.g. team chat or a dedicated info channel)
- Channel settings → Integrations → Webhooks → New Webhook
- Copy the webhook URL and paste it into TeamPanel
.192d3483.png&w=3840&q=75)
.a2d2f99a.png&w=3840&q=75)
.f559629a.png&w=3840&q=75)
Tips
- Use templates as a starting point and customize text/placeholders
- Conditions help you avoid spam (e.g. only certain groups)
- For API integrations, see also the Public API