# Sinch Functions & CLI > **Sinch Functions is currently in beta.** You can build, deploy, and run real traffic today. APIs and capabilities may evolve during the beta — we will call out breaking changes in release notes. Two things in one toolchain: - **Sinch CLI** — the developer command line for every Sinch API. Rent phone numbers, send SMS and fax, manage SIP trunks, configure voice apps, manage secrets. All from your terminal. - **Sinch Functions** — a serverless runtime where you write a function, deploy it, and Sinch routes live traffic (voice calls, WhatsApp messages, SMS) to your code. The Sinch CLI is how you interact with both. ## Pick your path - **[New to Sinch?](/docs/functions/concepts/overview)** — A one-page overview of what these things are and how they relate. - **[Install the CLI](/docs/functions/cli/installation)** — Get `sinch` on your machine and log in. - **[Your first Function](#)** — Deploy a voice IVR in five minutes. - **[Glossary](/docs/functions/concepts/glossary)** — ICE, ACE, SVAML, Voice App, Conversation App in plain English. ## What you can build with Functions | Use case | What it does | | --- | --- | | Voice IVR | Interactive menus with DTMF input and text-to-speech | | SMS responder | Reply to inbound SMS with dynamic content | | Call routing | Route calls based on caller, time, or external data | | AI voice agent | Connect calls to a speech AI pipeline via ElevenLabs or similar | | Number masking | Proxy calls between parties without exposing real numbers | | Conversation bot | Handle WhatsApp, Messenger, SMS via the Conversation API | ## What you can do with the CLI | Workflow | Command | | --- | --- | | Rent a phone number | `sinch numbers available rent` | | Send an SMS | `sinch conversation send` | | Send a fax | `sinch fax send` | | Manage SIP trunks | `sinch sip trunks` | | Deploy a function | `sinch functions deploy` | | Stream function logs | `sinch functions logs --follow` | | Store a secret | `sinch secrets add` | ## Two runtimes, one mental model Functions runs your code on either runtime with full feature parity. | | Node.js | C# | | --- | --- | --- | | Language | TypeScript / JavaScript | C# / .NET 9+ | | Package | `@sinch/functions-runtime` | `Sinch.Functions.Runtime` | | Mental model | Like Express | Like ASP.NET MVC with controllers | If you know Express or ASP.NET MVC, you already know 90% of the runtime. The rest is conventions for how Sinch maps URLs to your handlers. ## Where to go next - [Concepts & architecture](/docs/functions/concepts/overview) - [Install the CLI](/docs/functions/cli/installation) - [Quickstart for Functions](#) - [CLI command reference](/docs/functions/cli/overview) - [Runtime cheat sheets](/docs/functions/reference/function-context)