Getting Started

"UbiFunctions" is a serverless computing environment for the IoT. Also known as FaaS (Functions as a Service), it enables you to run custom functions on-demand, directly from Ubidots.

Although originally designed as a custom decoding tool, it has grown into an integration and analytics powerhouse.


An UbiFunction is user-defined NodeJS or Python code that runs on-demand, and can be invoked using any of these methods:

  • Making an HTTP GET or POST request to the UbiFunction’s URL

  • Publishing data through MQTT to the UbiFunction's URL

  • Configuring an Ubidots event action

  • A time-trigger specified by the user

When to use UbiFunctions?

UbiFunctions are commonly user among our customer base to:

  • Extract data from 3rd party APIs and insert it into Ubidots

  • Customize your own HTTP API Gateway to receive data in a custom format

  • Extract data from Ubidots itself, run a custom analysis or transformation, and insert the results back into Ubidots.

How to add UbiFunctions to my account?

This module is available to all of our Industrial plan customers and above. To upgrade to an Industrial plan:

  1. Select "My Profile" from the user drop-down, located in the top-right of your Admin App.

  2. Select "Billing" from the left-hand navigation panel.

  3. Click on "Change plan" option, then select the "Industrial" plan or above.

  4. Click "Update Plan" to save your upgrade and activate UbiFunctions.


The UbiFunctions module includes a limited amount of executions, and is charged on a per-usage basis:

  • Includes 1 thousand executions per month

  • When an execution surpasses 2 seconds, it is counted as 2 or more executions, at 2-seconds increments.

  • Executions are billed at $5 per million executions.

Last updated