Sending emails in bulk

I’m trying to set up an appraisal system for our HR department. On a ‘per employee’ level, tracking holiday requests, credentials, training and hardware works super well for us. We’re really happy.

The only issue I’ve come across are appraisals. The difficulty in this is that it’s a four step process.

  1. An appraisal form is sent to every employee to complete.
  2. The employee fills out the form and the time that they would like to meet.
  3. The HR department looks at the appraisal and confirms the meeting.
  4. The meeting happens, and the appraisal can be marked off by the HR department

Step 1 difficulties:
Is there any way to send out uncompleted forms on a per-employee basis? I’d like to iterate through the employees, create a blank record for each one, notify them, then they can log into a separate appsheet instance and fill out the form.

Step 2 difficulties:
This is no issue, the employee can use a separate appsheet instance or view, and fill out the blank record, and we can use a behaviour to stamp it as ‘done’, and send a notification to HR.

Step 3 and 4:
No difficulties.

The main issue lies in creating these records for every employee to fill out, and emailing the employees that the records are there for them to fill out.

Any help appreciated!

Solved Solved
0 6 637
1 ACCEPTED SOLUTION

While I referred to Workflows, there actually are also Reports. These are very similar to Workflows but are scheduled events - e.g. Daily, Weekly, etc. I would recommend using these for an automated approach. Of course, you likely only want it running until all employees have performed their duty. So you could implement something that notifies you (or someone) once all appraisals are done and then disable the Report.

As for an expression, it would not be overly complicated. Assuming you have an Employees table and an Appraisals table with an Appraisal Name column and an Employee column, the expression would be something like this:

SELECT(Employees[Email], 
       NOT(IN([Employee ID], 
           SELECT(Appraisals[Employee], 
                          [Appraisal Name] = "This Appraisal"))))

In words this means, "return a list of employee emails for employees who have NOT completed “This Appraisal”.

This can at least be a start to get your email list. You may need to tweak it.

View solution in original post

6 REPLIES 6
Top Labels in this Space