Skip to content

Microsoft.Extensions.AI Integration

Cross-SDK comparison

See the centralized MEAI documentation for feature matrices and comparisons across all tryAGI SDKs.

The Novu SDK provides AIFunction tool wrappers compatible with Microsoft.Extensions.AI. These tools can be used with any IChatClient to give AI models access to Novu's notification triggering, subscriber management, workflow listing, and topic management.

Installation

1
dotnet add package tryAGI.Novu

Available Tools

Method Tool Name Description
AsTriggerEventTool() Novu_TriggerEvent Trigger a notification event
AsSearchSubscribersTool() Novu_SearchSubscribers Search subscribers by email/name/phone
AsListWorkflowsTool() Novu_ListWorkflows List notification workflows
AsListNotificationsTool() Novu_ListNotifications List notification events
AsGetNotificationTool() Novu_GetNotification Get notification details and logs
AsListTopicsTool() Novu_ListTopics List notification topics

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using Microsoft.Extensions.AI;
using Novu;

var client = new NovuClient(
    apiKey: Environment.GetEnvironmentVariable("NOVU_API_KEY")!);

var options = new ChatOptions
{
    Tools = [client.AsTriggerEventTool()],
};

IChatClient chatClient = /* your chat client */;

var messages = new List<ChatMessage>
{
    new(ChatRole.User, "Send a welcome notification to subscriber user-123"),
};

while (true)
{
    var response = await chatClient.GetResponseAsync(messages, options);
    messages.AddRange(response.ToChatMessages());

    if (response.FinishReason == ChatFinishReason.ToolCalls)
    {
        var results = await response.CallToolsAsync(options);
        messages.AddRange(results);
        continue;
    }

    Console.WriteLine(response.Text);
    break;
}