Primitives: Functions, Triggers, and Workers
Functions, Triggers, and Workers are how code gets defined, executed, and managed in a iii powered backend
iii is built upon three core primitives: Functions, Triggers, and Workers.
A Function is anything that can be triggered to do work; it receives input, and optionally returns output. It can exist anywhere be it locally, on cloud, on serverless, or even as a 3rd party HTTP endpoint. It can mutate state, invoke other functions, modify databases, and do anything that a typical function can do. All application level Functions are treated the same within iii.
A Trigger is what causes a Function to run — either explicitly from code, or automatically from an event source like an HTTP request or cron job.
A Worker is any process that can register Functions and Triggers to run one or more tasks. They are typically long running processes but can also be ephemeral processes, an agentic worker, or a legacy system leveraging middleware.
Uncontrolled Endpoints
iii's Functions are not magic. While uncontrolled 3rd party HTTP endpoints can be represented as Functions they won't have the same access to invocation, state, and other engine functionality as other Functions do.
Architecture
Ready to Dive In?
Head over to the Functions & Triggers HOWTO and start building a iii powered application; or visit the Quickstart and try out a working example.
Still want to learn more?
Check out how Discovery works within iii and how it compares to other solutions.