E-mail versturen vanuit AutoGen
Registreer WeSender als tool in een multi-agent AutoGen-gesprek en laat agents e-mails versturen tijdens hun samenwerking.
Vereisten
- WeSender-account met geverifieerd domein en API-sleutel
- Een modelsleutel voor het LLM naar keuze
- Python 3.10 of nieuwer
- pip install autogen wesender
Stap 1: Installeer de pakketten
Voeg AutoGen (AG2) en de WeSender Python SDK toe aan je project.
pip install autogen wesender Stap 2: Definieer de tool en maak de agents
Schrijf send_email als Python-functie. Maak een assistant-agent die beslist en een executor-agent die uitvoert. Zo scheid je beslissen en handelen.
import os
from autogen import ConversableAgent, register_function
from wesender import Wesender
client = Wesender(api_key=os.environ["WESENDER_API_KEY"])
def send_email(to: str, subject: str, html: str) -> str:
"""Verstuur een transactionele e-mail via WeSender."""
result = client.emails.send(
from_="agent@jouwdomein.nl",
to=to,
subject=subject,
html=html,
)
return f"E-mail verstuurd, id: {result.id}"
assistant = ConversableAgent(name="assistant", llm_config={"model": "gpt-4o"})
executor = ConversableAgent(name="executor", human_input_mode="NEVER") Stap 3: Registreer de tool
Koppel send_email aan de juiste agents. De assistant bepaalt wanneer de tool nodig is, de executor voert hem daadwerkelijk uit.
register_function(
send_email,
caller=assistant,
executor=executor,
description="Verstuur een transactionele e-mail via WeSender",
) Stap 4: Start het gesprek
De executor opent het gesprek. De agents wisselen berichten uit totdat de taak afgerond is en de e-mail verstuurd.
executor.initiate_chat(
assistant,
message="Mail een welkomstbericht naar nieuwe@klant.nl",
) Volledig voorbeeld
Hier is de volledige implementatie in main.py:
import os
from autogen import ConversableAgent, register_function
from wesender import Wesender
client = Wesender(api_key=os.environ["WESENDER_API_KEY"])
def send_email(to: str, subject: str, html: str) -> str:
"""Verstuur een transactionele e-mail via WeSender."""
result = client.emails.send(
from_="agent@jouwdomein.nl",
to=to,
subject=subject,
html=html,
)
return f"E-mail verstuurd, id: {result.id}"
assistant = ConversableAgent(
name="assistant",
llm_config={"model": "gpt-4o"},
)
executor = ConversableAgent(
name="executor",
human_input_mode="NEVER",
)
register_function(
send_email,
caller=assistant,
executor=executor,
description="Verstuur een transactionele e-mail via WeSender",
)
executor.initiate_chat(
assistant,
message="Mail een welkomstbericht naar nieuwe@klant.nl",
) Bezorgstatussen via webhooks
AutoGen kan bezorg-, bounce- en klachtsignalen ontvangen via webhooks. Configureer een webhook-endpoint in je AutoGen-workflow dat POST-verzoeken van Wesender accepteert. Zie Webhooks instellen voor de volledige configuratiestappen en het payload-formaat.
Veelgestelde vragen
Welke agent verstuurt de mail?
De executor voert de tool uit nadat de assistant hem heeft aangewezen. Zo scheid je beslissen en uitvoeren, wat de controleerbaarheid van je multi-agent systeem vergroot.
Werkt dit ook met groepsgesprekken?
Ja. Registreer de tool bij de juiste agents in je groepsgesprek. De GroupChatManager stuurt de beurt naar de agent die de e-mail moet versturen.
Kan ik een mens laten goedkeuren?
Ja. Zet human_input_mode op 'ALWAYS' of 'TERMINATE' bij de executor om bevestiging te vragen voordat de tool wordt uitgevoerd.