BREX SLACK INTEGRATION · 2024

A Slack app
in three weeks

Role

Unified two engineering teams around one brief

Highlight

~40% click-through on task notifications

Timeline

3 weeks, design concurrent with engineering

01 Problem

Two teams, no designer, and competing visions for the same Slack app

The AI team wanted conversational task completion — employees could chat naturally to resolve expenses. The Task Management team wanted a notification-driven dashboard that eliminated the need to log into Brex at all. Both had prototyped overlapping experiences with no reconciliation plan, and we had three weeks to ship for major enterprise launches.

The problem wasn't choosing between their visions. It was figuring out that both were right, and that the real brief was finding how they fit together.

02 Strategy

Filling in the brief

I started by mapping every piece of required functionality across both prototypes to understand the full surface. What emerged was that the two visions were addressing different moments in the same workflow. I just needed to consolidate.

To move faster and get both teams aligned, I formed four design principles that would guide every decision:

Native Slack

Users should be able to complete tasks however they naturally used Slack (e.g. responding to notifications, or chatting with an agent). No single entry point.

Stay on task(s)

I pushed back on incorporating more of Brex's features into the app. Keeping scope focused on tasks emphasized quick resolution for policy compliance.

Content before UI

I created copy templates so it was clear when messages required action. This matched the language in Brex. Without our components, copy was doing the branding.

Infuse AI

The AI team had been working in a silo. Rather than keep it separate, we wove smaller touches into every workflow. Suggested expense memos were the first example.

Notes from my Figma file

Some notes I shared with each team for alignment.

The principles made the three-week timeline feel more achievable. With a clear frame for every decision, I could move quickly in Figma and stress-test each workflow against its Brex equivalent — and by the time Slack shipped, MS Teams workflows were also designed and ready.

Figma designs for Slack and MS teams

An example of how I mocked workflows across platforms.

03 Execution

Building in Slack, not around it

Slack's component constraints turned out to be an asset. With limited UI options, there was no temptation to recreate Brex inside Slack, and the platform forced a conversation-native approach from the start.

Rather than designing in Figma and handing off, I worked directly with engineers in Slack's block builder to prototype in real time. This changed the dynamic entirely. We could see immediately what worked inside an actual Slack interface, what the components could and couldn't do, and where we needed to make tradeoffs. It was faster than traditional design iterations and kept the team aligned on what was actually buildable — critical when every day of the three weeks counted.

The constraints also pushed better decisions. When the block builder couldn't support something we'd planned, we had to find a Slack-native solution rather than forcing a Brex pattern somewhere it didn't belong. Most of the time, the Slack-native solution was better.

Prototyping in Slack's block builder
04 Delivery

Three workflows, no redundancy

The shipped experience gave users three complementary paths to complete tasks, each designed around a different way people naturally used Slack:

1

Direct messages

Notifications from Brex arrived with immediate action buttons. Users could add a memo or receipt directly in a modal.

AI was integrated to suggest memos to speed up the process even further.

Slack direct message with action buttons

2

App home tab

A dashboard showing all outstanding tasks, mirroring the Brex Tasks IA. By keeping the scope focused on tasks rather than expanding into a broader Brex dashboard, the tab stayed fast and purposeful — making it more likely something employees would actually engage with.

Slack app home tab showing task dashboard

3

AI assistant

Users could chat with the Brex app to manage expenses and ask questions. Letting users naturally type in Slack was the clearest way to eliminate any education on expense management.

Slack AI assistant conversation

The three-week timeline delivered. Customers like DoorDash, Roblox, and SeatGeek — whose employees already lived in Slack — could adopt without friction. The app felt native because we'd let Slack be Slack.

05 Impact

Incremental releases and incremental learning

6 months after shipping...

~3000 companies have enabled Brex's Slack app
37% click-through rates on budget and approval requests — users resolved tasks in Slack rather than ignoring notifications

Enterprise deals unlocked

for customers like DoorDash, Roblox, and SeatGeek

Positive NPS responses cited the Slack integration directly — "makes it very easy to add receipts" and "the dashboard actions on the website work great". Adding expense documentation and viewing expense details became the two most common actions across both messaging and home tab.

06 Learnings

Constraints unlock clarity

Slack's limited components forced a conversation-native approach that a blank canvas never would have. The temptation with integrations is always to recreate the full product experience, but the better instinct is to ask what the platform does well and design toward that instead.

The bigger lesson was about compounding work. Recognizing that the Tasks IA I'd just shipped could be directly applied to the home tab changed the timeline from impossible to achievable. Consistency across surfaces isn't just a design principle, it's a practical accelerant. The best design decision on this project was recognising what I'd already solved.