Skip to main content
A Stateful Actor project uses the umbrella telnyx.toml manifest (the same file your [[secrets]] and [telnyx] bindings live in). The actor declaration is a [[actors]] array:
name = "account"                # function name
main = "src/index.ts"          # entry — exports the fetch handler (and the class, if this func owns the type)
compatibility_date = "2026-05-01"

[[actors]]
binding = "ACCOUNT"           # the property on env — your handle
type    = "Account"           # the class to instantiate per name
FieldMeaning
nameFunction name (used by the platform to register the func)
mainEntry module — exports the default { fetch } handler, plus the actor class when this function owns the type (a reference binding ships no class)
compatibility_dateRuntime compatibility pin
[[actors]] bindingThe name you’ll use as env.<binding> from your function
[[actors]] typeThe class name to instantiate per actor name
Constraints, enforced at ship time: binding and type must be identifiers and must not contain __; type is capped at 32 characters; binding names must be unique across all bindings in the file, and SECRETS is reserved as a binding name when the file has a [[secrets]] block. Multiple [[actors]] blocks are allowed — including two bindings pointing at the same type.