Author: Simon

  • Making ActionKit API Calls from Interactive Dashboards with akapi-fetch.js

    ActionKit dashboard reports are traditionally used to aggregate and reformat the results of SQL queries — but they can also be used to build useful interactive tools that invoke the API from within the admin interface. To make it easier to build these powerful dashboards, I am releasing akapi-fetch.js, a small JavaScript library that lets…

  • Combining ActionKit Query Reports with CTEs

    As organizations operationalize their mail targeting, there’s a tendency to build up a few big monolithic queries that define key user segments based on a mix of different signals. For example, you might define a pool of “core mailable users” that includes 90-day clickers, plus 60-day openers, plus 3-year donors — and as time goes…

  • Storing ActionKit Queries in Template Files

    A couple of months ago, I posted about a technique I have used for developing complicated dashboard reports: store the code in a template file, and take advantage of the developer tools and GitHub sync that feature provides. (That writeup includes more details about the advantages this provides.) More recently, I wondered… “well, why can’t…

  • An ActionKit Admin Console for Multilingual Campaigns

    Over the last two years, I’ve had the pleasure of working with the team at WeMove Europe to help them migrate their advocacy and fundraising work from another platform over to ActionKit. Now that this engagement has wound down, I thought it might be interesting to review one of the key features we developed to…

  • Sampling Random Rows with the ActionKit Query Builder

    For a lot of database queries, we want to see all of the matching records, or perhaps only the most recent or highest based on some measure — but in a few cases, it’s actually useful to get a random sampling of the results. There isn’t an obvious option to do this kind of sampling…

  • A Brief Introduction to ActionKit Page Translation

    Organizations that are new to ActionKit can run into questions about the various elements involved in translating their forms into multiple languages. The terminology here can be confusing, with words like “page” and “template” being used to mean different things depending on the context, so I thought it might be useful to review the major…

  • Recognizing ActionKit Users with sticky-akid.js

    The user-recognition system in ActionKit is primarily focused on tokens called AKIDs that are automatically included in the links included by the mailings sent out from the platform. (There is a separate login system based on passwords and session cookies, but it is only used in a limited number of cases, such as changing recurring…

  • Extending ActionKit With API-Powered Admin Dashboards

    ActionKit provides a rich API that allows organizations to build custom functionality on top of the platform, including rich user interactions, back-end automation, and integrations with third-party services. Unfortunately, there are lots of organizations that don’t have anyone on their staff who is fluent in Python, C++, or Perl that can build and deploy custom…

  • Using Template Files in ActionKit Mailings

    The templating capabilities of ActionKit mailings are very powerful, and numerous organizations have built sophisticated examples that incorporate various user attributes to customize the message and calls to action. The enhancements made to custom mailing fields and email wrapper templates has made it easier to build flexible models that can be customized and reused over…

  • Storing ActionKit Dashboards in Template Files

    ActionKit dashboard reports are a wonderful mechanism for extended the admin interface with new capabilities and custom logic. Most obviously, dashboard reports can run query reports and format their results in innovative ways. But dashboards can also contain custom JavaScript logic, including functions that call the ActionKit REST API to create or modify records on…