Get started with Rowy in minutes
Repetitive paperwork and manual processes would bore anyone, but welcoming a new hire should be a party!
At Rowy, as a remote-first company with employees on four different continents, we understand the challenges of onboarding new hires. The following article shares tips to automate your onboarding process with Rowy to focus less on paperwork and more on team building! Keep reading to find out how to provide an exceptional onboarding experience for your employees.
Employee onboarding is the process of transforming new hires into productive team members. It typically involves three phases: Pre-onboarding - things like paperwork, setting up tools and accesses. Office tour - to meet the team, managers, etc. Training - to learn about the workflows and KPIs, join a team, etc. To understand their new role and how it fits within the organization. It is also a time for the new employee to get to know the organization and its culture.
All job positions are different, so automating employee onboarding involves identifying the tasks that need to be automated and selecting the right tools to do so.
Developing an employee onboarding program remains important to ensure the best possible experience for new employees. A simple checklist can do the trick, but in this article we'll cover common onboarding tasks we can automate.
Automating the onboarding process is key for several good reasons:
A successful onboarding process makes new employees feel welcome and part of the team. Automating the repetitive parts makes sure you keep sight of that.
Developing an onboarding program can seem overwhelming, but it doesn't have to be: let's now see how we can use Rowy to get the whole team onboard to welcome new hires using low-code and our collaborative spreadsheet interface.
There are so many things to do on a daily basis that it's easy to forget things when you don't write them down: keeping track of new hires is no exception.
The first thing we are going to do is to create a Rowy table to store all the information we need to onboard new hires, a bit like a CRM system but for HR. We'll add basic information like name and email, and more specific information like the date they started, their role, and their manager. We also add a checklist as a JSON structure to keep track of the onboarding tasks:
The cool thing about using a Rowy table is how collaborative it is out of the box. Just invite your team members to the table and they can all edit it at the same time. This makes it easy to keep track of new hires and update their information as needed, according to the roles each relevant person has. For example, the manager can schedule the team meeting while the HR team can update the employee's payroll info.
You can't expect a new hire to do anything without a valid contract, so this is the first step you need to take into account in the onboarding process.
Manual paperwork and payroll processing can be time-consuming and error-prone, so automating these processes will not only save you time and money on accounting, but also ensure that you are meeting all legal requirements.
Stripe, Rippling, and Clerky are a great combination to automate payroll and legal paperwork. Stripe is a payment processing platform that makes invoicing and tax processing easy. Rippling is a payroll tool that automates managing employee benefits and expenses. Clerky is a legal document automation platform that allows you to create and sign contracts, NDAs, and other legal documents.
The former two tools can be integrated with Rowy via API. For example, you could use a Rowy action column calling Stripe's API to schedule monthly payments:
We use the following code to create a new employee payroll as a monthly subscription:
const action: Action = async ({ row }) => {
const customer = await fetch('https://api.stripe.com/v1/customers', {
method: 'POST',
headers: {
'Authorization': `Bearer ${rowy.secrets.stripe_secret_key}`
},
body: JSON.stringify({
email: row.email,
name: row.name
})
}).then(res => res.json())
const stripe_customer_id = customer.id
const price = await fetch('https://api.stripe.com/v1/prices', {
method: 'POST',
headers: {
'Authorization': `Bearer ${rowy.secrets.stripe_secret_key}`
},
body: JSON.stringify({
unit_amount: row.monthly_wage,
currency: row.currency,
recurring: {
interval: 'month'
},
product_data: {
name: 'Monthly salary'
}
})
}).then(res => res.json())
const stripe_price_id = price.id
const subscription = await fetch('https://api.stripe.com/v1/subscriptions', {
method: 'POST',
headers: {
'Authorization': `Bearer ${rowy.secrets.stripe_secret_key}`
},
body: JSON.stringify({
customer: stripe_customer_id,
items: [
{
price: stripe_price_id
}
]
})
}).then(res => res.json())
}
You can also simply create a new Employee profile on Rippling and send an invite link via email to the new hire.
There isn't an API for Clerky, but you could also create a standard template document, fill it up with the new hire's information, send it to them via email, and request a signature via DocuSign API. DocuSign allows you to create digital signature requests for paperwork to make the process faster.
It's important to give new hires a place to connect with your team and get their questions answered:
You'll probably use recurring invite links for each service, so it's a good idea to put the links in your Rowy table as a subtable to keep track of them from a single place:
This way, you can easily duplicate the data row and update the invite link when you need to create a new invite link for a new hire.
Most employees need access to a variety of tools to do their job, which can be a tedious process when you have a lot of new hires. You also need to give different tool invites to people with different roles―a developer will need Github access, while a designer will need a Figma invite, for example.
Just like in part 3, you can use a subtable to keep track of all the tool invites to send. But you can also rely on APIs depending on the tools you're using. For example, Google Workspace has an API that allows you to create new users and send them an invite link. You can add an action column to your invite
subtable to automatically manage user invites:
const action: Action = async ({ row }) => {
await fetch(`https://cloudidentity.googleapis.com/v1/customers/${rowy.secrets.google_customer_id}/userinvitations/${row.email}:send`, {
method: 'POST'
})
}
You can find your Google Workspace's customer id in your Google Admin console.
In the case where you can't create a new account, you might also need to share sensitive passwords with new hires. To keep your passwords secure, make sure to use a password manager like Onboardbase to generate, store and share passwords securely. Just put the invite link in your table and send it to new hires whenever needed.
Using email sequences that contain useful links and resources is a great way to onboard new hires in a way that feels more personal. You can use a tool like Sendgrid to send emails from your Rowy table:
const action: Action = async ({ row }) => {
const name = row.name ? row.name : "kind stranger"
const links = row.invite.docs.map(link => `<li><a href="${link.link}">${link.service}</a></li>`).join('')
await fetch("https://api.sendgrid.com/v3/mail/send", {
method: "POST",
headers: {
"Authorization": `Bearer ${rowy.secrets.SENDGRID_API_KEY}`
},
body: JSON.stringify({
to: [
{
email: row.email
}
],
from: {
email: "hi@rowy.io",
name: "Rowy"
},
subject: 'Welcome to Rowy!',
content: [
{
type: 'text/html',
value: `<p>Congratulations, ${name}, and welcome to the team! Make sure to access the tools you'll need by visiting the following links:</p><ul>${links}</ul><p>%open-track%</p>`
}
]
})
})
row.isOnboardingEmailSent = true
}
You can then send several emails at different points in the onboarding process to keep things manageable without overwhelming new hires.
Lastly, you can use Rowy webhooks to make sure the new hire doesn't struggle with onboarding tasks at key points in time.
For example, you can send an explanation email of the different Github repositories to new developer hires when they join the organization on Github. Simply create a webhook in your Rowy table and paste your custom code. It's ready to use:
You can then register your webhook with Github using the generated webhook link.
That's it for our quick overview! You can do a lot more things with Rowy, but this should give you a good idea of where to start.
Make sure to come have a chat with us on our Discord. We'll be happy to assist you if you need anything.
And since we are talking about onboarding, know that we are hiring! Do let us know if you're interested.