Latest posts

  • My process to programming with Blackbaud Sky API (and really any API)

    In preparing for the panel session “APIs and the Art of the Possible” for the 2024 ATLIS Conference, I spent some time thinking about my process for developing solutions using APIs. I have recently been working on something to send gift acknowledgment letters via Google based on data in Blackbaud Raiser’s Edge and thought it…

  • Using Google Apps Scripts to distribute files to users

    While it is easiest to use Google Classroom or your LMS to distribute files to users, sometimes I need to handle it myself via Apps Script as part of a larger solution. The challenge: I have a folder full of PDFs that I generated for each student. I’d need to place these unique files in…

  • Moving Google Drive Docs/Sheets/Forms between workspaces/organizations

    Recently, I needed to move a complicated Google Form and an associated Google Sheet that stored the responses to another account. Within an organization, this is pretty easy to do, but moving between workspaces doesn’t appear possible. There is a workaround by using a Google Shared Drive in the target account and adding the source…