↑↓ navigate ↵ open Esc close
Back to the blog
Guides 7 min read By Torneyo

How to organize pickup soccer on WhatsApp without a spreadsheet: the bot that counts who's coming

Phone at the edge of a floodlit court with the words: the bot that counts who's coming to the game

Every pickup game has a WhatsApp group. And every week the same scene plays out: the game owner posts “who’s in?”, the list gets copied and pasted fifteen times, someone accidentally deletes someone else’s name, and on game day nine people show up instead of fourteen.

Torneyo fixes this without pulling anyone out of the group. You add Torneyo’s number as one more member, link the group to your class with a code, and from then on a bot handles the boring part: it posts the game invitation, counts who replied /vou, nudges whoever stayed silent and manages the waiting list.

This guide walks through the pickup-game routine with the bot in the group, command by command. Everything here already exists and is working today. If you’d rather watch than read, the video below shows the full flow in two and a half minutes.

The problem isn’t WhatsApp, it’s the list

The group is great for talking. It’s terrible for keeping a list. Every new message pushes the list up, every edit creates another copy, and nobody knows which version counts. The organizer ends up as the game’s “database”, answering “is there a spot?”, “what time?”, “who’s confirmed?” in private chats.

The idea behind the bot is simple: the conversation stays in the group, but the list lives in Torneyo. What people type in the group becomes a real confirmation, with a timestamp, a position in line and a history. The organizer just follows along.

Step 1: put Torneyo in the group

  1. Create your class at app.torneyo.com (the first class is free, with up to 25 participants). Choose the Pickup game type and enter the days and time.
  2. The First steps assistant asks whether the crew already has a group. If so, it shows you Torneyo’s number to add to the group and generates a link code in the format PELADA-7K4Q2M.
  3. In the group, send the command with the code:
/vincular PELADA-7K4Q2M

The bot replies right away (“Group linked to team Thursday Pickup!”) and the Torneyo screen moves on by itself. The code is valid for 30 minutes and works only once, so nobody from outside can hook your group up to another class.

In the next stage, Torneyo reads the group’s member list and offers to register everyone at once, with editable names and masked phone numbers. Anyone who joins the group later can request their own registration with /cadastro First Last, and you approve it from the dashboard.

Tip The bot recognizes each person by the phone number on their registration, never by the name they type. That’s what keeps anyone from confirming “on behalf of” someone else.

Step 2: the invitation goes out on its own

With the class’s days and times set, the sessions for the coming weeks are created automatically. A few hours before each game (you pick how many), the bot posts the invitation in the group with the date, time, venue and the reply deadline.

From there, people answer with commands. Any letter case, with / or !, and even with the mention @Torneyo /vou in front.

CommandWhat happens
/vouConfirms attendance for the next game. The bot replies: ”✅ Marcos, attendance confirmed: Thursday at 20:00. Use /list to see who is coming.”
/vou goleiroConfirms in a goalkeeper spot (if the class reserves goalkeeper spots).
/naovouSays you’re not coming. Also accepts /nao vou and /nao.
/listaShows the confirmed players numbered with the time of each confirmation, the goalkeepers, who’s on the waiting list, how many haven’t answered and how many aren’t coming.
/proximaDate, time, venue, confirmation deadline and the session link.
/meusYour status in each event of the day (handy when there’s a game and a barbecue).
/ajudaLists all the commands.

Anyone not registered yet isn’t left hanging: the bot replies with the public session link, where the person picks their own name and answers “in” or “out” without creating an account.

Step 3: the reminder does the chasing, not you

Close to the deadline, Torneyo sends two reminders without you typing a thing:

  • 24 hours before, to whoever hasn’t answered yet;
  • 2 hours before, to whoever confirmed, as a “it’s almost time”.

If the game is rescheduled or cancelled from the dashboard, the notice goes to the group and to everyone who had already confirmed. On game day, the bot can also post the invitation to vote for the MVP and, if you want, a daily report for the manager.

Step 4: spots and waiting list, no arguments

Under Sessions you set the number of spots (say, 14) and, optionally, goalkeeper spots. From then on:

  • Whoever sends /vou when the game is full joins the waiting list and gets their position: ”⏳ Paulo, the game is full: you joined the waiting list (position 2). If a spot opens you move up on your own and I will let you know.”
  • When someone sends /naovou, the first in line moves up automatically and the group sees it: “⬆️ Marcos S. dropped out at 13:12 → Paulo R. moved up from the waiting list.”
  • The line order can honor monthly members before drop-in players, with a priority window (for example, up to 6 hours before the game only monthly members get in).
  • Whoever is already in is never bumped by someone who arrives later.

/lista shows all of it: ”✅ Confirmed (14/14)”, ”🧤 Goalkeepers (2/2)”, ”⏳ Waiting list (3)” and ”🔒 Game is full. Anyone who confirms joins the waiting list.”

Note The list is kept with a history: who confirmed at what time, who dropped out, who moved up from the waiting list. No more “I confirmed before he did”.

Step 5: close the list at game time

Ten minutes before kickoff, the organizer sends /fechar. Nobody else gets in or out through the group or the link, and /proxima starts showing “confirmations closed”. Need to reopen? /abrir. From there it’s one step to the team draw, which we cover in Team draw, score and MVP right in the WhatsApp group.

What if the day has a game and a barbecue?

Torneyo supports an extra event on the same day, with a nickname: the organizer creates “Barbecue” on the dashboard or sends /novo churrasco sábado 14h in the group. People confirm with /vou churrasco, /vou jogo or /vou tudo. Whoever sends just /vou gets a numbered menu to choose from. /lista churrasco shows who’s coming to the barbecue, and the cost split already suggests exactly who confirmed.

What the bot doesn’t do (on purpose)

  • It never posts phone numbers or money in the group. Whoever owes gets the notice privately; at most a first name goes to the group.
  • It doesn’t read conversations unless the organizer turns that option on, and even then it warns the group first and keeps the text for 30 days at most.
  • It doesn’t confirm by name. If the phone number isn’t on file, the person is pointed to the link.
  • It doesn’t depend on the group to work. If WhatsApp goes down or the group is unlinked, the class keeps going through the attendance link.

Start today

Creating the class takes a minute, and the four-stage assistant does the rest: connect the group, register everyone and hand you the command cheat sheet to paste in the group.

Share this post

Ready to stop making mistakes?

Start free and professionalize your championship today.

Start Free