# Templates Templates are starter projects for voice, SMS, and AI use cases. Each template includes a README with setup instructions — that README is your getting-started guide for that template. ## Browse Templates ```bash sinch templates list # all templates sinch templates list --runtime node # Node.js only sinch templates list --runtime csharp # C# only sinch templates show node/simple-voice-ivr # full details ``` Templates are also browsable in the dashboard. ## Create a Function from a Template ```bash sinch functions init simple-voice-ivr --name my-ivr ``` Downloads the template, creates the directory, installs dependencies, and prompts for required variables and secrets. ## sinch.json Every template includes a `sinch.json` that configures the function: ```json { "name": "my-ivr", "runtime": "node", "description": "A voice IVR for handling inbound calls", "variables": { "COMPANY_NAME": "Acme Corp", "FORWARD_NUMBER": "+15559876543" } } ``` | Field | Required | Description | | --- | --- | --- | | `name` | Yes | Function name, used as the deployment identifier | | `runtime` | Yes | `node` or `csharp` | | `description` | No | Human-readable description | | `variables` | No | Non-secret environment variables | After the first deployment, the CLI adds `functionId` so subsequent commands find the function automatically.