Hoe een Email Agent bouwen met Xelflow

De AI agent leest je email en op basis van de inhoud wordt de email verplaatst naar een 'DevOps', 'Important' of 'Info' folder.

Ik kwam laatst een vraag tegen om een e-mail agent de maken die e-mails gecategoriseerd met n8n.

Natuurlijk was ik benieuwd hoe ik dit kon maken met Xelflow.

Email Agent

Stappenplan

Na wat nadenken kwam ik tot de volgende process:

  • Ophalen e-mail uit mailbox
  • Als e-mail bestaat deze dan naar een AI agent sturen

Waarbij de AI agent 2 opdrachten meekrijgt:

  • Categoriseren van de e-mail en aanroepen flow voor het verplaatsen van de e-mail naar de juiste folder
  • Aanroepen van flow voor het opslaan van de redenering van de AI agent

Xelflow heeft geen build-in steps om e-mail te lezen en naar een folder te verplaatsen. Voor de meeste functionaliteiten die niet in Xelflow zitten is het maken van een Azure function een goede optie.

We hebben dus voor de goede werking van de AI agent de volgende componenten nodig:

  • Een Azure function om e-mail te lezen en naar een folder te verplaatsen
  • Een Azure function om een e-mail naar een folder te verplaatsen
  • In Xelflow een flow om een bovenstaande e-mail lees Azure function te gebruiken en naar een AI agent te sturen
  • In Xelflow een flow om een bovenstaande e-mail verplaats Azure function te gebruiken
  • In Xelflow een flow om de redenering van de AI agent te documenteren

De Azure function voor het lezen en verplaatsen van e-mail

Het maken van een Azure function voor het lezen en verplaatsen van e-mail is relatief makkelijk. Ik heb ImapFlow in een nodejs Azure function gebruikt. Voor het lezen van de e-mail haal ik de envelop en de tekst of html inhoud op en geef deze als json terug. Standaard wordt de laatste e-mail in de Inbox teruggeven.

Voor het verplaatsen van de e-mail heb ik een seq nummer en de folder naam nodig en geef ik alleen succes message of fout message terug. Beide functies hebben natuurlijk de authenticatie gegevens van de mail box nodig.

De Xelflow flow voor het aanroepen van de Azure function en aanroepen van de AI agent

Het event voor het aanroepen van de Xelflow flow wordt gescheduled voor elke 10 min en gebruikt admin user rechten. De Xelfow flow heeft de volgende stappen:

  • Aanroepen van de Azure function
  • Aanroepen van de AI agent met de output van de Azure function


De AI agent heeft toegang tot 2 andere functies: een functie om de e-mail te verplaatsen en een functie de redenatie op te slaan in de database. De system prompt voor de AI agent is als volgt:

"You are a helpful assistant, helping to categorize emails. In the chat you will receive an json representation of an email. Based on the information in the email make a choice where to move the email. When the email is a DevOps email move the email to the 'DevOps' mailbox. When the email has an action in it, like payment of a invoice or a question for a reply move or something else that would make the email important. Move the email to the 'Important' mailbox. All other emails move to the 'Info' mailbox. You can move an email with the MoveEmail event. After moving the email call the SaveEmailAction with the reason why the email is moved to a specific mailbox. Use ListEvents to get the details of the events."

De events en de system prompt zijn onderdeel van the step authenticatie. Met de ListEvents tool kan de AI de details van de beschikbare events ophalen. Met CallEvent kan de AI dan een event aanroepen. Voor deze AI agent gebruik ik gpt-4.1-mini via Azure Foundry

De Xelflow flow voor het aanroepen van de Azure function voor verplaatsen van de e-mail

Deze flow is simpel en bestaat uit 2 stappen:

  • Aanroepen van de Azure function met de e-mail en folder als parameter uit het aanroepende event
  • Terugsturen van de reply

De Xelflow flow voor het opslaan van de redenatie in de database

Deze flow is ook simpel en bestaat uit 2 stappen:

  • Aanroepen van een database stap met een insert.
  • Terugsturen van succes / failure

Conclusie

Ja, het is mogelijk om een e-mail agent te maken met Xelflow. Een extra Azure functie is nodig, maar verder zijn alle stappen makkelijk en overzichtelijk.

Xelflow

Xelflow is een op workflows gebaseerd platform waarmee je snel web applicaties en AI agents kan maken.