In November, we hosted our Fall Release Event, which you can watch in its entirety embedded below or here.
We were blown away by the number of customers who joined us, including those who dialed in from overseas (Hi, TheyDo Team!) It’s so rewarding to see how our community of users has expanded in just three short months since our last event, and we’re excited to continue this quarterly tradition.
Here’s a short summary of what we covered (read on for more details!):
Cloud apps are everywhere, but many cloud apps are not enterprise-ready. As companies move upmarket faster (even a 100-person company can have “enterprise requirements”), features like SSO, directory sync, audit trail, and access control are becoming more important to integrate into cloud apps earlier on in their lifecycle.
IT systems are highly fragmented, and as a result these enterprise features are very complex to build, with numerous edge cases and non-standard integrations. There are large risks if companies execute these integrations poorly, including, but not limited to: big deals being lost, customers churning, loss of market share to an enterprise-ready competitor (like Dropbox and Box) and/or loss of trust. As important as these features are, however, enterprise-focused features are not what engineers want to build; they’re usually not part of a cloud app’s core product and take up valuable engineering time.
A year ago, our founder, Michael Grinich, gave a talk describing this process of becoming enterprise-ready as “Crossing the Enterprise Chasm.” Since then, we’ve launched products that do this for you. At WorkOS, we provide APIs that abstract the complexity of building enterprise-ready features like SSO, directory sync, audit trail, and access control so you can focus on your unique product features and move upmarket faster.
You can think of WorkOS like what Plaid or Stripe did in the payments space, but for enterprise features.
Setting up SSO is historically complex and buggy. Since there are so many fragmented SAML implementations, configuring through x509 certificates can present encoding issues, non-standard metadata files, and formatting concerns with different type of IdP URIs. XML canonicalization is a big problem to solve and is even more complex with Microsoft ADFS and OpenID Connect.
We built the Admin Portal to remove this pain point for customers. We realized it wasn’t enough to just build an API, we needed to create a UI “wizard” that makes it fast and simple for developers to integrate with your app. We provide inline documentation for enterprise IT admins (including generic SAML). We handle all the edge-cases and error states, complete with constant integration testing to fix them. Essentially, you’ll be providing “fail-proof ergonomics” for the IT admin. By sending the IT admin through our wizard, you’ll know SAML setup will happen correctly. All without looping in a sales engineer!
Admin Portal is an extension of your app. With just one button (e.g. “configure SSO”), you can add the Admin Portal into your setting pages. We leave it to you to decide how the Admin Portal best fits into your app. The only requirement is that you have a button/link that requests a URL that will initiate an Admin Portal session from our API. Then, redirect to that URL.
SSO setup in under 2 min. Yes, it’s really that quick! Once in the Admin Portal, you’ll see a grid of IdP providers. The Admin Portal has the latest screenshots and best-of-class documentation for each of these providers that are tailor made for it, including easy to copy fields. If you don’t see the exact one you need, we also support Generic SAML and OIDC, which will allow setup to a wide variety of identity providers. We’re always adding more here, so you’ll automatically gain support with no additional work required from you.
IT admins manage connections after created. Not only do we provide the setup flow, but we also provide the ability to test your connections after they are created and authenticate properly, confirming everything is set up properly. Creating connections is just the start. We’re building tools for IT admins to manage their own connections. You can monitor recent activity of the connections and find any authorization attempts that ran into issues. Once you find failed activity, we offer the ability to inspect the full request and response to detect any issues. For common error cases, we offer guides that point to the exact issue that help shepherd IT admins to resolve issues on their own. This saves you time debugging the issue with them and instead lets you focus on the issues that are important to you.
Now that you have users signing-in through SSO, admins want to automatically provision and de-provision users based on their own directory system. When you’re provisioning a large team, Just-in-time provisioning is not secure. Home-grown invite flows can be buggy and slow down product growth and activation.
We built WorkOS Directory Sync to connect your app to an external list of users and keep those in sync. When you onboard your enterprise customer, you’ll receive API endpoints for both users and groups. After the initial onboarding, we provide webhooks for changes: users and groups added and deleted as well as changes in group membership. We support a range of different providers: SCIM 1.1, SCIM 2.0, Okta, Azure AD, G Suite and more. Just like SSO, when you integrate with WorkOS once, you’ll be able to easily set up connections to a range of different providers.
In our summer release, we launched support for Workday and BambooHR. Recent additions include Rippling and Gusto and PeopleSoft is on the way.
IT admins LOVE this feature because it relieves them of the need to provision single users one-at-a-time for software vendors. Importantly, de-provisioning is required for compliance. If your pricing is per-seat, Directory Sync increases the adoption curve of your app because you can immediately start charging for each user provisioned. Directory Sync literally pays for itself.
For a full demo of how smooth the Admin Portal makes the enterprise onboarding experience, here’s a video from our Summer Release Event focusing on the Admin Portal: WorkOS Summer Release 2020: Directory Sync
As a developer-obsessed company, documentation is a core product at WorkOS, because it’s the first place developers come for their integrations. Not only do we think about documentation in terms of “developer ergonomics,” but we also use our documentation processes internally to make sound design decisions for our products. We’ve all had the experience of going to the documentation of a new-to-us product and having a dozen tabs open to integrate a single feature. We wanted our new documentation to provide a holistic guide to our features and to make every step of the process easy as possible so that developers can go from nothing to production quickly and “joyfully.”
Our design process: Our documentation site has always had a clean design, and we wanted to bring this sensibility to our redesign, which needs to reflect the growing complexity of our documentation and incorporate what we’ve been learning from our customers. Our north star for this initiative was that documentation design begins with content, which is core to developer experience. Our metric of success for every part of our documentation is threefold: Have we written what the developer needed to enable their success? Was the information easy-to-find and refer to? Was the developer able to use the docs to meet their objectives - that is, is the information well-written, easy-to-follow, and thorough?
Building a content framework: With these priorities in mind, the entire team undertook a documentation audit. We streamlined content and aimed for consistency across the new site. Through this audit we developed a new organizational model for new and existing content, which we ordered in rising levels of abstraction. From the bottom up:
For the next phase of writing, we decided to focus on the foundations: API Reference and Feature Documentation.
Writing as focus on the core foundations: We view writing as a decision-making process about features as much as it is an explanation of these features. For our new API Reference documentation, we spent a great deal of time creating new content. Every endpoint, query, object, parameter, and status code is documented, and we included code samples in every language we support. In our new Feature Documentation guides, we provide high-level context and technical overviews, we include environment variables and the values you need to set, and we include SDK-specific endpoints in every supported language that you can copy-paste directly into your app. We also include edge cases to handle and use cases our API supports and what you need to do to release to production smoothly. Finally, we created a custom build for our new documentation site and improved the “ergonomics” of the site by including an enhanced search function and a developer feedback channel that pipes directly into a dedicated Slack channel.
Next: We are focusing on providing more of the “higher level” of content, tutorials / guides and enterprise-ready content, as well as adding a CMS integration to streamline our updates.
Documentation is only one way we engineer developer joy at WorkOS. Our entire support organization is dedicated to improving upon the traditional playbook for sales and customer support. Traditional sales approaches optimize for the buyer, who may not be the developer end-users on the team, and traditional support organizations provide email-based support - which can be very slow - and tend to be siloed, which further slows down support, as members of the team may not have a full-breadth technical knowledge of the product.
Optimizing for Developer Joy. At WorkOS we optimize for developer joy, which is reflected in the structure of our team. All of our Developer Success Engineers (DSEs) are software engineers who work hand-and-hand with our engineering org in enhancing our products and documentation. We’ve also moved our customer communications to Slack and Zoom: our customers have dedicated Slack channels where they can reach our DSEs, have instant API access - to try before you buy - and can schedule live integrations with us over Zoom. We currently maintain over a hundred Slack channels for customers, and our p-50 response time is 2 minutes and our p-90 response is under fifteen minutes. We’re pretty fast!
All about the Slack-bots. How have we achieved these wins without greatly growing our headcount? We build tools! Some examples of how we use Slack-bots include: our custom response reminders, message broadcasts that allow us to share news about new product launches, combined streams of all customer channels to make sure every message is seen, error alerting, and our weekly review of our success metrics tracking total developer engagement, messages answered, and response times. We have devoted resources to internal tooling and enablement to help us continue to scale our high-touch customer support.
Next. We’re building out more in CRM integrations and customer analytics for the team and even more internal tooling, which will allow us to continue to provide a magical developer experience.
We concluded our release event with a chat between our CEO Michael Grinich and Webflow CTO Bryant Chou. This wide-ranging conversation focused on Webflow’s experience in envisioning and building for their ideal end-user, Bryant’s experience as CTO building out a Go-To-Market team, Webflow’s experience with their own WorkOS integration and the transition to taking enterprise customers while still thinking about how they’re still serving the “ideal end-user” with an enterprise deal.
In our Fall Release event, we announced support for new providers and launched our Admin Console UI wizard, our new documentation, and reviewed news for Directory Sync. We realize that your users and IT managers want different things and your passion probably isn’t building SAML auth connectors. (If that is your passion — we are hiring!) With WorkOS, you don’t have to compromise the needs of your users in order to have enterprise ready features.
Our aim is to provide the building blocks for enterprise-ready applications, so you can unlock enterprise deals faster, focus on unique product features, and save you hundreds of hours of developing time. We help you check all of the boxes, out of the box.