When an employee joins a team, today, we're adding the new employee to mailing groups manually. Eg. When an employee joins as a Software Engineer in Freshteam, he must be added to mails groups like email@example.com, firstname.lastname@example.org, etc. This is not followed as a process too, that the employees are unaware that they should be added by someone in the team to the team group. So, the newly joined employee misses out any important notification that is sent to the team. We ourselves have experienced this when we joined freshworks.
What it does
We can configure a workflow which can assign google-groups to new joining employees automatically based on team, department or any other category. It also updates in google groups when an employee gets transferred internally, eg. When an employee gets transferred from Freshsales and Freshteam, they will be removed from Freshsales related groups and added to Freshteam related groups.
How we built it
We checked for APIs available by Google to do the necessary operations. Freshteam supports events on employee create and employee update. We utilized those triggers to add/remove from google groups. We use oauth to authorize the Gsuite admin. We use custom API params to get all the necessary workflows, and we store it in installation params of the marketplace app. It started as Freshteam - Google Group sync, but we were also able to do the creation of user on the google Suite, which reduces the manual process of creating email id for each employee who is joining the company. And that's how, our app is evolved.
Challenges we ran into
- At first, we were not even aware that we can get custom installation params. It took us some time to understand the flow.
- Well documented instructions for creating marketplace app and well-organized sample apps for marketplace helped us a lot. We were able to find solutions for our code struggles within our app if we spend some time on documentation and sample apps.
- With very minimal pre-experience on js, and both of our team members are backend devs, we had a struggle to cope up with the marketplace serverless app which was completely dependent on js.
Accomplishments that we're proud of
- We're able to do POC of Google groups at a fast pace and was able to do a minimum viable app.
- Automating the user creation which will help reducing the burden of IT support people.
What we learned
- Creating a marketplace app - This is our first marketplace app.
What's next for FreshTeam - Google group Sync
- Based on Designation, we can make the new joining employee as an admin of the google group.
- This idea can be extended to any other social channel like slack, etc. where the user would want to add new employees to groups/chat rooms based on condition.