92 lines
6.3 KiB
Python
92 lines
6.3 KiB
Python
# Copyright (c) 2025 Patrick Motsch
|
|
# Email node definitions - map to methodOutlook actions.
|
|
|
|
EMAIL_NODES = [
|
|
{
|
|
"id": "email.checkEmail",
|
|
"category": "email",
|
|
"label": {"en": "Check Email", "de": "E-Mail prüfen", "fr": "Vérifier email"},
|
|
"description": {"en": "Check for new emails", "de": "Neue E-Mails prüfen", "fr": "Vérifier les nouveaux emails"},
|
|
"parameters": [
|
|
{"name": "connectionReference", "type": "string", "required": True, "frontendType": "userConnection",
|
|
"description": {"en": "Email account connection", "de": "E-Mail-Konto Verbindung", "fr": "Connexion compte email"}},
|
|
{"name": "folder", "type": "string", "required": False, "frontendType": "text",
|
|
"description": {"en": "Folder (e.g. Inbox)", "de": "Ordner", "fr": "Dossier"}, "default": "Inbox"},
|
|
{"name": "limit", "type": "number", "required": False, "frontendType": "number",
|
|
"description": {"en": "Max emails to fetch", "de": "Max E-Mails", "fr": "Max emails"}, "default": 100},
|
|
{"name": "fromAddress", "type": "string", "required": False, "frontendType": "text",
|
|
"description": {"en": "Only emails from this address", "de": "Nur von dieser Adresse", "fr": "Seulement de cette adresse"}, "default": ""},
|
|
{"name": "subjectContains", "type": "string", "required": False, "frontendType": "text",
|
|
"description": {"en": "Subject must contain", "de": "Betreff muss enthalten", "fr": "Le sujet doit contenir"}, "default": ""},
|
|
{"name": "hasAttachment", "type": "boolean", "required": False, "frontendType": "checkbox",
|
|
"description": {"en": "Only with attachments", "de": "Nur mit Anhängen", "fr": "Avec pièces jointes"}, "default": False},
|
|
{"name": "filter", "type": "string", "required": False, "frontendType": "text",
|
|
"description": {"en": "Advanced: raw filter", "de": "Erweitert: Filter-Text", "fr": "Avancé: filtre brut"}, "default": ""},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["Transit"]}},
|
|
"outputPorts": {0: {"schema": "EmailList"}},
|
|
"meta": {"icon": "mdi-email-check", "color": "#1976D2"},
|
|
"_method": "outlook",
|
|
"_action": "readEmails",
|
|
},
|
|
{
|
|
"id": "email.searchEmail",
|
|
"category": "email",
|
|
"label": {"en": "Search Email", "de": "E-Mail suchen", "fr": "Rechercher email"},
|
|
"description": {"en": "Search or find emails", "de": "E-Mails suchen", "fr": "Rechercher des emails"},
|
|
"parameters": [
|
|
{"name": "connectionReference", "type": "string", "required": True, "frontendType": "userConnection",
|
|
"description": {"en": "Email account connection", "de": "E-Mail-Konto Verbindung", "fr": "Connexion compte email"}},
|
|
{"name": "query", "type": "string", "required": False, "frontendType": "text",
|
|
"description": {"en": "Search term", "de": "Suchbegriff", "fr": "Terme de recherche"}, "default": ""},
|
|
{"name": "folder", "type": "string", "required": False, "frontendType": "text",
|
|
"description": {"en": "Folder to search", "de": "Ordner", "fr": "Dossier"}, "default": "Inbox"},
|
|
{"name": "limit", "type": "number", "required": False, "frontendType": "number",
|
|
"description": {"en": "Max emails", "de": "Max E-Mails", "fr": "Max emails"}, "default": 100},
|
|
{"name": "fromAddress", "type": "string", "required": False, "frontendType": "text",
|
|
"description": {"en": "From address", "de": "Von Adresse", "fr": "De l'adresse"}, "default": ""},
|
|
{"name": "toAddress", "type": "string", "required": False, "frontendType": "text",
|
|
"description": {"en": "To address", "de": "An Adresse", "fr": "À l'adresse"}, "default": ""},
|
|
{"name": "subjectContains", "type": "string", "required": False, "frontendType": "text",
|
|
"description": {"en": "Subject contains", "de": "Betreff enthält", "fr": "Sujet contient"}, "default": ""},
|
|
{"name": "bodyContains", "type": "string", "required": False, "frontendType": "text",
|
|
"description": {"en": "Body contains", "de": "Inhalt enthält", "fr": "Corps contient"}, "default": ""},
|
|
{"name": "hasAttachment", "type": "boolean", "required": False, "frontendType": "checkbox",
|
|
"description": {"en": "With attachments", "de": "Mit Anhängen", "fr": "Avec pièces jointes"}, "default": False},
|
|
{"name": "filter", "type": "string", "required": False, "frontendType": "text",
|
|
"description": {"en": "Advanced: raw KQL", "de": "Erweitert: KQL-Filter", "fr": "Avancé: filtre KQL"}, "default": ""},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["Transit"]}},
|
|
"outputPorts": {0: {"schema": "EmailList"}},
|
|
"meta": {"icon": "mdi-email-search", "color": "#1976D2"},
|
|
"_method": "outlook",
|
|
"_action": "searchEmails",
|
|
},
|
|
{
|
|
"id": "email.draftEmail",
|
|
"category": "email",
|
|
"label": {"en": "Draft Email", "de": "E-Mail entwerfen", "fr": "Brouillon email"},
|
|
"description": {"en": "Create a draft email", "de": "E-Mail-Entwurf erstellen", "fr": "Créer un brouillon"},
|
|
"parameters": [
|
|
{"name": "connectionReference", "type": "string", "required": True, "frontendType": "userConnection",
|
|
"description": {"en": "Email account", "de": "E-Mail-Konto", "fr": "Compte email"}},
|
|
{"name": "subject", "type": "string", "required": True, "frontendType": "text",
|
|
"description": {"en": "Subject", "de": "Betreff", "fr": "Sujet"}},
|
|
{"name": "body", "type": "string", "required": True, "frontendType": "textarea",
|
|
"description": {"en": "Body", "de": "Inhalt", "fr": "Corps"}},
|
|
{"name": "to", "type": "string", "required": False, "frontendType": "text",
|
|
"description": {"en": "Recipient(s)", "de": "Empfänger", "fr": "Destinataire(s)"}, "default": ""},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["EmailDraft", "AiResult", "Transit"]}},
|
|
"outputPorts": {0: {"schema": "ActionResult"}},
|
|
"meta": {"icon": "mdi-email-edit", "color": "#1976D2"},
|
|
"_method": "outlook",
|
|
"_action": "composeAndDraftEmailWithContext",
|
|
},
|
|
]
|