With constantly changing tech requirements for each project, we usually start from scratch every time and learn something new along the way. One customer was told that React is now cool, others have decided to rewrite everything into Angular and the third one just needs to maintain a legacy code in jQuery or whatever was cool back then. That is surely a good thing because we are constantly trying to make things better, but recently I got to a point that even after years of LOB applications development I was not able to quickly, and also at no monthly costs, develop an application that would help my wife with her monthly invoicing.

After I realized that nothing hosted would be free and also developing everything from scratch is just too much work, I started looking for some possibilities on how to automate workflows in Excel. Is it possible? Yes! Does it work in a cloud? Only if you install add-in and import scripts manually.

Then there are Azure Logic Apps which are great, kinda works like microservices, and can connect to Excel files, but only those in Sharepoint. And that is why I gave up on using traditional Excel. As a previous Microsoft fan that’s harsh, however, I started to compare Excel to its competitor Google Sheets which can be automated using Google Apps Script.

Google Apps Script has really surprised me and on top of the great integration with the whole Google Suite (mail, docs, sheets, calendar, translator, drive, youtube, etc.) you can also easily manage deployments and browse the application logs. Its power of simplicity and integration is just outstanding and I think many companies could take advantage of adapting their business cases using Google Apps Script, because all you need is to start writing a code instead of spending days on setting up the environment and deployments.

You can simply start with Google Sheets UI and create a script to generate invoices and send them over the email:

and later on, if you need, create a React or Angular application which you can build using Github Actions, and automatically deploy to Google Apps Script using CLASP just like that:

runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: myapp.appsscript
    steps:
      - uses: actions/checkout@v2
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node-version }}
      - run: npm ci
      - run: echo '${{ secrets.CLASP_JSON__DEV }}' > clasp.json
      - run: echo '${{ secrets.CLASPRC_JSON }}' > ~/.clasprc.json
      - run: npm install -g @google/clasp
      - run: npm run build
      - run: clasp push
      - run: clasp deploy -i AKfycbwqt -d dev

Don’t get me wrong, Apps Script is not an ultimate solution and of course, there are some limitations like quotas or overall performance, however, it really can be used for at least partial automation of the most time-consuming tasks people do daily in the office and without requiring advanced programming skills or spending a lot of money. I also do believe it could be a free alternative to teach programming at schools since all the important concepts are there, and at least it could be more inspiring and useful in their lives than writing a console UI in Borland Pascal as I did in Slovakia. And that is why I think Google did a great job here. Thanks!

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *