Robolyst Robolyst
The whole toolkit The portal, where the team already talks

Discord

Almost every FTC team runs on Discord, and almost every tool asks them to leave it. The Robolyst bot goes the other way: the work shows up in the channel your team is already in, and what happens there is written back to the portal, so the two never disagree about who claimed a task or who is coming on Saturday.

Free for every team · run by a 501(c)(3)

In use on Robolyst

all time

Discord servers connected

17

+6 in the last 30 days

Announcements sent

42

+28 in the last 30 days

Saturday’s meeting asking the channel who is coming, and a task thread where the answer went back to the task.

team-schedule sample
Robolyst bot Today at 7:02 AM

Build meeting — Saturday

Intake handoff and driver practice. Bring the spare battery cart.

When
Sat 9:00 AM – 12:00 PM
Where
Room 114, shop door

Cedar Bots · Robolyst

Pressing one writes the attendance row the portal reads. There is no second list kept in Discord to fall out of step.

tasks · forum channel sample
Machine new intake rollers Intake In Progress
  • Robolyst bot Today at 9:12 AM

    Sally S. moved this to In Progress and set the due date to Thursday.

  • John D. Today at 4:31 PM

    Rollers are cut. Waiting on the 8mm hex, it shipped Tuesday, so Thursday is tight.

    saved as a comment on the task, under John’s name
claim 1 done react to take the task, or finish it
Also in the channel /task claim/order request/checklist run/scout 14231/next/announce

What teams say

  • this gotta be the best thing ever created, the amount of features and discord linkage is phenomenal

    FTC #27377

    ITKAN-404

  • Robolyst is quickly becoming an all-in-one home for our team. It brings team management, documentation, and metrics together in one place, making it much easier to track what we accomplish, how engaged team members are, and the impact of our outreach. The mobile experience and Discord integration are especially valuable, allowing students to participate in whatever way works best for them, either in-app or right from the Discord server they're already using. Robolyst is incredibly easy to use and the development team is remarkably responsive to questions and suggestions. Highly Recommended

    FTC #24180

    Blue Bananas

Every testimony

Point it at your own channels

Add the bot to your server once and pick which channel each kind of post goes to. There are seven, and they are separate on purpose: what the team is buying does not belong in the same channel as the build chat.

  • Tasks and checklists go to forum channels: one post per task, one per run
  • Announcements, schedule, match results and orders go to normal channels
  • A leads-only channel takes budget alerts, receipt nags and approvals still waiting
  • A surface you never point anywhere simply never posts. That is how you turn one off
  • Nothing pings by default; you choose per channel whether a post mentions a role, @here or nobody
Channel setup sample
  • Tasks forum build-tasks silent
  • Checklists forum pit silent
  • Announcements announcements @team
  • Schedule general silent
  • Orders purchasing silent
  • Leads only leads @leads
  • Match results not set, never posts silent

Seven surfaces, seven channels of your choosing. /setup reports whatever is still unmapped, and the permissions the bot is missing.

Every task becomes a thread that answers back

A task opens as a forum post. Assignments, status changes, due dates and comments mirror into it as they happen, and a reply in the thread is saved as a comment on the task, attributed to whoever typed it. Nobody copies anything across.

  • /task claim, /task assign, /task due and /task done work inside the thread, no id to paste
  • React to the post to take the task, or to mark it finished
  • Right-click any message → Make a task, and the message becomes one
  • /task mine and /task list filter by status or label, with autocomplete off your own team’s
  • The thread archives itself when the task reaches a done status, if you want it to
  • Delete a task and its thread goes too, so the channel is never a graveyard of work that no longer exists
build-chat sample
Mike T. Today at 4:02 PM

the intake rollers are chewed, someone has to machine new ones before Thursday

A Robolyst forum thread in Discord titled “Machine new intake rollers”, with claim and mark-done buttons and the task’s activity below it

The thread it opens in #build-tasks. The post carries the task's status and its buttons; underneath it, every assignment, status change and comment, from either side, in the order they happened.

Replying in the thread saves a comment on the task, attributed to whoever typed it.

Inside the thread /task claim/task assign/task due/task done

Meeting RSVPs from a button in Discord

Meetings and competitions post as a card with three buttons: coming, maybe, out. That answer is the attendance row the portal reads, not a second list kept in Discord, so the register and the channel can never disagree.

  • The day’s schedule posts itself each morning on your team’s clock
  • Meetings become native Discord events, so they sit in the server sidebar too
  • Move a meeting or cancel it and the Discord event moves or disappears with it
  • An attendance summary names who never answered, the field that actually costs you people
  • /next and /schedule week answer in public, buttons attached

Order approvals with buttons in the channel

/order request opens a form in Discord and posts the request to the channel you chose, with approve and reject buttons on it. Rejecting asks for a reason. Permission is checked before the form opens, so a student never fills one in to be told no afterwards.

  • The request, the decision and who made it land on the same ledger the finance page reads
  • Point orders at a private channel and the approvals stay with the people who make them
  • /order queue is everything still waiting; /order mine is what you asked for

Checklists that run in the pit

A checklist run posts as a forum thread with a button per item. Ticking one records who ticked it and when, against the same run the portal shows, which is what you want when the wifi is bad and the only reliable screen at a competition is a phone that is already on Discord.

  • /checklist run starts one from your templates, with autocomplete
  • Runs scheduled ahead of a match post themselves
  • /checklist status says how the open runs are going
pit · Q31 pre-match forum post
3/6
  • Robot weighed John D. · 8:41
  • Battery strapped Sally S. · 8:44
  • Driver station on field wifi John D. · 8:46
  • Auto path selected
  • Spare batteries on the cart
  • Bumpers on, red
A button per item, ticked on the phone that is already open, and recorded against the same run the portal shows.

The whole FTC archive, on a slash command

Scouting arguments happen in the chat, so the numbers answer there. These commands reply in public, where the rest of the channel can read them, and they work for anyone in the server whether or not they have a Robolyst account.

  • /scout 14231 gives a team’s season: record, metrics and awards
  • /compare 14231 9052: two teams side by side
  • /rank and /match: where you stand at the event you are at, and the match you play next
  • /bracket, /advancement and /awards for an event; /nearby for the teams around you
scouting sample
/scout number:7034 run by anyone in the server, answered in public
The Robolyst bot answering /scout in Discord with team 7034’s record, season metrics, awards and recent results

Record, season metrics, awards and the last matches played: the same numbers the site computes, with buttons through to the team page.

Every season on record, for any team in FTC
Same archive /compare/rank/match/bracket/advancement/awards/nearby

Roles that follow the roster

Map a Robolyst role or subteam to a Discord role once and membership keeps itself in step: a student joining the drive subteam gets the channel, and a graduating one stops getting it. Members link their Discord from their account page, which is also what lets the bot mention the right person when a task is theirs.

  • New joiners get a DM with the one step only they can do: linking their account
  • /setup reports what is unconfigured, including the permissions the bot is missing
  • Everything a member can do through the bot is what their Robolyst role already allows
Role sync roster → server
  • Mentors @mentors 4 members
  • Drive subteam @drive-team 6 members
  • Build subteam @build-crew 11 members
  • Everyone on the roster @cedar-bots 26 members
Robolyst bot Direct message

You have been added to Cedar Bots on Robolyst. Link your account and the bot can hand you tasks, count your RSVP and give you the right channels.

A student joining the drive subteam gets the channel; a graduating one stops getting it. What anyone can do through the bot is what their Robolyst role already allows.

Questions teams ask

We already post to Discord with a webhook. Is this different?
Yes, in the direction it runs. A webhook pushes notifications out; the bot goes both ways: replies become comments, buttons record RSVPs and approvals, and commands read and write your team’s data. Teams that only want the notifications can keep the webhook, which still works.
Can the whole server see our budget?
Only if you point the finance channels at somewhere everyone can read. Each kind of post has its own channel, and the leads-only surface exists so budget alerts and pending approvals go somewhere private. A channel you never set is a channel that never gets posted to.
What can people do without a Robolyst account?
The FTC lookups: team, event, scouting, brackets, awards. Anything touching your team asks them to link a Discord account to a Robolyst one first, and then applies the same role permissions the site does. The bot is never a way around them.
Will it fill the channel with noise?
No post mentions anyone unless you tell it to, per channel. Tasks and checklists live in forum channels, so each one gets its own thread. Any surface you don’t want can be left unmapped.
What permissions does the bot ask for?
Reading and sending messages, embedding links, creating and managing threads, managing server events so meetings appear in the sidebar, and managing roles so they follow the roster. It never asks for administrator. If a permission is missing, /setup names it.
We use Slack. Does any of this work there?
The notifications do. Point a Slack webhook at a channel and announcements, task changes and competition results post there. The two-way bot, with its buttons, threads and commands, is Discord only.
Does this replace the portal?
It replaces having to open it. The data is the same data (a task claimed in Discord is claimed on the board, an RSVP in Discord is on the attendance register), so the person who prefers the site and the person who lives in the chat are working on one thing.

Discord is one part of the portal.

The roster, the build schedule, your documentation, the money and your public site run on the same free account. Setting it up takes an afternoon.