---
# System prepended metadata

title: Sparks Enterprise - Automation Implementation

---

---
title: 'Sparks Enterprise - Automation Implementation'
---

Sparks Enterprise - Automation Implementation Proposal
===

Index

[TOC]

## Backend Modules

### 1. Listen to inbox, categorize email threads
  - connect to gmail API
  - watch emails
  - sync emails
  - send emails
  - daily limit
  - queue

### 2. Scrape different kinds of email for specific structured data
  - ziprecruiter
      - the ones exported as `.csv` (needs login in order to bulk download `.csvs`):
          - job
          - city
          - state
          - apply date
          - name
          - email
          - mobile number
          - rating
          - status
          - notes
          - labels
          - candidate url
          - resume url
      - sourced
          - name
          - location
          - email
          - mobile number
          - viewed on
          - viewed by
          - labels
          - resume url
  - monster
    - name
    - email
    - phone number
    - company
    - job title
    - current career level
    - work status
    - selected locations
    - cv file can be in `.doc` or `.pdf`
    - there are multiple ziprecruiter accounts
  - christian's format
    - name
    - email
    - mobile number
    - city
    - cv doc file

### 3. Gather the data from email
  - name (first name, last name)
  - email
  - mobile number
  - download cv attachment locally

### 4. Scrape PDF/doc for keywords

### 5. Process keywords

### 6. Categorize candidates (based on)
  - job ad
  - job title
  - expertise level (entry level, junior, senior, etc)
  - age
  - keywords in cv (modular, search for specific keywords added and apply labels)
  - sort by updated_at (because some candidates have been contacted before and already exist)

### 7. Modular email templates based on context
  - specific template words
    - first_name
    - last_name
    - job_ad
    - job_title
    - interview_datetime
  - status
    - first contact
    - schedule interview
    - reschedule interview
    - reply to cancelation/non-availability
  - keywords
  - job ad

### 8. Send email to applicants
  - steps (first contact, schedule interview, etc)
  - "holding" for testing, no need to be automated yet
  - once everything seems correct, automate
  - prepared responses (one touch responses: ready to send)
  - sync with holiday calendar

### 9. Track email incoming

- trigger [step 1](#1-Listen-to-inbox-categorize-email-threads)

### 10. Process incoming messages
  - search for existing thread (match email, name), hold for approval if unsure
    - guess applicant
    - match with recipient
  - guess conversation
    - confirm interview
    - reschedule date/time
    - not available at that work schedule
    - they weren't able to attend and want to come back
    - not available anymore
    - not interested
    - they have a question
    - other
  - reply or create reply proposal and keep in "holding"

### 11. Categorize the reply

- Calendar Integration (Microsoft, Google or custom made)
    - Linked to main database
    - Ability to change status of candidate
    - Statistics on booked, showed, 2nds, source (website), recruiter, method (phone or email), etc..
- share Google Calendar with client

### 12. List of candidates that didn't reply
- assing list to caller user

### 13. List of candidates (for recruiter user) 

### 14. User management and permissions
  - authentication, no registration
  - permission layer based on candidates


## Frontend Modules

### Applicant Browser
  - applicant list
    - first name
    - last name
    - email
    - mobile number
    - link to cv
    - source
    - age
    - labels
    - tags
    - status
    - date

### Email Threads
  - preview
  - applicant profile
  - tags
  - labels
  - keywords
  - status
  - compose/send message

### Email Templates
  - search/filter by tag/status/label
  - add/edit/delete

### Data Extraction (from cvs and applicants)
  - keyword map
  - labels

### Applicants on Hold/Applications in Progress

Applicants waiting to be processed, means that the app couldn't continue with the automation due to uncertainty.


### Match applicant to existing application manually

In case the reply isn't found in the database

- match/merge manually

### User Management
  - create/edit/delete users
  - assign user levels (administrator, recruiter, client)

### Stats/Metrics

  - recruiter name
  - contacted
  - 1st round booked
  - 1st showed up
  - 2nd round booked
  - 2nd showed up
  - canceled
  - rescheduled
  - rejected
  - missed
  - next day
  - farther out
  - hired
  - qualified



## Next steps:

1. Improve email analysis
    - sentiment analysis
    - AI training/machine learning
3. Online application
    - Auto qualify
    - Auto booking
    - Auto Filter
4. Call platform/Call center platforms
    - Access to calendar & database
    - Imports and exports data
    - Integrated auto-dialer
    - Username and password
    - keep track of interviews booked by recruiter
5. Integrated job board posting
6. Extract from alternative sources
7. Integrate other services
    - Email marketing platform
    - ATS platforms
    - Advertisement platforms
    - Online scheduling applications
8. Marketing
    - Messaging
    - Emails
    - Reviews
    - Advertisements
    - Content
9. Chatbot

---
Further on:

- automated invoicing
- integrate ringcentral
- send sms
- client acquisition
    - owner info
      - name
      - mobile number
      - email
    - business information
      - name
      - email
      - campaign name
      - bookkeeper
    - interview information
      - interviewer name
      - weekdays interviewing
      - time range interviewing
      - location address
      - city
      - province
      - postal code
      - directions (text box)
    - notes
- recruitment automation
    - monster api
    - ziprecruiter api
    - indeed api

- Telemarketing Platform:
    - Auto Dialer
    - Text messaging
    - Leave messages
    - Access to emails?
    - Timer (log in, log off)
    - Ability to change status
    - Linked to main database
    - Statistics on calls, answers, booked, messages, etc.

---

## Q&A

#### When you forward the resumes, are they all going to the same gmail account (or godaddy?)
> It's possible to send the resumes to any emails, there are multiple gmail accounts for each client - for ziprecruiter it only sends to the email that is linked to the account.


#### How do you categorize the candidates that didn't reply to the emails/callers?
> The ones that didn't reply to emails or calls we just leave  there status blank generally, don't really have a way to categorize them

Would you contact them again? Or would you need to schedule a 2nd email to them if they don't reply in the meantime?

#### will you need it to be aware of different timezones? will you need it to send emails at a specific time or between a specific time frame?
> Yes I there are different time zones per client. If the extractions, emails, interview schedules and call list were timed that would be beneficial

#### the emails from godaddy: I remember you go through all the replies manually, any idea if the replies can also be synced into gmail? If you don't know, would you please contact godaddy support about their API to know if they have a way to send emails programmatically and getting notified about replies, or if there's a way to forward the replies to a specific inbox?
> I might prefer to move everything from godaddy to gsuite, would that make it easier?

GSuite also has limits, tho they're better than what you have now https://support.google.com/a/answer/166852?hl=en

#### your employees call people that you were unable to get a hold of. How long does it take for it to mean that? (e.g. the candidate didn't reply within 1 week? or 2 days?)
> Usually if we didn't get ahold of the person the day before the phone caller will call them the next day. Also we try to book candidates in asap usually the next day after they apply

#### Since you'll rebrand your company and sometimes recruit under the name of different companies, how could the email sending be automated after having grabbed a bunch of resumes from the job platforms (ziprecruiter and monster)? are the categories or job titles specific for different companies?
Example:
- Company #1: "costumer service"
- Company #2: "sales"
- Company #3: "call center"


> I think it would be beneficial to have something set up where we can easily add additional companies when we get new clients. Most of my job titles are generic and apply to each company and or job at this time. 

So I meant that now you manually select the company name, campaign, email address, logo for a specific batch of candidates, then you mass message them after clicking "submit". Ideally this would be automated, so my question is how would you map whichever company name, campaign, email address and logo to a candidate or a batch of candidates in order for it to be automatic?

#### Do you want it to be mobile responsive?


#### Do you want a simplified mobile version?
