Recruitment system - integrating Gmail, Bravely, Jira, Slack, and Copper CRM

Bravelab
Bravelab Developers

Read time: 13 min

Mar 20, 2020

Solution

The idea was to integrate various APIs, such as Cooper CRM, Atlassian Jira, Google Gmail, and G Suite. Messages from all sources are aggregated in one email address, where they wait to be processed with our module. The task of checking the inbox is run every 15 minutes.

Recruitment system - integrating Gmail, Bravely, Jira, Slack, and Copper CRM

Accessing Gmail inbox through API requires user consent. Service accounts can bypass this with domain-wide authority. Such accounts can be created by the admin in G suite and allow us to manage messages inside the chosen inbox.

Aggregation of mailboxes may cause a massive amount of messages in one inbox, we have already had over a hundred thousand in ours. To avoid processing through the whole mailbox, the specific query has to be used. For this purpose, it has to check if emails were forwarded from a selected list of mailboxes (for example, hr@bravelab.io or other used aliases). To narrow results further, only messages from the last seven days that haven't been processed yet, are considered. From such a list, data from each email is used to create a new candidate with linked leads. Leads are used later for integration with Cooper CRM and Atlassian Jira. To avoid making many duplicates, only the first email in the thread is allowed to create a new candidate. These criteria allow applicants to apply for multiple positions, or to reapply later.

How does it work

When email awaiting processing is found, a sequence of things happen. The message list returned from the query contains only message ids and thread ids. In Gmail API, if they are the same, it means it's the first message in a thread. Then all needed information is extracted from such a message. From the header “From” name and email address are extracted. From message content, regular expressions look for phone numbers. And from “parts” we extract attachment id’s and get all attachments. The message subject is also extracted. Such information is passed to the candidate management script.

Candidates in the recruitment tab hold’s all information in a user-friendly way.

Recruitment system - integrating Gmail, Bravely, Jira, Slack, and Copper CRM

But for integration with other API’s we use an already utilized lead system. Each instance has related one of each: an email message, profile, and lead.

Interactive URLs allow for quick access to inbox and candidates as needed. New leads create issues on Jira:

Recruitment system - integrating Gmail, Bravely, Jira, Slack, and Copper CRM

Notification appears on slack:

Recruitment system - integrating Gmail, Bravely, Jira, Slack, and Copper CRM

And they are added to Copper CRM:

Recruitment system - integrating Gmail, Bravely, Jira, Slack, and Copper CRMRecruitment system - integrating Gmail, Bravely, Jira, Slack, and Copper CRMRecruitment system - integrating Gmail, Bravely, Jira, Slack, and Copper CRM

Conclusion

System of notification, automatic gathering, and pre-processing candidates improves speed and efficiency of the recruitment process.

Bravelab
Bravelab Developer who is detail-oriented, enthusiastic about data analysis and highly focused on implementing modern solutions to help out business to grow.

Read time: 13 min

Mar 20, 2020

Our mission is to be /trusted partner
to our clients/
in the field of webplatform
development & staff augmentation

Check our rank

developmentclutchdevelopment
  • development
  • clutch
Item 1 of 3

0 Professionals

0 Finished project

Kudos.

  • “Not afraid of doing even the most difficult tasks and proposing innovative solutions. They don’t avoid challenges, rely on new technologies, and - most importantly - always carry the projects through from the beginning to the end.”

    Adam Bogdan
    Adam Bogdan Python Developer
Item 1 of 9

Contact.

We're happy to help! Leave your contact data, and we will get in touch with you within one business day.

Tell us about your needs, ask about our experience, portfolio, and even partnership programs.

Contact us

This website stores cookies on your computer. These cookies are used to collect information about how you interact with our website and allow us to remember you. We use this information in order to improve and customize your browsing experience & for analytics & metrics about our visitors both on this website & other media.
To find out more about the cookies we use, see our Privacy Policy.