Git Product home page Git Product logo

clio-gmail-archiver's Introduction

Clio-Gmail-Archiver

A Google Apps Script using a spreadsheet to file email as communications in Clio.

This software is unstable. Don't use it unless you are satisfied you know better what you are doing than the person who wrote the software.

Even in the best-case-scenario, there is a persistent issue that while the script is running, it will only archive emails that have had a label assigned to them since the last time an email with that label was archived.

This means that if you assign labels to emails in an order other than the order in which you received the emails, the script may find the newer emails with the label before it finds the older emails with that label, and it will therefore never archive the older emails.

This can be worked around by only assigning labels to the oldest emails first, or by turning the script off while you might be assigning labels in another order.

About Me My name is Jason Morris, I'm a lawyer working in Sherwood Park, Alberta.

clio-gmail-archiver's People

Contributors

gauntlet173 avatar

Watchers

James Cloos avatar  avatar

clio-gmail-archiver's Issues

Use Clio API to get new matters and add labels

Currently, the application relies on Zapier to notice when new matters have been created and create labels and entries in the spreadsheet for those matters. This could conceivably be implemented in a Zapier-esque way through google scripts.

Script misses emails if newer emails in that label archived first.

The script is designed to be run at a certain interval. If the sequence of events is...

  1. Script runs.
  2. Email #1 Arrives.
  3. Email #2 Arrives.
  4. Email #2 is labelled
  5. Script Runs
  6. Email #1 is labelled.
  7. Script Runs

Email #1 will never be archived. The reason for this is that the script uses the last time at which it archived an email to determine whether an email is "new." Once Email #2 is archived, only emails that arrived after the date on which Email #2 arrived will be considered "new."

Note that the same thing happens for emails that have been relabelled, or have had a second label attached, after a later-in-time email for that label has already been archived.

Note also that if Email #2 and Email #1 are both labelled, but in the wrong order, and are processed in the same running of the script, it will behave as expected. This is little comfort, though, because you won't necessarily know when the script is running.

If you can come up with a way of solving that problem without keeping a list of all emails in the spreadsheet, let me know. I haven't yet.

The work-around is to label emails in the order you receive them, and label them properly the first time. You can also use the clio gmail extension app to file individual emails to the appropriate matter.

Put Communications Entries in Sheet

Currently testing having the script make entries into a spreadsheet sheet for emails that should be added to clio communications. Idea is that Zapier zap on new spreadsheet row will be used to move them into Clio communications, and the script here will delete the sheet every time it runs.

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.