Products

Run custom logic on your IoT data, no servers needed

Execute Python or JavaScript functions triggered by device events, schedules, or webhooks — no infrastructure to manage.

Benefits

Extend your IoT application without leaving Ubidots

Zero Infrastructure

Deploy and run code without provisioning servers, containers, or managing dependencies.

Dual Language Support

Write functions in Python or JavaScript, whichever your team knows best.

Event-Driven Execution

Trigger functions automatically when device data crosses a threshold, arrives on schedule, or hits a webhook.

Built-in Ubidots Context

Access your devices, variables, and dashboards directly from function code with native API access.

Fast Iteration

Edit, test, and redeploy functions in seconds from the Ubidots interface — no CI/CD pipeline needed.

Scalable by Default

Functions scale automatically with your data volume, from a single device to thousands.

IoT in Action

How it Works

Custom logic that runs where your data lives

UbiFunctions lets you write and deploy serverless code directly inside Ubidots, triggered by the events that matter to your operation.

Write your function

Choose Python or JavaScript and write your logic in the built-in code editor. Import external libraries, define environment variables, and configure your trigger — all from a single interface.

Connect a trigger

Attach your function to a device variable, a time-based schedule, or an inbound webhook. Functions run automatically when conditions are met, keeping your pipeline reactive and up to date.

Act on the result

Push computed values back to Ubidots variables, send alerts, call external APIs, or update dashboards. UbiFunctions bridges raw sensor data and the business logic your team needs.

Key Features

Everything you need to extend Ubidots with custom logic

Built-in Code Editor

Write and edit Python or JavaScript directly in the browser with syntax highlighting and error feedback.

Event Triggers

Fire functions on device variable updates, incoming webhooks, or time-based schedules.

Python & JavaScript Support

Choose your preferred language and import third-party libraries without any configuration.

Environment Variables

Store API keys, credentials, and config values securely outside your function code.

Native Ubidots API Access

Read and write device variables, create events, and query historical data from within your function.

Execution Logs

View real-time logs for every function run to debug, monitor, and audit your logic.

Webhook Triggers

Expose functions as HTTP endpoints to receive data from external services and third-party platforms.

Scheduled Execution

Run functions on a cron-based schedule for periodic data aggregation, reporting, or maintenance tasks.

Error Handling & Retries

Configure retry behavior and receive notifications when functions fail to keep your pipeline reliable.

How AgroTech Solutions automated irrigation control with UbiFunctions

AgroTech Solutions replaced a custom backend server with 12 lightweight Python functions, cutting infrastructure costs and deployment time significantly.

Replaced a dedicated backend server with serverless functions, reducing monthly infrastructure cost by 60%.

Automated irrigation control logic that previously required manual intervention, saving 8 hours of operator time per week.

Reduced time-to-deploy new business logic from days to minutes using UbiFunctions' built-in editor.

Success Story

UbiFunctions let us move fast without worrying about servers. We deployed our first automated control loop in under an hour.

Carlos Mendez

Head of Engineering, AgroTech Solutions

Use Cases

Real Companies, Real Results

Quantify Environmental uses Ubidots to centralize utility data, driving efficiency, speed, and cost savings.
01
Slashing Utility Costs with Real-Time Data

Tom Ulanowski

Co-Founder

Quantify Environmental uses Ubidots to monitor utilities across sites, helping clients cut costs through real-time data and alerts.

Results:

  • Centralized energy monitoring
  • Faster response times to abnormal consumption
  • Reduced utility expenses across multiple clients
02
Bringing IoT to Industrial Companies in Australia

Steve Barker

Founder & CEO

Prospect Control uses Ubidots to deliver remote tank level monitoring for industrial customers, replacing complex PLC/SCADA setups with a scalable, web-based IoT solution.

Results:

  • Real-time visibility of tank inventory across multiple sites
  • Elimination of manual readings and reduced operational overhead
  • Significant annual cost savings and faster ROI for industrial clients
03
Cutting Energy Costs and Automating Billing

Darryl Schembri

General Manager

AIS Technology uses Ubidots to monitor electricity, water, and gas consumption across multi-tenant buildings, enabling real-time visibility, automated billing, and faster response to inefficiencies.

Results:

  • Centralized monitoring of electricity, water, and gas consumption
  • Automated monthly billing and reporting, reducing manual effort
  • Faster fault detection and reduced energy usage across facilities
04
Keeping Large-Scale Gardens Alive Using IoT

Onofre Tamargo

CEO & Cofounder

S4IoT uses Ubidots to remotely monitor irrigation systems in urban gardens, helping clients reduce maintenance costs, prevent plant loss, and shift from manual operations to a scalable subscription-based model.

Results:

  • Remote monitoring of garden irrigation across multiple sites
  • Reduced on-site maintenance visits and lower operational costs
  • Improved plant health, fewer losses, and higher customer satisfaction

Help & Support

Frequently Asked Questions

Have questions about Ubidots? Here are some ofthe most common queries to help you get started.

What are UbiFunctions in Ubidots?

UbiFunctions is Ubidots' serverless code execution environment that lets you run custom Python or JavaScript logic directly inside your IoT application — no servers or infrastructure required. Use it to process sensor data, call external APIs, send alerts, or automate workflows triggered by device events, schedules, or webhooks.

What can trigger a UbiFunction to run?

UbiFunctions supports three trigger types: device variable updates (fires when a sensor value changes or crosses a threshold), time-based schedules (cron expressions for periodic tasks like daily reports or data aggregation), and inbound webhooks (HTTP endpoints that accept data from external services or third-party platforms).

Do I need to manage servers or infrastructure to use UbiFunctions?

No. UbiFunctions is fully serverless — Ubidots manages all runtime infrastructure, scaling, and dependency resolution. You write code in the built-in browser editor, configure your trigger, and deploy in seconds. Functions scale automatically with your data volume, from a single device to thousands, with no CI/CD pipeline or DevOps work required.

Can UbiFunctions read and write data to my Ubidots devices and variables?

Yes. UbiFunctions includes native Ubidots API access, so your code can read device variables, write computed values, query historical data, and create events — all without external API credentials. You can also store API keys and secrets as environment variables to securely call external services like notification platforms or custom REST APIs.