.NET SDK

dotnet add package Glytos

Targets net8.0 and netstandard2.0.

Setup

using Glytos;

using var glytos = new GlytosClient("gly_...");

To act in a specific environment, name it - dev, staging, prod, or an environment uuid. It defaults to Development.

using var prod = new GlytosClient("gly_...", new GlytosClientOptions { Environment = "prod" });

Resources

await glytos.Workflows.ListAsync();
await glytos.Workflows.RetrieveAsync(workflowUuid);
await glytos.Workflows.CreateAsync("Receptionist", mode: "prompt");

await glytos.Calls.CreateAsync(new
{
    transport = "phone",
    workflow_uuid = workflowUuid,
    to_number = "+1...",
});
await glytos.Calls.ListAsync();

await glytos.Workflows.SessionAsync(workflowUuid, sessionUuid);

ASP.NET Core

dotnet add package Glytos.Extensions.DependencyInjection
builder.Services.AddGlytos(builder.Configuration["Glytos:ApiKey"]!, options =>
{
    options.Environment = "prod";
});

app.MapGet("/agents", async (GlytosClient glytos) => await glytos.Workflows.ListAsync());

Anything not wrapped

await glytos.RequestAsync<JsonElement>("GET", "/providers");

Verifying webhooks

using Glytos;

// The raw body must be the untouched request body - parsing and re-serialising it
// changes the bytes and the signature will not match.
var ok = Webhook.Verify(rawBody, Request.Headers["X-Glytos-Signature"], secret);

See Webhooks.

.NET SDK · Glytos Docs