Skip to main content

Samples

These sample applications demonstrate how to use the Ratatosk framework with each supported channel provider. Each sample is a standalone project with its own solution file and README.

Available samples

SampleChannelTypeDescription
Facebook MessengerFacebook MessengerConsoleSend/receive messages via Facebook Page
Telegram BotTelegram BotConsoleSend messages via Telegram Bot API
SendGrid EmailSendGridConsoleSend transactional emails
Firebase PushFirebase FCMConsoleSend push notifications
Twilio SMS & WhatsAppTwilioConsoleSend SMS and WhatsApp messages
Multi-ConnectorAll channelsASP.NET Core APIREST API exposing all connectors
Sender ManagerSendGridASP.NET Core APICRUD sender identities + message send with polymorphic sender resolution

Prerequisites

  • .NET 8.0 SDK
  • Credentials for the messaging service(s) you want to test (see each sample's README)

How the samples work

The sample projects reference the framework source projects directly via <ProjectReference> in their .csproj files. This means:

  • The framework is built automatically when you build or run a sample
  • Changes to framework source code are immediately reflected in the sample
  • No pre-built DLLs or manual build steps are required

Each sample has its own solution (.sln) file that includes both the sample project and the framework projects it depends on.

Running a sample

Each sample includes a run.sh convenience script:

cd samples/<name>
./run.sh -- <connector> <command>

Use the -v flag to enable verbose logging:

./run.sh -v -- <connector> <command>

To build without running:

dotnet build

To open in an IDE, open the sample's .sln file (e.g., samples/facebook-messenger/Facebook.sln).

Per-sample setup

Before running a sample, you need credentials for the messaging service. Each sample's README includes:

  • Provider-specific setup instructions
  • Configuration wizard (./run.sh -- <name> configure)
  • Available commands (send, validate, receive, status, etc.)
  • Environment variable reference