DataFire.io is Leaving Beta

tl;dr — check out the latest release at app.datafire.io.

Earlier this year, we open-sourced the DataFire framework, which helps developers connect services like Slack, GitHub, and Gmail to help manage their data and build new applications. We’re excited to announce that we’ve completely redesigned datafire.io to provide a simple GUI for managing and deploying DataFire projects.

What’s New?

For those of you who have been using the beta release of datafire.io for the last year, this release brings a bunch of new and exciting features:

  • Webhooks — you can now trigger any of your DataFire actions with URLs. Each project has an API hosted on *.with-datafire.io, which can respond to GET/POST/PATCH/PUT/DELETE requests.
  • Dedicated Servers — each DataFire project is hosted on a unique subdomain and has a dedicated server, enhancing both stability and security.
  • Brand New UI — Linking different services together is super easy. We provide both a point-and-click editor and a code editor side-by-side.

How does it Work?

There are two main parts to a DataFire project: actions and triggers.

Actions

Actions are the core component of any DataFire project. Each integration comes with a set of actions; for example, the Hacker News integration has a getStories action, and the Slack integration has actions like chatPostMessage and searchMessages.

What makes DataFire so powerful is that these actions are fully composable — they can be combined to create new actions with more complex behavior. For example, we could create a new action, postDataFireStoriesToSlack, that monitors Hacker News for stories about DataFire, posting them in our Slack channel:

1. Call the hacker_news/getStories action to get a list of story IDs

2. Call the hacker_news/getItem action to get details for each story

3. Write some JavaScript to filter for stories that match our criteria (e.g. have “DataFire” in the title)

4. Call the slack/chatPostMessage action if there are any new stories

Now that we have an action that does what we want, all we need to do is set up a trigger to run it.

Triggers

Triggers come in three varieties:

  1. Paths — URLs like GET /pets or POST /comments/{id}
  2. Tasks — Schedules like “every hour” or “every Tuesday at 3pm”
  3. Tests — Runs an action manually on datafire.io or using the datafire command-line tool

For postDataFireStoriesToSlack, we can set up a task trigger that runs it every day. We’ll also need to connect a Slack account, of course.

Deploying your Project

Now that we’ve built our action and set up a trigger, we’re ready to deploy!

Since DataFire is open source, we have two options — we can deploy with one click to *.with-datafire.io, or we can download and run the project on our own hardware.

Deploying on *.with-datafire.io

Each project has a big blue DEPLOY button at the top-right:

Clicking this will bring up a dialog:

Deploying to dev won’t cost you anything, but the deployment will be stopped an hour or so after you stop working. prod deployments start at $9/month, and will run on a dedicated server.

Deploying on your own hardware

There are instructions for deploying your project under Project -> Settings:

DataFire keeps your project stored in a Git repository (you can use your own if you have a GitHub account!), so you can download, edit, and run your code anywhere.

That’s It!

That’s all there is to it. To recap, we:

  • Created an action postDataFireStoriesToSlack
  • Created a task trigger to run that action
  • Deployed the project

Let us know in the comments what you think of the new UI and features — we love getting feedback!