Giter Club home page Giter Club logo

trilogy-tutor-auto-emailer's Introduction

Trilogy Tutor Auto-Confirmation Emailer

by Earnest Long, Jr., Senior Data Visualization Tutor

Description:

A simple script that automates sending confirmation emails to students that have tutoring sessions scheduled for the next day.

The script uses the Gmail, Google Calendar, and Google Sheets APIs to 1) extract the events, 2) identify each student's email and timezone, 3) construct emails with the appropriate names, dates, and times, and 4) send the emails.

Requirements:

  • Gmail, Google Calendar, and Google Sheets accounts holding all the relevant data all associated with the same Google Account.
  • Python 3.0+: https://www.python.org/downloads/

Installation:

  1. Clone the repository and pip install the requirements (in terminal, navigate to folder then run 'pip install -r requirements.txt' (or 'pip3 install -r requirements.txt' if you have multiple versions of Python installed).

  2. Enable the Gmail, Google Calendar, and Google Sheets APIs in your Google account.

  1. Create the following:

  2. A file named config.py declaring the variables shown in config_example.py. Follow the comments in config_example.py to set up your script variables appropriately.

  3. A file named msg_template.html that contains the HTML email message with customizable Template variables (docs here: https://docs.python.org/2.4/lib/node109.html) as seen in msg_template_example.html.

** Usage:**

There are a few options for running the script:

Notes:

  • The script uses the Calendar event description to distinguish Trilogy tutoring sessions from other Calendar events. Calendly auto-populates the description field of new events, but if you manually create an event for a student, the script won't detect it if you don't supply the expected description!

  • Sometimes students sign up for sessions on Calendly with a different email than what's given in the Tutor Assignment Email. If the script can't find the email address on the event in the Sheets email column, it will prompt you for the correct address or to enter 'skip' to skip that event.

  • As it stands, the script expects the timezones in the Sheets worksheet to contain the appropriate US timezone abbreviation in all caps. Modify the code to suit the format you use in your Sheet (~line 198).

  • If one of the fields for a student whose session is tomorrow is blank (e.g. the Zoom link), the script will throw an error. It expects to find a name, email, timezone, and Zoom link for each scheduled student.

  • Seeing a warning message like "Be careful with this message. Gmail could not verify that it actually came from _______"? See here: ealong#2

  • Please feel free to branch and improve!

  • And if you run into any issues, Slack me or use the issues tab.

Thanks!

trilogy-tutor-auto-emailer's People

Contributors

ealong avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.