HR Integrations for Employee Data

Expediting employee data maintenance via HR integrations.

List of stakeholder data updates coming from an integrated HR system. The changes are staged here and can be confirmed to make the changes effective.

List of pending employee terminations coming from an integrated HR system. Clicking "Terminate" will take the user to a workflow where they can confirm the termination of that individual's employment.

Overview

Carta is a B2B SaaS company that helps companies and investors manage their cap tables, valuations, investments, and equity plans.

Project length
~9 months (Mar 2019 to Nov 2019)
Role
Product designer
Responsibilities
Sketching
Wireframing
High-fidelity prototypes
User flows
User interviews
Usability testing
Team
Enterprise team (Integrations)
Product designer (me)
4-5 Engineers
Product manager
Other collaborators
Design technology team
User researcher
Tools
Figma, Lucidchart, Google Sheets
Project type
New feature
Platform
Web

The Enterprise Team was formed to improve the experience for company administrators of enterprise companies. Shortly after, we started this project.

Company administrators are often responsible for maintaining personal employee data (e.g. emails, addresses, and ID numbers) for large companies across multiple systems, including Carta.

We created Employee Data HR Integrations to improve this process for them.

With this new feature, customers can integrate their company's HR system with Carta to keep their employee data in sync. This functionality minimizes the repetitive work involved in maintaining employee data and eliminates input errors on Carta.

Problem

Updating employee personal data as a company administrator is cumbersome, error-prone, and doesn’t scale.

These updates, including changes in employment status or personal address, are typically first made in the company’s HR system of choice.

The same updates must then be made on Carta to keep both systems current. The problem of maintaining these systems worsens for our Enterprise customers, who have hundreds or thousands of employees.

This process creates additional, unnecessary work for company admins and we sought to make this process easier.

Process

Before I jumped into design tools, I sought to gain as much context as possible surrounding the problem and project.

I worked closely with my product manager and engineers from the beginning of the project to ensure I understood the problem, requirements, and constraints and eventually moved on to creating low-fidelity designs to explore initial ideas. I refined them as our requirements evolved during some exploratory work from the engineers.

We explored a few different options to address the problem:

1. Spreadsheet template. With this solution, users would download a structured spreadsheet, fill in their employees data, and reupload it. Carta would then read the spreadsheet and update their data accordingly. Although quick and easy to build, this still required a lot of effort on the user's part and didn't significantly improve the data update experience.

2. SFTP Integration. This was a way for us to securely connect to our customers' HR providers. Once connected, a file containing employee updates would be sent to Carta once a day. As I mapped out the workflow, it became clear the process was laborious for both Carta and the customer, so we explored other options for our v1.

3. API Integration. This was the last option we explored and ultimately the solution we built. We found that it was both simple to set up and we could support a sizable percentage of our customers by building for a few specific HR providers.

Solution

Data integrations between Carta and commonly used HR systems to reduce manual work in updating employee personal data.

With our solution, company administrators can now:
  • Set up a data integration, allowing Carta to detect changes in HR systems.
  • View employee data changes from HR systems through the Carta app.
  • Sync Carta employee data to match HR systems.
  • Trigger data syncing with HR systems to stage the latest updates in-app.

First steps of the integrations set up workflow. The user inputs credentials from their HR provider to establish a connection with Carta.

Key Insights and Design Decisions

After getting early design feedback from various teammates, including designers outside of my team, I created a high-fidelity interactive prototype to test with prospective customers. Through both user interviews and usability testing, I gained key insights that informed my design decisions.

Insight: Our users lack trust in Carta: Some of our users said they wouldn’t trust Carta to update their employee data accurately, even via an integration.

Design Decision: Build trust through transparency. I sought to build trust with our users by designing a page that explicitly displays and highlights staged changes, instead of the solution being an automated, background process.

This page gives users the chance to review updates before manually confirming the updates themselves and gives them confidence that the integration is pulling the correct changes.

I chose to visually highlight incoming data changes to make it easy for the user to visually distinguish changes from existing data.

Insight: Employee ID is an expected part of employee records Pairing employee IDs with employee names makes it easy for users to identify specific employee records across systems. Employee IDs are unique numerical identifiers associated with people in HR systems. Users expect to see an employee ID whenever they're dealing with employee data.

Design Decision: Display Employee ID in the UI alongside employee names. This matches user expectations for employee records and makes finding specific individual records easier.

Insight: Bulk actions are high value. Manually inputting and updating data is a time-consuming task due to the volume of employee data changes company administrators often deal with. They emphasized that data maintenance was important, but low-priority compared to their other tasks. They want to update the data as quickly as possible without making mistakes so they can move on to other parts of their job.

Design Decision: Allow for bulk confirmation of updates. This pain point that we discovered reinforced our hypothesis that bulk actions would be valuable to develop, so we prioritized their implementation for our v1.

Outcomes (6 months post-launch)

• 48 Enterprise companies created an HR integration.

• Syncing personal employee data for 26k+ employees.

• Users can now:

Create data integrations with 3 HR providers.

Review and confirm data changes from HR systems.

Manually sync to get the latest updates from HR systems.

Reflection

What I would do differently

Follow up after launch: We had defined different success metrics a few times throughout development, but we never reviewed them post-launch. As soon as we shipped, we moved onto a different project. I would have liked for the team to go back and review our success metrics and reflect on the project and our work together.

More usability tests: We had trouble finding our specific user type (Company/HR/Stock administrator) for usability tests, in part because of how uncommon the role is. This made it difficult to get many usability tests done with our specific user type. In hindsight, I could have run additional tests with just about anyone and still gained some usability insights that I could have applied to the design.

Further design improvements

A more ideal experience would be to let individuals decide whether they want their data to be synced automatically or manually and allow for toggling between the two. This option was something the team considered but we decided to save it for a later release.

This option would allow each person to choose the setting that works best based on their workflow, preference, and comfort level.