Skip to main content

Welcome to The Library

A growing knowledge base

There have been over 3,000 distinct jobs written for the OpenFn platform, driving efficiency across the social sector. These jobs have run millions of times, connecting and automating critical technologies like CommCare, DHIS2, Salesforce, Kobo Toolbox, and more.

90% of at-scale OpenFn customers make their jobs publicly available so that other organizations can learn from their implementations, yet we’re still constantly asked to find examples of jobs that “create DHIS2 entities from CommCare cases” or “initiate payments when Kobo submissions arrive”.

The Job Library is our attempt to make this vast pool of real-world experience available to everyone, automatically collecting and organizing non-sensitive job scripts from this diverse community of social sector integration experts to make data integration safer, faster, and more scalable than ever before.

How can you contribute?

In the Project Settings page for one of your OpenFn.org projects, select flip the "Job library sharing" switch and you're good to go! There will be a slight delay between the time you share your jobs and the time the appear on this site, but in about half an hour, at most, you'll be able to find your published jobs here.

N.B.: If you want to share a project, but keep certain jobs private, you can do that too. Navigate to the job in question and click the administrative settings cog in the top right corner (the same place you'd disable "console.log" statements) and select "Make this job private."

Library "scores"

Jobs published to the library from OpenFn.org users may be well-written and clearly documented. They may serve as very useful templates for other users to write their own jobs, or copy and paste them entirely. Or... they may not!

In order to help members of the community get a sense of whether or not a particular job in the library is a "good example", we provide a score that's calculated based on some job metadata from the OpenFn platform. It takes into account many factors, including things like how recently the job was written. In addition to the scores, we also provide two quick visual indicators:

Scrolls 📜 are from core contributors

Jobs with scrolls next to them have been manually added or edited by a core contributor to this repo. Think of them as official examples. In most cases this means that the spells... errr, scripts you see in there are great places to start.

Sparkles ✨ are scoring over 75

Jobs with sparkles next to them are currently scoring over 75. That's all. We can't vouch for them, but they might be more useful than jobs without sparkles.

How to interpret a score

Everything you see here has been shared because someone thought it might help the broader community. If a job has a high score it's because our model thinks it might be helpful, too! This might be a good time to review rule #1 and rule #2 about models/algorithms.

  1. All models are wrong.
  2. But some models are useful.

We hope this one is useful. In conclusion, the higher the score, the more useful the job might be.

What's next?

We're planning to expand both the API and the library searching/browsing experience in the future. We'd like to provide a way for users to "upvote" or "downvote" certain jobs (think: StackOverflow) which they found useful. Get in touch if you're interested in helping out!