Fluent & Type-Safe
Define flows, queues, and routing with a fluent API. IntelliSense guides you through every step.
Build and manage Amazon Connect Contact Centers with code
using Switchboard.Infrastructure;
var app = new SwitchboardApp();
// Create a new Connect instance
var callCenter = app.CreateCallCenter("MyCallCenter", "my-call-center");
// Add business hours
var businessHours = HoursOfOperation
.Create("Business Hours")
.WithTimeZone("America/New_York")
.WithStandardBusinessHours()
.Build(callCenter);
// Add queues
var salesQueue = Queue
.Create("Sales")
.SetDescription("Sales inquiries")
.SetMaxContacts(50)
.Build(callCenter, businessHours.HoursOfOperation.Name);
// Create a contact flow with IVR menu
Flow
.Create("Main Menu")
.SetType(FlowType.ContactFlow)
.PlayPrompt("Welcome to our call center!")
.GetCustomerInput("Press 1 for sales, 2 for support.")
.OnDigit("1", sales => sales
.PlayPrompt("Transferring to sales...")
.TransferToQueue("Sales")
.Disconnect())
.OnDigit("2", support => support
.PlayPrompt("Transferring to support...")
.TransferToQueue("Support")
.Disconnect())
.Disconnect()
.Build(callCenter);
app.Synth();dotnet add package NickSoftware.Switchboard
npm install -g aws-cdkTraditional Amazon Connect development is painful:
I'm a developer. I wanted to write code, not wrestle with JSON.
With a code-first approach:
✅ Code is readable and understandable—flows look like actual logic, not configuration soup ✅ Real collaboration—code reviews, pull requests, team development ✅ Self-documenting—the code speaks for itself about what gets created ✅ Fluent API—IntelliSense guides you through every configuration option ✅ Built on CDK—you still have full power to customize when needed ✅ Version control that works—meaningful diffs, rollback capability, audit trail
Switchboard was built to solve my problems. Maybe you have the same ones:
If this resonates with you, Switchboard is for you.
Ready to stop wrestling with JSON and start writing code?