OPEN SOURCE. FRESH FROM GRASSROOTS.
PIZZABOT.
GIVE GOOD WORK
A SLICE.
Turn a Slack thank-you into a little team tradition. Give pizza, celebrate helpful people and choose rewards worth saving up for. Built inside our creative agency. Yours to make your own.
You supply the hosting, database, Slack app and prizes.

THE WHOLE IDEA, IN ONE MESSAGE
A little pizza.
A specific thank-you.
Mention the person, add a pizza and say what helped. That small contribution gets noticed, and your teammate earns a slice towards a reward.
Thanking two people with two pizzas gives two slices each and costs four. Each unique eligible mention receives the total pizza count in the message.
Illustrative Slack message · #pizza
Sam
@Jo 🍕 Thanks for rescuing that last-minute edit.
🍕 Jo receives one slice.
Sam uses one pizza from today's giving allowance.
WHAT IS IN THE BOX?
Recognition, rewards and
room to make it yours.
A thank-you that gets noticed
Mention a teammate and add a pizza emoji with a specific reason. One received pizza earns one slice. Start with five pizzas to give each day, then tune the allowance for your team.
Celebrate both sides of the table
Weekly, monthly and all-time standings for giving and receiving. Ties share a rank. Share a leaderboard on purpose, or let the weekly and monthly wrap-ups celebrate the team.
Your prizes. Your slice prices.
Build a reward menu with editable prices and stock. Staff can track a goal or confirm a redemption; admins arrange the prize. Spending slices preserves lifetime recognition scores.
Admin controls inside Slack
Manage rewards, allowance, size presets and report switches. Fulfil requests, refund pending ones and correct available balances with a recorded reason. Personal and admin replies stay private.
Small, medium, large. You pick the actual prizes.
These are editable starting presets. The catalogue begins empty; your admins choose and fund the rewards. Tracking a goal spends nothing. A confirmed redemption spends available slices and creates a request for manual fulfilment.
BRING IT TO YOUR TABLE
Your workspace.
Your installation.
A Slack admin or developer sets up your own app, backend and database. After that, everyday giving, reward requests and admin controls happen inside Slack.
You need Node.js 22, PostgreSQL, a public HTTPS service and a scheduled worker. No Grassroots dashboard or AI account is required. Defaults use Dubai time; changing the timezone needs a backend change.
FOLLOW THE SELF-HOSTING GUIDEFork the code
Use the MIT-licensed repository and included Dockerfiles. Your hosting and prize costs are separate.
Create your Slack app
Point the manifest template at your backend and configure your own workspace, channels and admin IDs.
Choose the menu
Set up your five-minute recovery worker, enable giving, then add prizes and adjust everyday settings in Slack.
A few questions before the first slice
What is free, and what do we pay for?
The MIT-licensed source code is free. Your team supplies its own hosting, PostgreSQL database, Slack workspace, setup, maintenance and prizes. This resource is self-hosted; Grassroots does not provide a hosted free plan or public one-click Slack installation.
Do we need the Grassroots dashboard or an AI account?
No. PizzaBot runs as an independent Next.js API service, PostgreSQL database and scheduled worker. Staff use Slack. You do not need our dashboard, Assistant or an AI API key.
Can we change the rules and rewards?
Configured admins can change the daily allowance, reward-size presets, prizes, prices, stock and report switches in Slack. Workspace/channel selection, admin membership and timezone are backend configuration. This version uses Asia/Dubai, including Friday 4 pm weekly periods; other timezones need a code change.
Want the story behind the slices? We wrote about why we built PizzaBot and how we are making recognition an everyday habit.
READ THE PIZZABOT STORY