# 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.

![](https://884329393-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MhzNRg0B4ECiNXc093G%2F-MiUbmiO8I0vntQDp-zP%2F-MiUdQW45kGPwsIq39xc%2Fimage.png?alt=media\&token=edfa5ef1-a5f6-4d36-863c-4c3fd939ed93)

### Definition

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 used 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](https://help.ubidots.com/en/articles/7827108-plans-billing-understanding-the-advantages-of-the-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.

### Billing

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.**
