Agentic Workflows

Use SumUp in your agentic workflows.

Last updated View as Markdown

Use SumUp to enhance your agent with SumUp functionalities. By enabling access to financial services and tools, you allow your agents to help you earn money, manage funds, and other provide other functionalities available in SumUp APIs.

OpenAI

Example usage of the SumUp Agent Toolkit(Opens in a new tab) with the OpenAI(Opens in a new tab).

import { SumUpAgentToolkit } from "@sumup/agent-toolkit/openai";
import OpenAI from "openai";
import type { ChatCompletionMessageParam } from "openai/resources";

require("dotenv").config();

const openai = new OpenAI();

const sumupAgentToolkit = new SumUpAgentToolkit({
  apiKey: process.env.SUMUP_API_KEY!,
});

(async (): Promise<void> => {
  let messages: ChatCompletionMessageParam[] = [
    {
      role: "user",
      content: "Tell me about my last 10 transactions please.",
    },
  ];

  while (true) {
    // eslint-disable-next-line no-await-in-loop
    const completion = await openai.chat.completions.create({
      model: "gpt-4o",
      messages,
      tools: sumupAgentToolkit.getTools(),
    });

    const message = completion.choices[0].message;

    messages.push(message);

    if (message.tool_calls) {
      // eslint-disable-next-line no-await-in-loop
      const toolMessages = await Promise.all(
        message.tool_calls.map((tc) => sumupAgentToolkit.handleToolCall(tc)),
      );
      messages = [...messages, ...toolMessages];
    } else {
      console.log(completion.choices[0].message);
      break;
    }
  }
})();

AI SDK

Example usage of the SumUp Agent Toolkit(Opens in a new tab) with the AI SDK(Opens in a new tab).

import { openai } from "@ai-sdk/openai";
import { SumUpAgentToolkit } from "@sumup/agent-toolkit/ai";
import { generateText } from "ai";

require("dotenv").config();

const sumupAgentToolkit = new SumUpAgentToolkit({
  apiKey: process.env.SUMUP_API_KEY!,
});

const model = openai("gpt-4o");

(async () => {
  const result = await generateText({
    model: model,
    tools: {
      ...sumupAgentToolkit.getTools(),
    },
    maxSteps: 5,
    prompt: "Tell me about my last 5 transactions and their status.",
  });

  console.log(result);
})();

Type to search…