Release Date
March 22nd, 2014
Download zip   Download tar.gz

What It Is

beeminder.el is really simple Emacs extension for working with Beeminder.

It's designed to integrate with org-mode, and adds support for submitting data directly to Beeminder when a task is closed (see usage for some examples).

Thanks to Sacha Chau for providing the inspiration and initial code for this extension:


All Emacs installs are a little different, but the basic outline is this:

  • Download the source code and put it somewhere Emacs can find it (probably ~/.emacs.d/)
  • Add (require 'beeminder) somewhere in your Emacs startup
  • Set your API authorization token and Beeminder username configuration variables using the following:
(setq beeminder-username "username")
(setq beeminder-auth-token "token")

You can find your token by logging into Beeminder and then visiting the following URI:


New Shortcuts

beeminder.el adds the following shortcuts:

C-c b a - Add data to a Beeminder goal. Prompts for the goal identifier, a numeric value and an (optional) comment

C-c b g - Fetches all of your goals from Beeminder and inserts them as a list of org-mode headlines.

C-c b w - Fetches your username from Beeminder. Not really useful, but good for checking if your authorization token is set and valid

Integrating with org-mode

This extension listens for changes to the state of org-mode todo items, and can automatically add data to Beeminder once a task is complete. In order to do this, the task (or its ancestors) must have a "beeminder" property that is set to the name of the goal to add to.

Tasks can also set a "value" property, which will be sent when the task is complete. If no "value" property is set, the value will default to 1.

Here's an example:

* Beeminder.el Tasks
  :beeminder: beeminder-el
** TODO Write documentation

When "Write documentation" is changed to "DONE", beeminder.el will submit a value of "1" to the "beeminder-el" goal.


Copyright (C) 2014 Phil Newton

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.