Team collaboration software blog post cover showing a shared SaaS product interface and team feedback
Building Pastel

Adding a Team Account to Your SaaS Product

Learn how to add team accounts SaaS users need for better collaboration, permissions, and account management as your product grows.
Valentin Staykov

We’ve been working on Pastel for a little over a year, and until recently, we only had an individual account. We’ve been focused on building a great core experience for our customers, and so far we think we’ve done that. But we always knew we’d need a team account, and when we started building it, we wanted the experience to be on par with the rest of the product.

If you’re like us and started building your SaaS product with only an individual account, you know how exciting adding on a team account can be. It’s something your customers have been asking for and there’s so many cool new features that you can start building for teams. And of course, there’s the increased revenue opportunities.

Why We Needed a Team Account in Our SaaS Product

Along with all of the excitement though, there came a lot of challenges we needed to solve. We also started looking into remote team collaboration tools to understand how other SaaS products solve similar problems. Some were very interesting, like how to handle sharing data between team members, the best ways to facilitate collaborations, and even simple things, like tagging people in comments and emoji support. Those are fun to work on and people notice when you roll them out. Communication features like private replies in feedback workflows quickly became essential for keeping collaboration structured.

Then there are the other, to put it nicely, less interesting problems. The ones that are kind of like special effects in movies - you only notice them if they’re really bad. I’m talking about changing your database structure and customer models to account for teams, how to handle joining and leaving a team, and many more tedious items we had to go through.

Excitement and Challenges of Building Team Collaboration Software

Your customers aren’t going to get excited about these features. But they’ll definitely notice if they don’t work or if something breaks along the way. This is especially true when you’re keeping clients in the loop during projects that involve multiple stakeholders.

The cool features you get to build are more often than not product specific. But the boring stuff, those are usually pretty universal across SaaS products. If you already have experience building SaaS for teams, this article will probably feel like old news.

But if you’re in the same boat we were until recently, you probably haven’t spent too much time thinking about the nitty gritty of building a team plan. So, here are some of the things we had to consider when transitioning Pastel from single player to multiplayer.

Technical Changes Needed for Team Collaboration Software

Updating our data model

Unless you’re that rare type of person, this stuff is not very exciting, and your customers are never even going to see this. But, it’s extremely important. Up until now, we had customers correspond one-to-one with users. With a team plan, that is no longer the case. If a user is part of a team but is not the admin account paying for the product, then they are not a customer. We also had to add a whole new Team data model and make it so that a user can be part of a team. One this was set up, we were able to get started on the interactions people would have with the team plan.


Logic for joining and leaving a team

Before building out anything else, we had to decide on some logic. There were simple things, like a person creating a team account off the bat and inviting people that are new to Pastel. But there were also lots of edge cases we had to think about. Things like:

  • What happens when a person converts from an individual account to a team account?
  • How do we handle people that have an individual account joining a team where they’re not the admin?
  • Turning down an invite to join a team
  • What happens to any data in their account, does it become visible to the whole team or just that user?
  • What happens if a user leaves or is removed from a team? Do they get converted to an individual account? Who gets to keep any data they created - the team or the individual user?

After we settled on all these items, we were ready to start implementing them.

Updating our API

Before we could start building the UI, we needed to update our API. Every team action above needed a new API method. If you’re building or scaling a SaaS product, this is exactly the kind of complexity Pastel for Teams is designed to simplify. Try Pastel for team collaboration.

As fun as that sounds, it was fairly time consuming and we needed to test it thoroughly to make sure users wouldn’t be randomly kicked of a team.

Design Considerations for Team Collaboration Software

Once we had the infrastructure for teams up and running, we needed to build a way for users to interact with all of it.

Team and Billing page

The first thing we needed was a team page in our account settings. This is the place where you can see everyone on your team as well as leave a team. The admin account needed a slightly different page from and all other accounts since they also needs to be able to invite new members and remove existing ones.

Team collaboration software settings page showing team members and billing options in a SaaS product

Another piece we had to consider was that only the admin account needed billing. Since in our data model not every user is a customer, we had to make billing accessible for all users other than the admin.

Invites

The next thing we needed was the UI for invites. This included everything from designing the emails for invites to turning down an invite. There were some straightforward things, like a new signup screen for team invites. But there were also some more interesting things to think about, like what to do when a user that already has an individual account is invited to a team. In addition to an email invite, we settled on a banner notification within the dashboard, giving the user the ability to accept or decline the invite.

Team collaboration software invite flow for adding teammates to a SaaS product account

Sharing data

The last thing we had to decide for this first version of our teams account was how data would be shared between team accounts. We settled on a model similar to a shared folder on Google Drive - everyone can see everything created by themselves and all their team members. We also added search and filter options to make this easier to navigate.

Lessons Learned from Building SaaS Team Collaboration Features

That’s what we had to consider when building out the infrastructure for the first version of our team plan. I hope anyone considering going down the same path will find this useful.

And for people that have built team plans in the past, did we miss anything?

If you’d like to see more post like this, and about startups in general, subscribe to the list below to be notified when we post new content.

Try Pastel for Teams

Access Pastel for Teams,  if you want to learn more about it or shoot us an email at hello@usepastel.com

FAQ

Why do SaaS products add team accounts and collaboration features?

Because as products grow, users need better collaboration, permissions, and account management than individual accounts allow. Team accounts turn a single-player tool into something a whole team, and eventually a whole company, can adopt.

What should you plan before adding team accounts to a SaaS product?

The big decisions covered in the post: who counts as the paying customer, how invites should work end to end, how data gets shared between team members, and what happens to a user's data and access when they join or leave a team.

How should users invite work in team collaboration software?

Think through the whole flow, not just the email. That includes designing the invite emails, a way to decline an invite, a new signup screen for invited users, and handling the trickier case of inviting someone who already has an individual account.

What happens when someone with an existing individual account is invited to a team?

In Pastel's implementation, they get an email invite plus a banner notification inside their dashboard, giving them the ability to accept or decline the invite without losing their existing account.

How should data sharing work between team members in a SaaS product?

Pastel settled on a model similar to a shared folder on Google Drive: everyone can see everything created by themselves and all their team members, with search and filter options added to keep it easy to navigate.

How do you keep shared team content from becoming overwhelming?

Add search and filter options alongside the shared model. Full visibility only works if members can quickly narrow down to what's relevant to them.

Who is the paying customer in a team account model?

That's one of the first decisions to make deliberately. Moving from individual to team accounts changes who signs up, who pays, and who administers the account, and the answer shapes billing, permissions, and the whole onboarding flow.

Should the first version of a team feature include everything?

No. The post repeatedly frames its choices as "the first version" of the teams account, deciding the essentials (payer, invites, data sharing) and shipping those, rather than trying to solve every team-management scenario upfront.

What makes team invite flows harder than they look?

The edge cases. Straightforward pieces like a signup screen hide more interesting questions, like what to do when the invited person already has an account with existing data, and those cases are where the real design work lives.

How does a team account change collaboration inside a SaaS product?

It moves collaboration from forwarding links and files between individual accounts to shared visibility by default, where the whole team can see, search, and build on each other's work in one place.

Try Pastel for free

No contracts, no credit card.
Get started now