Looking for Sinch Engage? You’re now on Sinch’s main site. Go back to Sinch Engage

Sinch Agent Tools · Functions

Sinch Functions: Run communications code without servers

Sinch Functions is serverless compute for your Sinch Build products: Voice, Messaging, Numbers, and more. Deploy your code and Sinch APIs route live calls and messages to it, with no containers, load balancers, or capacity planning to manage.

  • Runs on Node.js or C#, from a starter template or an empty project

  • Triggers on voice callbacks, Conversation API webhooks, or your own HTTP endpoints

  • Ships to production with one deploy command

Scaffold from a template in minutes. Live traffic needs a Sinch account. View pricing.

Image for Sinch Functions: Run communications code without servers

No infrastructure

Write the logic, skip the infrastructure

Automating a communications workflow usually means standing up hosting, load balancing, and capacity planning before you write a line of logic. Functions removes that overhead. Write the code that should run when a call comes in or a message arrives, then deploy it. Sinch Functions runs it in isolated containers that auto-scale with traffic. View pricing.

Image for Write the logic, skip the infrastructure

The runtime

Runtimes you already know

The Node.js runtime is Express with conventions: You export handlers, the runtime routes URLs to them, and you return a response. The C# runtime is ASP.NET MVC with controllers. Either way, the function on the right is complete and deployable.

  • Routes voice callbacks to the handler you export, with no wiring

  • Answers Conversation API webhooks from the same project

  • Exposes your own HTTP endpoints when you need a custom API

  • Runs as long as your logic needs, with no execution time limit

                                

                                        // function.ts — a complete, deployable voice function    
    import type { VoiceFunction } from '@sinch/functions-runtime';    
    import { createIceBuilder } from '@sinch/functions-runtime';    
         
    export default {    
      async ice(context, data) {    
        return createIceBuilder()    
          .say('Hello from Sinch Functions!')    
          .hangup()    
          .build();    
      },    
    } satisfies VoiceFunction;   
                                
                            

What the runtime gives you

The state and storage you would otherwise bolt on

Most serverless setups make you add separate products for state, storage, and credentials. The Functions runtime injects them, so they are there the moment your code runs. 

The cache is free, and every project gets 100 MB each of file and database storage free each month. See storage pricing.

  • Cache for fast, temporary state

  • Blob storage for files, and a SQLite database for structured data

  • Environment secrets, injected by the runtime

  • Pre-wired SDK clients – context.voice, context.conversation, context.sms, and context.numbers – so credentials never appear in your code

Image for The state and storage you would otherwise bolt on

From template to live traffic

Init, test, deploy, in a few commands

The Sinch CLI takes a function from a starter template to production without opening the dashboard. Local development runs on your laptop behind a public tunnel, so live traffic can reach it while you iterate.

                                

                                        sinch functions init      # scaffold from a template, or start empty    
    sinch functions dev       # run locally with hot reload and a public tunnel    
    sinch functions deploy    # ship to production    
    sinch functions logs      # monitor a live function    
                                
                            

Functions builds

What developers build with Sinch Functions

Every one of these ships as a starter template, so you begin from working code rather than an empty file.

Sinch Agent Tools

Where Functions fits in Sinch Agent Tools

Sinch Functions is one of six Agent Tools components, and it is where the workflow lands. An AI agent uses Skills and the SDKs to write the communications code, and the CLI deploys it to Functions to run on live traffic. MCP and plugins connect your agent from the tools it already works in. Each works on its own, and they work better together.

Frequently asked questions about Sinch Functions

Quick answers on what triggers a function, which runtimes are supported, and what the runtime includes.

Serverless compute for voice and messaging. You deploy your code, and live calls and messages route straight to it, with no infrastructure to manage.

Your first compute-hour each month is free, per project, with no credit card needed to start. After that, compute costs $0.10 per compute-hour, billed by the second. There’s no per-execution charge and no monthly platform fee. See Functions pricing for storage rates and add-ons.

Node.js and C#. The Node.js runtime works like Express with conventions, and the C# runtime like ASP.NET MVC with controllers.

Inbound voice callbacks, Conversation API webhooks, or a custom HTTP endpoint you expose yourself.

No. Functions has no execution time limit, so a function can answer a webhook in milliseconds or hold a WebSocket open for a live voice stream. That’s also why compute is billed by run time rather than per call. See Functions pricing.

Cache, blob storage, a SQLite database, and environment secrets, all injected at runtime, plus pre-wired SDK clients for Voice, Conversation, SMS, and Numbers.

With the Sinch CLI: sinch functions init, then dev to test locally, then deploy.

Yes. sinch functions dev runs the function on your laptop with hot reload and a public tunnel, so real test events can reach it.

Functions is one component of Sinch Agent Tools, the developer layer for building on Sinch APIs. Agent Tools sits inside a broader set of AI capabilities spanning Messaging, Voice, Email, and Verification.

Deploy an IVR from a template in about five minutes on the Free plan, then swap in your own logic. No credit card needed to start.