Inspiration

Most of us are worse at gifting than we'd like to be, and it isn't for lack of caring. The moments that matter a coworker's work anniversary, a teammate closing a huge deal, a friend's new baby — show up in the same Slack channels we're already in all day. Acting on them means leaving the conversation, opening a dozen tabs, guessing what someone likes, and typing a card number into yet another checkout. So the moment passes. We wanted an agent that could just take care of it, without making you leave the chat.

What it does

Gratos is a gifting agent that lives in Slack. It gets to know who matters to you and what they like, notices the occasions you'd otherwise forget, and finds a genuinely good gift whether that's a local florist or a national brand.

It works the way Slack already works:

  • It notices the moment. When a win lands in a channel or a message picks up a burst of reactions, Gratos offers to act and uses Slack's Real-Time Search to figure out who actually contributed, not just who happened to react.
  • It knows the person. It reads each recipient's saved tastes and finds something they'll actually love, quietly filtering out what they don't.
  • It prices the real thing. Through a Shopify MCP integration it opens the merchant's live checkout and reads back the true total shipping and tax included so you approve an exact price, never an estimate.
  • You approve with one tap, in Slack. Gratos buys the gift and ships it. You stay in the conversation the whole time; it handles the rest.

How we built it

The whole experience is a Slack app everything happens in a channel or a DM, through Slack's agent surface, interactive cards, and modals. We built on three Slack-native capabilities:

  • Real-Time Search (assistant.search.context) to surface gift-worthy moments and attribute them to the right people permission-aware, storing nothing.
  • MCP to price real carts from live merchant checkouts instead of guessing at shipping and tax.
  • Slack's agentic surface DMs, channel nudges, App Home, approval cards so the entire flow stays conversational.

The agent runs on Claude, and we kept the model's job deliberately narrow: it reads the situation and decides the next step, while the real state of every order lives in our own database as a state machine. That separation made the agent easier to trust, cheaper to run, and hard to send off the rails.

Payments were the part we cared most about getting right. We use per-transaction tokenized cards — the new agentic-payment credentials from Visa and Mastercard, via PayOS — so we never hold a real card number. Each purchase gets its own single-use token, created at checkout and discarded right after. Nothing is bought without your explicit approval, and we re-check the final price against what you approved before any money moves.

Challenges we ran into

Two things were genuinely new ground. First, getting Real-Time Search to actually serve our app — it's only available to internal Slack apps, so we had to restructure how the app is installed to unlock it. Second, paying as an agent: getting a card network to authorize a real purchase on someone's behalf — safely, and within the rules was the hardest and most interesting part of the build. (We priced and settled a real florist checkout end-to-end at $119.39.)

The quieter challenge was trust. Software that can spend money has to be boring and predictable about it every purchase needs a human approval, there are spending limits, and if the price doesn't match what you signed off on, it stops.

What we learned

The surprising lesson was that the shopping is the easy part. The hard parts are the payment, and getting someone comfortable enough to let an agent buy things for them. Slack turned out to be the perfect place to earn that comfort: the gift lives right next to the moment that prompted it, and every step happens in the conversation you're already in.

Where we're going

Underneath Gratos is something we call the gift graph a living map of the people in your world, what they care about, and the moments worth marking. Every gift, reaction, and occasion makes it richer, and the richer it gets, the less you have to do. Gratos moves from "help me send this" to "Priya's work anniversary is Friday and she's been into pottery lately want me to handle it?"

From there it compounds:

  • Shared across a team, the gift graph becomes institutional memory for relationships clients, reports, partners the kind of context that usually walks out the door when someone leaves.
  • It reaches beyond a single workspace to wherever those relationships live, while keeping Slack as the place you approve and stay in the loop.
  • The same rails extend from one-off thank-yous to recognition programs, client gifting at scale, and anywhere thoughtfulness is worth automating without ever losing the human "approve."

We think the winning interface for agentic gifting isn't a store you visit — it's an agent that lives where the moments already happen. For most teams, that's Slack.

Built With

Share this project:

Updates

Submission history