Asks the employee's manager to approve each time off request in a sheet, then updates the row and tells the employee.

UsesGmailGoogle Sheets

Approve time off requests from a sheet

Time off requests get lost in chat and nobody records the answer. When a row is added to your Time off tab, the employee's manager is asked to approve or decline it, and the person who asked cannot approve their own request.

The row's Status becomes Approved or Declined and the employee is emailed. Your tab needs columns named Employee name, Employee email, Manager email, Start date, End date and Reason.

Google SheetsGoogle SheetsWhen a row is added to the Time off tab. Save it as request.When a row is added to the Time off tab. Save it as request.
ApprovalsAsk the manager to approveRequest approval: Time off for request.fields["Employee name"] Save it as decision. Who to ask: request.fields["Manager email"] Prepared by: request.fields["Employee email"]request.fields["Employee name"] would like time off from request.dates["Start date"] to request.dates["End date"]. Reason: request.fields.Reason
Decisions & LoopsApproved or DeclinedUse Approved if decision.approved is yes, otherwise Declined and save it as outcome.
Google SheetsSet the row's StatusSet Status: outcome on row request.row_number of request.sheet_name in request.spreadsheet_url. Save it as marked.Google Sheets
GmailEmail the employeeSend an email to request.fields["Employee email"]. Save it as emailed. Subject: Your time off request: outcomeHi request.fields["Employee name"], Your time off request for request.dates["Start date"] to request.dates["End date"] has been outcome.Gmail