Add Activepieces integration for workflow automation

- Add Activepieces fork with SmoothSchedule custom piece
- Create integrations app with Activepieces service layer
- Add embed token endpoint for iframe integration
- Create Automations page with embedded workflow builder
- Add sidebar visibility fix for embed mode
- Add list inactive customers endpoint to Public API
- Include SmoothSchedule triggers: event created/updated/cancelled
- Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
poduck
2025-12-18 22:59:37 -05:00
parent 9848268d34
commit 3aa7199503
16292 changed files with 1284892 additions and 4708 deletions

View File

@@ -0,0 +1,80 @@
{
"Email marketing platform for list management, campaign sending, tagging & unsubscribes. Automate contact management and campaign engagement tracking.": "E-Mail-Marketing-Plattform für Listenmanagement, Kampagnenversand, Tagging & Abmeldungen. Automatische Kontaktverwaltung und Kampagnenverhandlung.",
"\n To get your API key:\n 1. Log in to your EmailOctopus account.\n 2. Go to your **account settings**.\n 3. Generate a new API key.\n **Note:** If you have a 'legacy' key, you must generate a new one for API v2.\n ": "\n Um Ihren API-Schlüssel zu erhalten:\n 1. Melden Sie sich bei Ihrem EmailOctopus-Konto an.\n 2. Gehen Sie zu Ihren **Kontoeinstellungen**.\n 3. Generieren Sie einen neuen API-Schlüssel.\n **Notiz:** Wenn Sie einen 'legacy' Schlüssel haben, müssen Sie einen neuen für API v2 generieren.\n ",
"Add / Update Contact": "Kontakt hinzufügen / aktualisieren",
"Unsubscribe Contact": "Kontakt abbestellen",
"Update Contact's Email Address": "E-Mail-Adresse des Kontakts aktualisieren",
"Add Tag to Contact": "Tag zu Kontakt hinzufügen",
"Remove Tag from Contact": "Tag vom Kontakt entfernen",
"Create List": "Liste erstellen",
"Find Contact": "Kontakt finden",
"Custom API Call": "Eigener API-Aufruf",
"Adds a new contact to a list or updates an existing contact if one exists.": "Fügt einen neuen Kontakt zu einer Liste hinzu oder aktualisiert einen bestehenden Kontakt, falls dieser vorhanden ist.",
"Sets a contact's status to \"Unsubscribed\" in a specific list.": "Setzt den Status eines Kontakts auf \"Abbestellen\" in einer bestimmten Liste.",
"Change the email address of a contact in a list.": "Ändern Sie die E-Mail-Adresse eines Kontakts in einer Liste.",
"Add one or more tags to a contact in a specified list.": "Fügen Sie einen oder mehrere Tags zu einem Kontakt in einer bestimmten Liste hinzu.",
"Remove one or more tags from a contact in a specified list.": "Entferne ein oder mehrere Tags aus einer bestimmten Liste.",
"Creates a new mailing list.": "Erstellt eine neue Mailingliste.",
"Finds a contact by email address within a given list.": "Findet einen Kontakt per E-Mail-Adresse innerhalb einer vorgegebenen Liste.",
"Make a custom API call to a specific endpoint": "Einen benutzerdefinierten API-Aufruf an einen bestimmten Endpunkt machen",
"List": "Liste",
"Email Address": "E-Mail-Adresse",
"Fields": "Felder",
"Tags": "Tags",
"Status": "Status",
"Current Email Address": "Aktuelle E-Mail-Adresse",
"New Email Address": "Neue E-Mail-Adresse",
"List Name": "Listenname",
"Method": "Methode",
"Headers": "Kopfzeilen",
"Query Parameters": "Abfrageparameter",
"Body": "Körper",
"Response is Binary ?": "Antwort ist binär?",
"No Error on Failure": "Kein Fehler bei Fehler",
"Timeout (in seconds)": "Timeout (in Sekunden)",
"The mailing list to use.": "Die zu verwendende Mailingliste.",
"The contact's email address.": "Die E-Mail-Adresse des Kontakts.",
"The contact's custom fields.": "Die benutzerdefinierten Felder des Kontakts.",
"Tags to associate with the contact. Existing tags will not be removed.": "Schlagwörter, die dem Kontakt zugeordnet werden sollen. Bestehende Schlagwörter werden nicht entfernt.",
"The status of the contact.": "Der Status des Kontakts.",
"The email address of the contact to unsubscribe.": "Die E-Mail-Adresse des Kontakts zum Abmelden.",
"The contact's current email address used to find them.": "Die aktuelle E-Mail-Adresse des Kontakts, um sie zu finden.",
"The new email address for the contact.": "Die neue E-Mail-Adresse für den Kontakt.",
"The tags to add to the contact.": "Die Tags die zum Kontakt hinzugefügt werden sollen.",
"The email address of the contact to modify.": "Die E-Mail-Adresse des zu ändernden Kontakts.",
"The tags to remove from the contact.": "Die Tags die vom Kontakt entfernt werden sollen.",
"The name for the new list.": "Der Name der neuen Liste.",
"The email address of the contact to find.": "Die E-Mail-Adresse des zu findenden Kontakts.",
"Authorization headers are injected automatically from your connection.": "Autorisierungs-Header werden automatisch von Ihrer Verbindung injiziert.",
"Enable for files like PDFs, images, etc..": "Aktivieren für Dateien wie PDFs, Bilder, etc..",
"Subscribed": "Abonniert",
"Unsubscribed": "Abgemeldet",
"Pending": "Ausstehend",
"GET": "ERHALTEN",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "LÖSCHEN",
"HEAD": "HEAD",
"Email Bounced": "E-Mail aufgehoben",
"Email Opened": "E-Mail geöffnet",
"Email Clicked": "E-Mail angeklickt",
"New Contact": "Neuer Kontakt",
"Contact Unsubscribes": "Kontaktiere Abbestellungen",
"Triggers when an email to a recipient bounces from a specific campaign.": "Löst aus, wenn eine E-Mail an einen Empfänger von einer bestimmten Kampagne abgesprungen wird.",
"Triggers when a recipient opens an email from a specified campaign.": "Löst aus, wenn ein Empfänger eine E-Mail aus einer bestimmten Kampagne öffnet.",
"Triggers when a link inside a specific campaign email is clicked.": "Wird ausgelöst, wenn ein Link in einer bestimmten Kampagnen-E-Mail angeklickt wird.",
"Triggers when a new contact is added to a particular list.": "Wird ausgelöst, wenn ein neuer Kontakt zu einer bestimmten Liste hinzugefügt wird.",
"Triggers when a contact unsubscribes from a list.": "Löst aus, wenn ein Kontakt sich von einer Liste abmeldet.",
"Campaign": "Kampagne",
"Markdown": "Markdown",
"Select a campaign to filter events. Leave blank to trigger for all campaigns.": "Wählen Sie eine Kampagne, um Ereignisse zu filtern. Lassen Sie leer um alle Kampagnen auszulösen.",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **Live URL:**\n ```text\n {{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL below into the **URL** field:\n 5. Select the **Email bounced** event.\n 6. Click **Add webhook**.\n ": "\n **Manuelles Setup erforderlich**\n\n 1. Gehen Sie zu Ihrem EmailOctopus Dashboard.\n 2. Navigieren Sie zu **API & Integrations**, dann wählen Sie den Reiter **Webhooks** aus.\n 3. Klicke **Webhook hinzufügen**.\n Fügen Sie die obige URL unten in das Feld **URL** ein:\n ein. Wählen Sie das **E-Mail gekündigt** Event.\n Klicke **Webhook hinzufügen**.\n ",
"\n **Live URL:**\n```text\n{{webhookUrl}}\n```": "\n **Live URL:**\n```text\n{{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email opened** event.\n 6. Click **Add webhook**.\n ": "\n **Manuelles Setup erforderlich**\n\n 1. Gehen Sie zu Ihrem EmailOctopus Dashboard.\n 2. Navigieren Sie zu **API & Integrations**, dann wählen Sie den Reiter **Webhooks** aus.\n 3. Klicke **Webhook hinzufügen**.\n Fügen Sie die obige URL in das Feld **URL** ein:\n ein. Wähle die **E-Mail geöffnet** Event.\n Klicke **Webhook hinzufügen**.\n ",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **Live URL:**\n ```text\n {{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations** → **Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email clicked** event.\n 6. (Optional) Choose the campaign you want to filter on in this trigger.\n 7. Save the webhook.\n ": "\n **Manuelles Setup erforderlich**\n\n 1. Gehen Sie zu Ihrem EmailOctopus Dashboard.\n 2. Navigieren Sie zu **API & Integrations** → **Webhooks**.\n 3. Klicken Sie auf **Webhook hinzufügen**.\n Fügen Sie die obige URL in das Feld **URL** ein:\n ein. Wählen Sie das **E-Mail angeklickt** Event.\n (Optional) Wählen Sie die Kampagne, die Sie in diesem Trigger filtern möchten.\n 7. Speichern Sie den Webhook.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL.\n 5. Select the **Contact created** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Manuelles Setup erforderlich**\n\n 1. Gehen Sie zu Ihrem EmailOctopus Dashboard.\n 2. Navigieren Sie zu **API & Integrations → Webhooks**.\n 3. Klicken Sie auf **Webhook hinzufügen**.\n Fügen Sie die obige URL ein.\n 5. Wählen Sie den **Kontakt erstellten** Event.\n 6. (Optional) Auf die oben ausgewählte Liste beschränken.\n 7. Speichern Sie den Webhook.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL:\n 5. Select the **Email unsubscribed** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Manuelles Setup erforderlich**\n\n 1. Gehen Sie zu Ihrem EmailOctopus Dashboard.\n 2. Navigieren Sie zu **API & Integrations → Webhooks**.\n 3. Klicken Sie auf **Webhook hinzufügen**.\n Fügen Sie die obige URL ein:\n 5. Wählen Sie das **E-Mail abbestellt** Event.\n 6. (Optional) Auf die oben ausgewählte Liste beschränken.\n 7. Speichern Sie den Webhook.\n "
}

View File

@@ -0,0 +1,80 @@
{
"Email marketing platform for list management, campaign sending, tagging & unsubscribes. Automate contact management and campaign engagement tracking.": "Plataforma de marketing de correo electrónico para gestión de listas, envío de campañas, etiquetado y desuscripción. Automatiza la gestión de contactos y seguimiento de participación de campañas.",
"\n To get your API key:\n 1. Log in to your EmailOctopus account.\n 2. Go to your **account settings**.\n 3. Generate a new API key.\n **Note:** If you have a 'legacy' key, you must generate a new one for API v2.\n ": "\n To get your API key:\n 1. Log in to your EmailOctopus account.\n 2. Go to your **account settings**.\n 3. Generate a new API key.\n **Note:** If you have a 'legacy' key, you must generate a new one for API v2.\n ",
"Add / Update Contact": "Añadir / Actualizar contacto",
"Unsubscribe Contact": "Desuscribirse Contacto",
"Update Contact's Email Address": "Actualizar dirección de correo electrónico del contacto",
"Add Tag to Contact": "Añadir etiqueta al contacto",
"Remove Tag from Contact": "Eliminar etiqueta del contacto",
"Create List": "Crear Lista",
"Find Contact": "Encontrar contacto",
"Custom API Call": "Llamada API personalizada",
"Adds a new contact to a list or updates an existing contact if one exists.": "Añade un nuevo contacto a una lista o actualiza un contacto existente si existe uno.",
"Sets a contact's status to \"Unsubscribed\" in a specific list.": "Establece el estado de un contacto a \"Cancelar suscripción\" en una lista específica.",
"Change the email address of a contact in a list.": "Cambiar la dirección de correo electrónico de un contacto en una lista.",
"Add one or more tags to a contact in a specified list.": "Añadir una o más etiquetas a un contacto en una lista especificada.",
"Remove one or more tags from a contact in a specified list.": "Elimina una o más etiquetas de un contacto en una lista especificada.",
"Creates a new mailing list.": "Crea una nueva lista de correo.",
"Finds a contact by email address within a given list.": "Encuentra un contacto por correo electrónico dentro de una lista determinada.",
"Make a custom API call to a specific endpoint": "Hacer una llamada API personalizada a un extremo específico",
"List": "Lista",
"Email Address": "Dirección de email",
"Fields": "Campos",
"Tags": "Etiquetas",
"Status": "Estado",
"Current Email Address": "Dirección de email actual",
"New Email Address": "Nueva dirección de email",
"List Name": "Nombre de lista",
"Method": "Método",
"Headers": "Encabezados",
"Query Parameters": "Parámetros de consulta",
"Body": "Cuerpo",
"Response is Binary ?": "¿Respuesta es binaria?",
"No Error on Failure": "No hay ningún error en fallo",
"Timeout (in seconds)": "Tiempo de espera (en segundos)",
"The mailing list to use.": "La lista de correo a utilizar.",
"The contact's email address.": "Dirección de correo electrónico del contacto.",
"The contact's custom fields.": "Los campos personalizados del contacto.",
"Tags to associate with the contact. Existing tags will not be removed.": "Etiquetas a asociar con el contacto. Las etiquetas existentes no se eliminarán.",
"The status of the contact.": "El estado del contacto.",
"The email address of the contact to unsubscribe.": "La dirección de correo electrónico del contacto para darse de baja.",
"The contact's current email address used to find them.": "La dirección de correo electrónico actual del contacto se utiliza para encontrarlos.",
"The new email address for the contact.": "La nueva dirección de correo electrónico para el contacto.",
"The tags to add to the contact.": "Las etiquetas a añadir al contacto.",
"The email address of the contact to modify.": "La dirección de correo electrónico del contacto para modificar.",
"The tags to remove from the contact.": "Las etiquetas a eliminar del contacto.",
"The name for the new list.": "El nombre de la nueva lista.",
"The email address of the contact to find.": "La dirección de correo electrónico del contacto a encontrar.",
"Authorization headers are injected automatically from your connection.": "Las cabeceras de autorización se inyectan automáticamente desde tu conexión.",
"Enable for files like PDFs, images, etc..": "Activar para archivos como PDFs, imágenes, etc.",
"Subscribed": "Suscrito",
"Unsubscribed": "Desuscrito",
"Pending": "Pendiente",
"GET": "RECOGER",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "BORRAR",
"HEAD": "LIMPIO",
"Email Bounced": "Email rebotado",
"Email Opened": "Email abierto",
"Email Clicked": "Email pulsado",
"New Contact": "Nuevo contacto",
"Contact Unsubscribes": "Darse de baja del contacto",
"Triggers when an email to a recipient bounces from a specific campaign.": "Se activa cuando un correo electrónico a un destinatario rebota de una campaña específica.",
"Triggers when a recipient opens an email from a specified campaign.": "Dispara cuando un destinatario abre un correo electrónico desde una campaña especificada.",
"Triggers when a link inside a specific campaign email is clicked.": "Se activa cuando se hace clic en un enlace dentro de un email de campaña específico.",
"Triggers when a new contact is added to a particular list.": "Dispara cuando un nuevo contacto se agrega a una lista concreta.",
"Triggers when a contact unsubscribes from a list.": "Desactiva cuando un contacto se quita de baja de una lista.",
"Campaign": "Campaña",
"Markdown": "Markdown",
"Select a campaign to filter events. Leave blank to trigger for all campaigns.": "Seleccione una campaña para filtrar eventos. Déjelo en blanco para activar todas las campañas.",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL below into the **URL** field:\n 5. Select the **Email bounced** event.\n 6. Click **Add webhook**.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL below into the **URL** field:\n 5. Select the **Email bounced** event.\n 6. Click **Add webhook**.\n ",
"\n **Live URL:**\n```text\n{{webhookUrl}}\n```": "\n **Live URL:**\n```text\n{{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email opened** event.\n 6. Click **Add webhook**.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email opened** event.\n 6. Click **Add webhook**.\n ",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations** → **Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email clicked** event.\n 6. (Optional) Choose the campaign you want to filter on in this trigger.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations** → **Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email clicked** event.\n 6. (Optional) Choose the campaign you want to filter on in this trigger.\n 7. Save the webhook.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL.\n 5. Select the **Contact created** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL.\n 5. Select the **Contact created** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL:\n 5. Select the **Email unsubscribed** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL:\n 5. Select the **Email unsubscribed** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n "
}

View File

@@ -0,0 +1,80 @@
{
"Email marketing platform for list management, campaign sending, tagging & unsubscribes. Automate contact management and campaign engagement tracking.": "Plateforme de marketing par e-mail pour la gestion de listes, l'envoi de campagnes, le marquage et la désinscription. Automatiser la gestion des contacts et le suivi de l'engagement de campagne.",
"\n To get your API key:\n 1. Log in to your EmailOctopus account.\n 2. Go to your **account settings**.\n 3. Generate a new API key.\n **Note:** If you have a 'legacy' key, you must generate a new one for API v2.\n ": "\n To get your API key:\n 1. Log in to your EmailOctopus account.\n 2. Go to your **account settings**.\n 3. Generate a new API key.\n **Note:** If you have a 'legacy' key, you must generate a new one for API v2.\n ",
"Add / Update Contact": "Ajouter / Mettre à jour le contact",
"Unsubscribe Contact": "Se désabonner du contact",
"Update Contact's Email Address": "Mettre à jour l'adresse e-mail du contact",
"Add Tag to Contact": "Ajouter un tag au contact",
"Remove Tag from Contact": "Retirer le tag du contact",
"Create List": "Créer une liste",
"Find Contact": "Trouver un contact",
"Custom API Call": "Appel d'API personnalisé",
"Adds a new contact to a list or updates an existing contact if one exists.": "Ajoute un nouveau contact à une liste ou met à jour un contact existant s'il en existe.",
"Sets a contact's status to \"Unsubscribed\" in a specific list.": "Définit le statut d'un contact à \"Désabonné\" dans une liste spécifique.",
"Change the email address of a contact in a list.": "Changer l'adresse e-mail d'un contact dans une liste.",
"Add one or more tags to a contact in a specified list.": "Ajouter une ou plusieurs balises à un contact dans une liste spécifiée.",
"Remove one or more tags from a contact in a specified list.": "Retirer un ou plusieurs tags d'un contact dans une liste spécifiée.",
"Creates a new mailing list.": "Créer une nouvelle liste de diffusion.",
"Finds a contact by email address within a given list.": "Trouve un contact par adresse email dans une liste donnée.",
"Make a custom API call to a specific endpoint": "Passer un appel API personnalisé à un endpoint spécifique",
"List": "Liste",
"Email Address": "Adresse e-mail",
"Fields": "Champs",
"Tags": "Tags",
"Status": "Statut",
"Current Email Address": "Adresse e-mail actuelle",
"New Email Address": "Nouvelle adresse e-mail",
"List Name": "Nom de la liste",
"Method": "Méthode",
"Headers": "Headers",
"Query Parameters": "Paramètres de requête",
"Body": "Body",
"Response is Binary ?": "La réponse est Binaire ?",
"No Error on Failure": "Aucune erreur en cas d'échec",
"Timeout (in seconds)": "Délai d'expiration (en secondes)",
"The mailing list to use.": "La liste de diffusion à utiliser.",
"The contact's email address.": "Adresse e-mail du contact.",
"The contact's custom fields.": "Les champs personnalisés du contact.",
"Tags to associate with the contact. Existing tags will not be removed.": "Les tags à associer au contact. Les tags existants ne seront pas supprimés.",
"The status of the contact.": "Le statut du contact.",
"The email address of the contact to unsubscribe.": "L'adresse email du contact à désabonner.",
"The contact's current email address used to find them.": "L'adresse e-mail actuelle du contact utilisée pour les trouver.",
"The new email address for the contact.": "La nouvelle adresse e-mail pour le contact.",
"The tags to add to the contact.": "Les tags à ajouter au contact.",
"The email address of the contact to modify.": "L'adresse email du contact à modifier.",
"The tags to remove from the contact.": "Les tags à supprimer du contact.",
"The name for the new list.": "Le nom de la nouvelle liste.",
"The email address of the contact to find.": "L'adresse email du contact à trouver.",
"Authorization headers are injected automatically from your connection.": "Les Headers d'autorisation sont injectés automatiquement à partir de votre connexion.",
"Enable for files like PDFs, images, etc..": "Activer pour les fichiers comme les PDFs, les images, etc.",
"Subscribed": "Inscrit",
"Unsubscribed": "Désabonné",
"Pending": "En attente",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD",
"Email Bounced": "E-mail rebondi",
"Email Opened": "Courriel ouvert",
"Email Clicked": "Courriel cliqué",
"New Contact": "Nouveau contact",
"Contact Unsubscribes": "Se désabonner du contact",
"Triggers when an email to a recipient bounces from a specific campaign.": "Déclenche lorsqu'un e-mail à un destinataire rebondit à partir d'une campagne spécifique.",
"Triggers when a recipient opens an email from a specified campaign.": "Déclenche lorsqu'un destinataire ouvre un e-mail à partir d'une campagne spécifiée.",
"Triggers when a link inside a specific campaign email is clicked.": "Déclenche lorsqu'un lien est cliqué à l'intérieur d'un email de campagne spécifique.",
"Triggers when a new contact is added to a particular list.": "Déclenche lorsqu'un nouveau contact est ajouté à une liste particulière.",
"Triggers when a contact unsubscribes from a list.": "Déclenche lorsqu'un contact se désabonne d'une liste.",
"Campaign": "Campagnes",
"Markdown": "Markdown",
"Select a campaign to filter events. Leave blank to trigger for all campaigns.": "Sélectionnez une campagne pour filtrer les événements. Laissez vide pour déclencher toutes les campagnes.",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **URL en direct:**\n ```text\n {{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL below into the **URL** field:\n 5. Select the **Email bounced** event.\n 6. Click **Add webhook**.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL below into the **URL** field:\n 5. Select the **Email bounced** event.\n 6. Click **Add webhook**.\n ",
"\n **Live URL:**\n```text\n{{webhookUrl}}\n```": "\n **URL en direct:**\n```text\n{{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email opened** event.\n 6. Click **Add webhook**.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email opened** event.\n 6. Click **Add webhook**.\n ",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **URL en direct:**\n ```text\n {{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations** → **Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email clicked** event.\n 6. (Optional) Choose the campaign you want to filter on in this trigger.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations** → **Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email clicked** event.\n 6. (Optional) Choose the campaign you want to filter on in this trigger.\n 7. Save the webhook.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL.\n 5. Select the **Contact created** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL.\n 5. Select the **Contact created** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL:\n 5. Select the **Email unsubscribed** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL:\n 5. Select the **Email unsubscribed** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n "
}

View File

@@ -0,0 +1,80 @@
{
"Email marketing platform for list management, campaign sending, tagging & unsubscribes. Automate contact management and campaign engagement tracking.": "リスト管理、キャンペーン送信、タグ付け、購読解除のためのメールマーケティングプラットフォーム 連絡先管理とキャンペーンエンゲージメント追跡を自動化します。",
"\n To get your API key:\n 1. Log in to your EmailOctopus account.\n 2. Go to your **account settings**.\n 3. Generate a new API key.\n **Note:** If you have a 'legacy' key, you must generate a new one for API v2.\n ": "\n To get your API key:\n 1. Log in to your EmailOctopus account.\n 2. Go to your **account settings**.\n 3. Generate a new API key.\n **Note:** If you have a 'legacy' key, you must generate a new one for API v2.\n ",
"Add / Update Contact": "連絡先の追加 / 更新",
"Unsubscribe Contact": "連絡先を購読解除",
"Update Contact's Email Address": "連絡先のメールアドレスを更新",
"Add Tag to Contact": "連絡先にタグを追加",
"Remove Tag from Contact": "連絡先からタグを削除",
"Create List": "リストを作成",
"Find Contact": "連絡先を探す",
"Custom API Call": "カスタムAPI通話",
"Adds a new contact to a list or updates an existing contact if one exists.": "新しい連絡先をリストに追加するか、既存の連絡先が存在する場合は更新します。",
"Sets a contact's status to \"Unsubscribed\" in a specific list.": "特定のリストの連絡先のステータスを \"未購読\" に設定します。",
"Change the email address of a contact in a list.": "リスト内の連絡先のメールアドレスを変更します。",
"Add one or more tags to a contact in a specified list.": "指定されたリストの連絡先に1つ以上のタグを追加します。",
"Remove one or more tags from a contact in a specified list.": "指定されたリストの連絡先から 1 つ以上のタグを削除します。",
"Creates a new mailing list.": "新しいメーリングリストを作成します。",
"Finds a contact by email address within a given list.": "指定したリスト内のメールアドレスで連絡先を検索します。",
"Make a custom API call to a specific endpoint": "特定のエンドポイントへのカスタム API コールを実行します。",
"List": "リスト",
"Email Address": "メールアドレス",
"Fields": "フィールド",
"Tags": "タグ",
"Status": "Status",
"Current Email Address": "現在のメールアドレス",
"New Email Address": "新しいメールアドレス",
"List Name": "リスト名",
"Method": "方法",
"Headers": "ヘッダー",
"Query Parameters": "クエリパラメータ",
"Body": "本文",
"Response is Binary ?": "応答はバイナリですか?",
"No Error on Failure": "失敗時にエラーはありません",
"Timeout (in seconds)": "タイムアウト(秒)",
"The mailing list to use.": "使用するメーリングリスト。",
"The contact's email address.": "連絡先のメールアドレス",
"The contact's custom fields.": "連絡先のカスタム項目。",
"Tags to associate with the contact. Existing tags will not be removed.": "連絡先に関連付けるタグ。既存のタグは削除されません。",
"The status of the contact.": "連絡先の状態",
"The email address of the contact to unsubscribe.": "購読を解除する連絡先のメールアドレス",
"The contact's current email address used to find them.": "連絡先の現在のメールアドレスを検索するために使用されます。",
"The new email address for the contact.": "連絡先の新しいメールアドレス。",
"The tags to add to the contact.": "連絡先に追加するタグ。",
"The email address of the contact to modify.": "変更するコンタクトのメールアドレス",
"The tags to remove from the contact.": "コンタクトから削除するタグ。",
"The name for the new list.": "新しいリストの名前。",
"The email address of the contact to find.": "検索する連絡先のメールアドレス",
"Authorization headers are injected automatically from your connection.": "認証ヘッダは接続から自動的に注入されます。",
"Enable for files like PDFs, images, etc..": "PDF、画像などのファイルを有効にします。",
"Subscribed": "購読中",
"Unsubscribed": "購読解除済み",
"Pending": "処理待ち",
"GET": "取得",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "削除",
"HEAD": "頭",
"Email Bounced": "メールがバウンスされました",
"Email Opened": "メールが開かれました",
"Email Clicked": "メールがクリックされました",
"New Contact": "新しい連絡先",
"Contact Unsubscribes": "連絡先の登録解除",
"Triggers when an email to a recipient bounces from a specific campaign.": "特定のキャンペーンから受信者にメールがバウンスしたときにトリガーします。",
"Triggers when a recipient opens an email from a specified campaign.": "受信者が指定したキャンペーンからメールを開いたときにトリガーします。",
"Triggers when a link inside a specific campaign email is clicked.": "特定のキャンペーンメール内のリンクがクリックされたときにトリガーされます。",
"Triggers when a new contact is added to a particular list.": "特定のリストに新しい連絡先が追加されたときにトリガーされます。",
"Triggers when a contact unsubscribes from a list.": "連絡先がリストから登録解除されたときにトリガーします。",
"Campaign": "キャンペーン",
"Markdown": "Markdown",
"Select a campaign to filter events. Leave blank to trigger for all campaigns.": "イベントをフィルタリングするキャンペーンを選択します。すべてのキャンペーンをトリガーするには空白のままにします。",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **ライブURL:**\n ```text\n {{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL below into the **URL** field:\n 5. Select the **Email bounced** event.\n 6. Click **Add webhook**.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL below into the **URL** field:\n 5. Select the **Email bounced** event.\n 6. Click **Add webhook**.\n ",
"\n **Live URL:**\n```text\n{{webhookUrl}}\n```": "\n **ライブURL:**\n```text\n{{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email opened** event.\n 6. Click **Add webhook**.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email opened** event.\n 6. Click **Add webhook**.\n ",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **ライブURL:**\n ```text\n {{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations** → **Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email clicked** event.\n 6. (Optional) Choose the campaign you want to filter on in this trigger.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations** → **Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email clicked** event.\n 6. (Optional) Choose the campaign you want to filter on in this trigger.\n 7. Save the webhook.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL.\n 5. Select the **Contact created** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL.\n 5. Select the **Contact created** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL:\n 5. Select the **Email unsubscribed** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL:\n 5. Select the **Email unsubscribed** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n "
}

View File

@@ -0,0 +1,80 @@
{
"Email marketing platform for list management, campaign sending, tagging & unsubscribes. Automate contact management and campaign engagement tracking.": "E-mail marketing platform voor lijstbeheer, campagneverzending, taggen en afmelden. Automatiseren contact beheer en campagne engagement bijhouden.",
"\n To get your API key:\n 1. Log in to your EmailOctopus account.\n 2. Go to your **account settings**.\n 3. Generate a new API key.\n **Note:** If you have a 'legacy' key, you must generate a new one for API v2.\n ": "\n Om je API-sleutel te verkrijgen:\n 1. Log in op uw EmailOctopus account.\n 2. Ga naar **accountinstellingen**.\n 3. Genereer een nieuwe API-sleutel.\n **Opmerking:** Als je een 'legace' sleutel hebt, moet je een nieuwe aanmaken voor API v2.\n ",
"Add / Update Contact": "Toevoegen / bijwerken contact",
"Unsubscribe Contact": "Ontvangers uitschrijven",
"Update Contact's Email Address": "E-mailadres van contactpersoon bijwerken",
"Add Tag to Contact": "Tag aan contactpersoon toevoegen",
"Remove Tag from Contact": "Verwijder Tag uit Contactpersoon",
"Create List": "Lijst aanmaken",
"Find Contact": "Contactpersoon zoeken",
"Custom API Call": "Custom API Call",
"Adds a new contact to a list or updates an existing contact if one exists.": "Voegt een nieuw contact toe aan een lijst of werkt een bestaand contact bij als deze bestaat.",
"Sets a contact's status to \"Unsubscribed\" in a specific list.": "Stelt de status van een contactpersoon in op \"Afmelden\" in een specifieke lijst.",
"Change the email address of a contact in a list.": "Wijzig het e-mailadres van een contactpersoon in een lijst.",
"Add one or more tags to a contact in a specified list.": "Voeg een of meer tags toe aan een contactpersoon in een opgegeven lijst.",
"Remove one or more tags from a contact in a specified list.": "Verwijder een of meer tags uit een contactpersoon in een opgegeven lijst.",
"Creates a new mailing list.": "Maakt een nieuwe mailinglijst aan.",
"Finds a contact by email address within a given list.": "Vindt een contactpersoon per e-mailadres in een bepaalde lijst.",
"Make a custom API call to a specific endpoint": "Maak een aangepaste API call naar een specifiek eindpunt",
"List": "Klantenlijst",
"Email Address": "Uw e-mailadres",
"Fields": "Velden",
"Tags": "Labels",
"Status": "status",
"Current Email Address": "Huidig e-mailadres",
"New Email Address": "Nieuw e-mailadres",
"List Name": "Lijst Naam",
"Method": "Methode",
"Headers": "Kopteksten",
"Query Parameters": "Query parameters",
"Body": "Lichaam",
"Response is Binary ?": "Antwoord is binair?",
"No Error on Failure": "Geen fout bij fout",
"Timeout (in seconds)": "Time-out (in seconden)",
"The mailing list to use.": "De mailinglijst om te gebruiken.",
"The contact's email address.": "E-mailadres van de contactpersoon",
"The contact's custom fields.": "Aangepaste velden van de contactpersoon",
"Tags to associate with the contact. Existing tags will not be removed.": "Tags om te koppelen aan de contactpersoon. Bestaande tags zullen niet worden verwijderd.",
"The status of the contact.": "De status van de contactpersoon",
"The email address of the contact to unsubscribe.": "Het e-mailadres van de contactpersoon die u wilt uitschrijven.",
"The contact's current email address used to find them.": "Het huidige e-mailadres van de contactpersoon wordt gebruikt om ze te vinden.",
"The new email address for the contact.": "Het nieuwe e-mailadres voor de contactpersoon",
"The tags to add to the contact.": "De tags om toe te voegen aan de contactpersoon",
"The email address of the contact to modify.": "Het e-mailadres van de contactpersoon om aan te passen.",
"The tags to remove from the contact.": "De tags die uit de contactpersoon worden verwijderd.",
"The name for the new list.": "De naam van de nieuwe lijst.",
"The email address of the contact to find.": "Het e-mailadres van de contactpersoon om te vinden.",
"Authorization headers are injected automatically from your connection.": "Autorisatie headers worden automatisch geïnjecteerd vanuit uw verbinding.",
"Enable for files like PDFs, images, etc..": "Inschakelen voor bestanden zoals PDF's, afbeeldingen etc..",
"Subscribed": "Ingeschreven",
"Unsubscribed": "Uitgeschreven",
"Pending": "In behandeling",
"GET": "KRIJG",
"POST": "POSTE",
"PATCH": "BEKIJK",
"PUT": "PUT",
"DELETE": "VERWIJDEREN",
"HEAD": "HOOFD",
"Email Bounced": "E-mail bounced",
"Email Opened": "E-mail geopend",
"Email Clicked": "E-mail aangeklikt",
"New Contact": "Nieuw contactpersoon",
"Contact Unsubscribes": "Contact uitschrijvingen",
"Triggers when an email to a recipient bounces from a specific campaign.": "Triggert wanneer een e-mail naar een ontvanger bounces van een specifieke campagne.",
"Triggers when a recipient opens an email from a specified campaign.": "Wordt uitgevoerd wanneer een ontvanger een e-mail opent uit een opgegeven campagne.",
"Triggers when a link inside a specific campaign email is clicked.": "Triggert wanneer een link binnen een specifieke campagne e-mail wordt geklikt.",
"Triggers when a new contact is added to a particular list.": "Triggert wanneer een nieuwe contactpersoon aan een bepaalde lijst wordt toegevoegd.",
"Triggers when a contact unsubscribes from a list.": "Triggert wanneer een contactpersoon zich afmeldt in een lijst.",
"Campaign": "Campagne",
"Markdown": "Markdown",
"Select a campaign to filter events. Leave blank to trigger for all campaigns.": "Selecteer een campagne om evenementen te filteren. Laat leeg om te activeren voor alle campagnes.",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **Live URL:**\n ```text\n {{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL below into the **URL** field:\n 5. Select the **Email bounced** event.\n 6. Click **Add webhook**.\n ": "\n **Handmatige Installatie vereist**\n\n 1. Ga naar uw EmailOctopus Dashboard.\n 2. Ga naar **API & Integrations**, selecteer dan de **Webhooks** tab.\n 3. Klik **Voeg webhook toe**.\n 4. Plak de bovenstaande URL hieronder in het **URL** veld:\n 5. Selecteer het **e-mail gebounced** evenement.\n 6. Klik **Voeg webhook toe**.\n ",
"\n **Live URL:**\n```text\n{{webhookUrl}}\n```": "\n **Live URL:**\n```text\n{{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email opened** event.\n 6. Click **Add webhook**.\n ": "\n **Handmatige Installatie vereist**\n\n 1. Ga naar uw EmailOctopus Dashboard.\n 2. Ga naar **API & Integrations**, selecteer dan de **Webhooks** tab.\n 3. Klik **Voeg webhook toe**.\n 4. Plak de bovenstaande URL in het **URL** veld:\n 5. Selecteer het **geopende e-mail** evenement.\n 6. Klik **Voeg webhook toe**.\n ",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **Live URL:**\n ```text\n {{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations** → **Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email clicked** event.\n 6. (Optional) Choose the campaign you want to filter on in this trigger.\n 7. Save the webhook.\n ": "\n **Handmatige Installatie vereist**\n\n 1. Ga naar uw EmailOctopus Dashboard.\n 2. Navigeer naar **API & integraties** → **Webhooks**.\n 3. Klik **Voeg webhook toe**.\n 4. Plak de bovenstaande URL in het **URL** veld:\n 5. Selecteer het **geklikt e-mail** evenement.\n 6. (Optioneel) Kies de campagne waarop je wilt filteren in deze trigger.\n 7. Sla de webhook op.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL.\n 5. Select the **Contact created** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Handmatige Installatie vereist**\n\n 1. Ga naar uw EmailOctopus Dashboard.\n 2. Navigeer naar **API & integraties → Webhooks**.\n 3. Klik **Voeg webhook toe**.\n 4. Plak de bovenstaande URL.\n 5. Selecteer het **Contact gemaakt** evenement.\n 6. (Optioneel) Beperken tot de gekozen specifieke lijst.\n 7. Sla de webhook op.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL:\n 5. Select the **Email unsubscribed** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Handmatige Installatie vereist**\n\n 1. Ga naar uw EmailOctopus Dashboard.\n 2. Navigeer naar **API & integraties → Webhooks**.\n 3. Klik **Voeg webhook toe**.\n 4. Plak de bovenstaande URL:\n 5. Selecteer de **Email uitschrijven** gebeurtenis.\n 6. (Optioneel) Beperken tot de gekozen specifieke lijst.\n 7. Sla de webhook op.\n "
}

View File

@@ -0,0 +1,80 @@
{
"Email marketing platform for list management, campaign sending, tagging & unsubscribes. Automate contact management and campaign engagement tracking.": "Plataforma de marketing por e-mail para gerenciamento de listas, envio de campanhas, marcação e cancelamento de assinaturas. Automatize o gerenciamento de contatos e o acompanhamento do envolvimento da campanha.",
"\n To get your API key:\n 1. Log in to your EmailOctopus account.\n 2. Go to your **account settings**.\n 3. Generate a new API key.\n **Note:** If you have a 'legacy' key, you must generate a new one for API v2.\n ": "\n To get your API key:\n 1. Log in to your EmailOctopus account.\n 2. Go to your **account settings**.\n 3. Generate a new API key.\n **Note:** If you have a 'legacy' key, you must generate a new one for API v2.\n ",
"Add / Update Contact": "Adicionar / Atualizar contato",
"Unsubscribe Contact": "Cancelar contato",
"Update Contact's Email Address": "Atualizar E-mail do Contato",
"Add Tag to Contact": "Adicionar Tag ao Contato",
"Remove Tag from Contact": "Remover Etiqueta do Contato",
"Create List": "Criar lista",
"Find Contact": "Localizar contato",
"Custom API Call": "Chamada de API personalizada",
"Adds a new contact to a list or updates an existing contact if one exists.": "Adiciona um novo contato a uma lista ou atualiza um contato existente, caso exista.",
"Sets a contact's status to \"Unsubscribed\" in a specific list.": "Define o status de um contato para \"Desinscrever\" em uma lista específica.",
"Change the email address of a contact in a list.": "Alterar o endereço de e-mail de um contato em uma lista.",
"Add one or more tags to a contact in a specified list.": "Adicione uma ou mais tags a um contato em uma lista especificada.",
"Remove one or more tags from a contact in a specified list.": "Remove uma ou mais tags de um contato em uma lista especificada.",
"Creates a new mailing list.": "Cria uma nova lista de envio.",
"Finds a contact by email address within a given list.": "Localiza um contato por endereço de e-mail dentro de uma determinada lista.",
"Make a custom API call to a specific endpoint": "Faça uma chamada de API personalizada para um ponto de extremidade específico",
"List": "Lista",
"Email Address": "Endereço de e-mail",
"Fields": "campos",
"Tags": "Etiquetas",
"Status": "Estado",
"Current Email Address": "Endereço de e-mail atual",
"New Email Address": "Novo Endereço de Email",
"List Name": "Lista de nomes",
"Method": "Método",
"Headers": "Cabeçalhos",
"Query Parameters": "Parâmetros da consulta",
"Body": "Conteúdo",
"Response is Binary ?": "A resposta é binária ?",
"No Error on Failure": "Nenhum erro no Failure",
"Timeout (in seconds)": "Tempo limite (em segundos)",
"The mailing list to use.": "A lista de discussão a ser usada.",
"The contact's email address.": "E-mail do contato.",
"The contact's custom fields.": "Os campos personalizados do contato.",
"Tags to associate with the contact. Existing tags will not be removed.": "Tags para associar com o contato. Tags existentes não serão removidas.",
"The status of the contact.": "O estado do contato.",
"The email address of the contact to unsubscribe.": "O endereço de e-mail do contato para cancelar a inscrição.",
"The contact's current email address used to find them.": "Endereço de email atual do contato usado para encontrá-los.",
"The new email address for the contact.": "O novo endereço de email do contato.",
"The tags to add to the contact.": "As etiquetas para adicionar ao contato.",
"The email address of the contact to modify.": "O endereço de e-mail do contato para modificar.",
"The tags to remove from the contact.": "As tags a serem removidas do contato.",
"The name for the new list.": "O nome para a nova lista.",
"The email address of the contact to find.": "O endereço de e-mail do contato para encontrar.",
"Authorization headers are injected automatically from your connection.": "Os cabeçalhos de autorização são inseridos automaticamente a partir da sua conexão.",
"Enable for files like PDFs, images, etc..": "Habilitar para arquivos como PDFs, imagens, etc..",
"Subscribed": "Subscrito",
"Unsubscribed": "Cancelada",
"Pending": "Pendente",
"GET": "OBTER",
"POST": "POSTAR",
"PATCH": "COMPRAR",
"PUT": "COLOCAR",
"DELETE": "EXCLUIR",
"HEAD": "CABEÇA",
"Email Bounced": "Email devolvido",
"Email Opened": "E-mail aberto",
"Email Clicked": "E-mail clicado",
"New Contact": "Novo Contato",
"Contact Unsubscribes": "Inscrições de contato",
"Triggers when an email to a recipient bounces from a specific campaign.": "Dispara quando um e-mail para um destinatário devolve de uma campanha específica.",
"Triggers when a recipient opens an email from a specified campaign.": "Dispara quando um destinatário abre um e-mail de uma campanha especificada.",
"Triggers when a link inside a specific campaign email is clicked.": "Aciona quando um link dentro de um e-mail específico da campanha é clicado.",
"Triggers when a new contact is added to a particular list.": "Aciona quando um novo contato é adicionado a uma lista específica.",
"Triggers when a contact unsubscribes from a list.": "Aciona quando um contato se desinscreve de uma lista.",
"Campaign": "Campanha",
"Markdown": "Markdown",
"Select a campaign to filter events. Leave blank to trigger for all campaigns.": "Selecione uma campanha para filtrar eventos. Deixe em branco para acionar todas as campanhas.",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **URL ao vivo:**\n ```text\n {{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL below into the **URL** field:\n 5. Select the **Email bounced** event.\n 6. Click **Add webhook**.\n ": "\n **Configuração manual necessária**\n\n 1. Ir para seu Painel de EmailOctopus.\n 2. Navegue para **API & integrações**, e então selecione o guia **Webhooks**.\n 3. Clique **Adicionar webhook**.\n 4. Cole o URL acima abaixo no campo **URL**:\n 5. Selecione o evento **Email devolvido**.\n 6. Clique **Adicionar webhook**.\n ",
"\n **Live URL:**\n```text\n{{webhookUrl}}\n```": "\n **URL ao vivo:**\n```text\n{{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email opened** event.\n 6. Click **Add webhook**.\n ": "\n **Configuração manual necessária**\n\n 1. Ir para seu Painel de EmailOctopus.\n 2. Navegue para **API & integrações**, e então selecione o guia **Webhooks**.\n 3. Clique **Adicionar webhook**.\n 4. Cole o URL acima no campo **URL**:\n 5. Selecione o evento **E-mail aberto**.\n 6. Clique **Adicionar webhook**.\n ",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **URL ao vivo:**\n ```text\n {{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations** → **Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email clicked** event.\n 6. (Optional) Choose the campaign you want to filter on in this trigger.\n 7. Save the webhook.\n ": "\n **Configuração manual necessária**\n\n 1. Ir para seu Painel de EmailOctopus.\n 2. Navegue para **API & integrações** → **Webhooks**.\n 3. Clique em **Adicionar webhook**.\n 4. Cole o URL acima no campo **URL**:\n 5. Selecione o evento **E-mail clicado**.\n 6. (Opcional) Escolha a campanha que deseja filtrar neste gatilho.\n 7. Salve o webhook.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL.\n 5. Select the **Contact created** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Configuração manual necessária**\n\n 1. Ir para seu Painel de EmailOctopus.\n 2. Navegue até **API & integrações → Webhooks**.\n 3. Clique em **Adicionar webhook**.\n 4. Cole o URL acima.\n 5. Selecione o evento **Contato criado**.\n 6. (Opcional) Restrinja a lista específica escolhida acima.\n 7. Salve o webhook.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL:\n 5. Select the **Email unsubscribed** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Configuração manual necessária**\n\n 1. Ir para seu Painel de EmailOctopus.\n 2. Navegue até **API & integrações → Webhooks**.\n 3. Clique em **Adicionar webhook**.\n 4. Colar Acima da URL:\n 5. Selecione o evento **Email cancelado**.\n 6. (Opcional) Restrinja a lista específica escolhida acima.\n 7. Salve o webhook.\n "
}

View File

@@ -0,0 +1,80 @@
{
"Email marketing platform for list management, campaign sending, tagging & unsubscribes. Automate contact management and campaign engagement tracking.": "Email marketing platform for list management, campaign sending, tagging & unsubscribes. Automate contact management and campaign engagement tracking.",
"\n To get your API key:\n 1. Log in to your EmailOctopus account.\n 2. Go to your **account settings**.\n 3. Generate a new API key.\n **Note:** If you have a 'legacy' key, you must generate a new one for API v2.\n ": "\n To get your API key:\n 1. Log in to your EmailOctopus account.\n 2. Go to your **account settings**.\n 3. Generate a new API key.\n **Note:** If you have a 'legacy' key, you must generate a new one for API v2.\n ",
"Add / Update Contact": "Add / Update Contact",
"Unsubscribe Contact": "Unsubscribe Contact",
"Update Contact's Email Address": "Update Contact's Email Address",
"Add Tag to Contact": "Add Tag to Contact",
"Remove Tag from Contact": "Remove Tag from Contact",
"Create List": "Create List",
"Find Contact": "Find Contact",
"Custom API Call": "Custom API Call",
"Adds a new contact to a list or updates an existing contact if one exists.": "Adds a new contact to a list or updates an existing contact if one exists.",
"Sets a contact's status to \"Unsubscribed\" in a specific list.": "Sets a contact's status to \"Unsubscribed\" in a specific list.",
"Change the email address of a contact in a list.": "Change the email address of a contact in a list.",
"Add one or more tags to a contact in a specified list.": "Add one or more tags to a contact in a specified list.",
"Remove one or more tags from a contact in a specified list.": "Remove one or more tags from a contact in a specified list.",
"Creates a new mailing list.": "Creates a new mailing list.",
"Finds a contact by email address within a given list.": "Finds a contact by email address within a given list.",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"List": "List",
"Email Address": "Email Address",
"Fields": "Fields",
"Tags": "Tags",
"Status": "Status",
"Current Email Address": "Current Email Address",
"New Email Address": "New Email Address",
"List Name": "List Name",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
"Body": "Body",
"Response is Binary ?": "Response is Binary ?",
"No Error on Failure": "No Error on Failure",
"Timeout (in seconds)": "Timeout (in seconds)",
"The mailing list to use.": "The mailing list to use.",
"The contact's email address.": "The contact's email address.",
"The contact's custom fields.": "The contact's custom fields.",
"Tags to associate with the contact. Existing tags will not be removed.": "Tags to associate with the contact. Existing tags will not be removed.",
"The status of the contact.": "The status of the contact.",
"The email address of the contact to unsubscribe.": "The email address of the contact to unsubscribe.",
"The contact's current email address used to find them.": "The contact's current email address used to find them.",
"The new email address for the contact.": "The new email address for the contact.",
"The tags to add to the contact.": "The tags to add to the contact.",
"The email address of the contact to modify.": "The email address of the contact to modify.",
"The tags to remove from the contact.": "The tags to remove from the contact.",
"The name for the new list.": "The name for the new list.",
"The email address of the contact to find.": "The email address of the contact to find.",
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
"Subscribed": "Subscribed",
"Unsubscribed": "Unsubscribed",
"Pending": "Pending",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD",
"Email Bounced": "Email Bounced",
"Email Opened": "Email Opened",
"Email Clicked": "Email Clicked",
"New Contact": "New Contact",
"Contact Unsubscribes": "Contact Unsubscribes",
"Triggers when an email to a recipient bounces from a specific campaign.": "Triggers when an email to a recipient bounces from a specific campaign.",
"Triggers when a recipient opens an email from a specified campaign.": "Triggers when a recipient opens an email from a specified campaign.",
"Triggers when a link inside a specific campaign email is clicked.": "Triggers when a link inside a specific campaign email is clicked.",
"Triggers when a new contact is added to a particular list.": "Triggers when a new contact is added to a particular list.",
"Triggers when a contact unsubscribes from a list.": "Triggers when a contact unsubscribes from a list.",
"Campaign": "Campaign",
"Markdown": "Markdown",
"Select a campaign to filter events. Leave blank to trigger for all campaigns.": "Select a campaign to filter events. Leave blank to trigger for all campaigns.",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL below into the **URL** field:\n 5. Select the **Email bounced** event.\n 6. Click **Add webhook**.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL below into the **URL** field:\n 5. Select the **Email bounced** event.\n 6. Click **Add webhook**.\n ",
"\n **Live URL:**\n```text\n{{webhookUrl}}\n```": "\n **Live URL:**\n```text\n{{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email opened** event.\n 6. Click **Add webhook**.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email opened** event.\n 6. Click **Add webhook**.\n ",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations** → **Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email clicked** event.\n 6. (Optional) Choose the campaign you want to filter on in this trigger.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations** → **Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email clicked** event.\n 6. (Optional) Choose the campaign you want to filter on in this trigger.\n 7. Save the webhook.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL.\n 5. Select the **Contact created** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL.\n 5. Select the **Contact created** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL:\n 5. Select the **Email unsubscribed** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL:\n 5. Select the **Email unsubscribed** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n "
}

View File

@@ -0,0 +1,80 @@
{
"Email marketing platform for list management, campaign sending, tagging & unsubscribes. Automate contact management and campaign engagement tracking.": "Email marketing platform for list management, campaign sending, tagging & unsubscribes. Automate contact management and campaign engagement tracking.",
"\n To get your API key:\n 1. Log in to your EmailOctopus account.\n 2. Go to your **account settings**.\n 3. Generate a new API key.\n **Note:** If you have a 'legacy' key, you must generate a new one for API v2.\n ": "\n To get your API key:\n 1. Log in to your EmailOctopus account.\n 2. Go to your **account settings**.\n 3. Generate a new API key.\n **Note:** If you have a 'legacy' key, you must generate a new one for API v2.\n ",
"Add / Update Contact": "Add / Update Contact",
"Unsubscribe Contact": "Unsubscribe Contact",
"Update Contact's Email Address": "Update Contact's Email Address",
"Add Tag to Contact": "Add Tag to Contact",
"Remove Tag from Contact": "Remove Tag from Contact",
"Create List": "Create List",
"Find Contact": "Find Contact",
"Custom API Call": "自定义 API 呼叫",
"Adds a new contact to a list or updates an existing contact if one exists.": "Adds a new contact to a list or updates an existing contact if one exists.",
"Sets a contact's status to \"Unsubscribed\" in a specific list.": "Sets a contact's status to \"Unsubscribed\" in a specific list.",
"Change the email address of a contact in a list.": "Change the email address of a contact in a list.",
"Add one or more tags to a contact in a specified list.": "Add one or more tags to a contact in a specified list.",
"Remove one or more tags from a contact in a specified list.": "Remove one or more tags from a contact in a specified list.",
"Creates a new mailing list.": "Creates a new mailing list.",
"Finds a contact by email address within a given list.": "Finds a contact by email address within a given list.",
"Make a custom API call to a specific endpoint": "将一个自定义 API 调用到一个特定的终点",
"List": "List",
"Email Address": "Email Address",
"Fields": "Fields",
"Tags": "标签",
"Status": "状态",
"Current Email Address": "Current Email Address",
"New Email Address": "New Email Address",
"List Name": "List Name",
"Method": "方法",
"Headers": "信头",
"Query Parameters": "查询参数",
"Body": "正文内容",
"Response is Binary ?": "Response is Binary ?",
"No Error on Failure": "失败时没有错误",
"Timeout (in seconds)": "超时(秒)",
"The mailing list to use.": "The mailing list to use.",
"The contact's email address.": "The contact's email address.",
"The contact's custom fields.": "The contact's custom fields.",
"Tags to associate with the contact. Existing tags will not be removed.": "Tags to associate with the contact. Existing tags will not be removed.",
"The status of the contact.": "The status of the contact.",
"The email address of the contact to unsubscribe.": "The email address of the contact to unsubscribe.",
"The contact's current email address used to find them.": "The contact's current email address used to find them.",
"The new email address for the contact.": "The new email address for the contact.",
"The tags to add to the contact.": "The tags to add to the contact.",
"The email address of the contact to modify.": "The email address of the contact to modify.",
"The tags to remove from the contact.": "The tags to remove from the contact.",
"The name for the new list.": "The name for the new list.",
"The email address of the contact to find.": "The email address of the contact to find.",
"Authorization headers are injected automatically from your connection.": "授权头自动从您的连接中注入。",
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
"Subscribed": "Subscribed",
"Unsubscribed": "Unsubscribed",
"Pending": "待處理",
"GET": "获取",
"POST": "帖子",
"PATCH": "PATCH",
"PUT": "弹出",
"DELETE": "删除",
"HEAD": "黑色",
"Email Bounced": "Email Bounced",
"Email Opened": "Email Opened",
"Email Clicked": "Email Clicked",
"New Contact": "New Contact",
"Contact Unsubscribes": "Contact Unsubscribes",
"Triggers when an email to a recipient bounces from a specific campaign.": "Triggers when an email to a recipient bounces from a specific campaign.",
"Triggers when a recipient opens an email from a specified campaign.": "Triggers when a recipient opens an email from a specified campaign.",
"Triggers when a link inside a specific campaign email is clicked.": "Triggers when a link inside a specific campaign email is clicked.",
"Triggers when a new contact is added to a particular list.": "Triggers when a new contact is added to a particular list.",
"Triggers when a contact unsubscribes from a list.": "Triggers when a contact unsubscribes from a list.",
"Campaign": "Campaign",
"Markdown": "Markdown",
"Select a campaign to filter events. Leave blank to trigger for all campaigns.": "Select a campaign to filter events. Leave blank to trigger for all campaigns.",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL below into the **URL** field:\n 5. Select the **Email bounced** event.\n 6. Click **Add webhook**.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL below into the **URL** field:\n 5. Select the **Email bounced** event.\n 6. Click **Add webhook**.\n ",
"\n **Live URL:**\n```text\n{{webhookUrl}}\n```": "\n **Live URL:**\n```text\n{{webhookUrl}}\n```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email opened** event.\n 6. Click **Add webhook**.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations**, then select the **Webhooks** tab.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email opened** event.\n 6. Click **Add webhook**.\n ",
"\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```": "\n **Live URL:**\n ```text\n {{webhookUrl}}\n ```",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations** → **Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email clicked** event.\n 6. (Optional) Choose the campaign you want to filter on in this trigger.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations** → **Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL into the **URL** field:\n 5. Select the **Email clicked** event.\n 6. (Optional) Choose the campaign you want to filter on in this trigger.\n 7. Save the webhook.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL.\n 5. Select the **Contact created** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL.\n 5. Select the **Contact created** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ",
"\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL:\n 5. Select the **Email unsubscribed** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n ": "\n **Manual Setup Required**\n\n 1. Go to your EmailOctopus Dashboard.\n 2. Navigate to **API & Integrations → Webhooks**.\n 3. Click **Add webhook**.\n 4. Paste the Above URL:\n 5. Select the **Email unsubscribed** event.\n 6. (Optional) Restrict to the specific list chosen above.\n 7. Save the webhook.\n "
}

View File

@@ -0,0 +1,57 @@
import { createPiece } from "@activepieces/pieces-framework";
import { emailOctopusAuth } from "./lib/common/auth";
import { addOrUpdateContact } from "./lib/actions/add-or-update-contact";
import { unsubscribeContact } from "./lib/actions/unsubscribe-contact";
import { updateContactEmail } from "./lib/actions/update-contact-email";
import { addTagToContact } from "./lib/actions/add-tag-to-contact";
import { removeTagFromContact } from "./lib/actions/remove-tag-from-contact";
import { createList } from "./lib/actions/create-list";
import { findContact } from "./lib/actions/find-contact";
import { PieceCategory } from '@activepieces/shared';
import { emailBounced } from "./lib/triggers/email-bounced";
import { emailOpened } from "./lib/triggers/email-opened";
import { emailClicked } from "./lib/triggers/email-Clicked";
import { newContact } from "./lib/triggers/new-Contact";
import { contactUnsubscribes } from "./lib/triggers/contact-Unsubscribes";
import { createCustomApiCallAction } from "@activepieces/pieces-common";
import { emailOctopusApiUrl } from "./lib/common/client";
export const emailoctopus = createPiece({
displayName: "EmailOctopus",
description: 'Email marketing platform for list management, campaign sending, tagging & unsubscribes. Automate contact management and campaign engagement tracking.',
auth: emailOctopusAuth,
minimumSupportedRelease: '0.36.1',
logoUrl: "https://cdn.activepieces.com/pieces/emailoctopus.png",
categories: [PieceCategory.MARKETING],
authors: ['Pranith124'],
actions: [
addOrUpdateContact,
unsubscribeContact,
updateContactEmail,
addTagToContact,
removeTagFromContact,
createList,
findContact ,
createCustomApiCallAction({
auth:emailOctopusAuth,
baseUrl:()=>emailOctopusApiUrl,
authMapping:async (auth)=>{
return{
Authorization:`Bearer ${auth.secret_text}`
}
}
})
],
triggers: [
emailBounced,
emailOpened,
emailClicked,
newContact,
contactUnsubscribes
],
});

View File

@@ -0,0 +1,71 @@
import { createAction, Property } from "@activepieces/pieces-framework";
import { AuthenticationType, httpClient, HttpMethod } from "@activepieces/pieces-common";
import { emailOctopusAuth } from "../common/auth";
import { emailOctopusProps } from "../common/props";
export const addOrUpdateContact = createAction({
auth: emailOctopusAuth,
name: 'add_or_update_contact',
displayName: 'Add / Update Contact',
description: 'Adds a new contact to a list or updates an existing contact if one exists.',
props: {
list_id: emailOctopusProps.listId(),
email_address: Property.ShortText({
displayName: 'Email Address',
description: "The contact's email address.",
required: true,
}),
fields: emailOctopusProps.fields(),
tags: Property.Array({
displayName: 'Tags',
description: 'Tags to associate with the contact. Existing tags will not be removed.',
required: false,
}),
status: Property.StaticDropdown({
displayName: 'Status',
description: 'The status of the contact.',
required: false,
options: {
options: [
{ label: 'Subscribed', value: 'subscribed' },
{ label: 'Unsubscribed', value: 'unsubscribed' },
{ label: 'Pending', value: 'pending' },
],
},
}),
},
async run(context) {
const { list_id, email_address, fields, tags, status } = context.propsValue;
const body: Record<string, unknown> = {
email_address: email_address,
};
if (fields) {
body['fields'] = Object.fromEntries(
Object.entries(fields).filter(([, value]) => value !== null && value !== undefined && value !== '')
);
}
if (status) {
body['status'] = status;
}
if (tags && (tags as string[]).length > 0) {
body['tags'] = Object.fromEntries(
(tags as string[]).map(tag => [tag, true])
);
}
const response = await httpClient.sendRequest({
method: HttpMethod.PUT,
url: `https://api.emailoctopus.com/lists/${list_id}/contacts`,
body: body,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: context.auth.secret_text,
},
});
return response.body;
},
});

View File

@@ -0,0 +1,52 @@
import { createAction, Property } from "@activepieces/pieces-framework";
import { HttpMethod } from "@activepieces/pieces-common";
import { createHash } from "crypto";
import { emailOctopusAuth } from "../common/auth";
import { EmailOctopusClient } from "../common/client";
import { emailOctopusProps } from "../common/props";
export const addTagToContact = createAction({
auth: emailOctopusAuth,
name: 'add_tag_to_contact',
displayName: 'Add Tag to Contact',
description: 'Add one or more tags to a contact in a specified list.',
props: {
list_id: emailOctopusProps.listId(),
email_address: Property.ShortText({
displayName: 'Email Address',
description: "The contact's email address.",
required: true,
}),
tags: Property.Array({
displayName: 'Tags',
description: 'The tags to add to the contact.',
required: true,
}),
},
async run(context) {
const { list_id, email_address, tags } = context.propsValue;
const client = new EmailOctopusClient(context.auth.secret_text);
const contactId = createHash('md5')
.update(email_address.toLowerCase())
.digest('hex');
const tagsObject = Object.fromEntries(
(tags as string[]).map(tag => [tag, true])
);
const body = {
tags: tagsObject,
};
return await client.makeRequest(
HttpMethod.PUT,
`/lists/${list_id}/contacts/${contactId}`,
body
);
},
});

View File

@@ -0,0 +1,34 @@
import { createAction, Property } from "@activepieces/pieces-framework";
import { HttpMethod } from "@activepieces/pieces-common";
import { emailOctopusAuth } from "../common/auth";
import { EmailOctopusClient } from "../common/client";
export const createList = createAction({
auth: emailOctopusAuth,
name: 'create_list',
displayName: 'Create List',
description: 'Creates a new mailing list.',
props: {
name: Property.ShortText({
displayName: 'List Name',
description: 'The name for the new list.',
required: true,
}),
},
async run(context) {
const { name } = context.propsValue;
const client = new EmailOctopusClient(context.auth.secret_text);
const body = {
name,
};
return await client.makeRequest(
HttpMethod.POST,
`/lists`,
body
);
},
});

View File

@@ -0,0 +1,52 @@
import { createAction, Property } from "@activepieces/pieces-framework";
// 👇 1. Remove `isAxiosError` and import `HttpError` instead
import { HttpError, HttpMethod } from "@activepieces/pieces-common";
import { createHash } from "crypto";
import { emailOctopusAuth } from "../common/auth";
import { EmailOctopusClient } from "../common/client";
import { emailOctopusProps } from "../common/props";
export const findContact = createAction({
auth: emailOctopusAuth,
name: 'find_contact',
displayName: 'Find Contact',
description: 'Finds a contact by email address within a given list.',
props: {
list_id: emailOctopusProps.listId(),
email_address: Property.ShortText({
displayName: 'Email Address',
description: 'The email address of the contact to find.',
required: true,
}),
},
async run(context) {
const { list_id, email_address } = context.propsValue;
const client = new EmailOctopusClient(context.auth.secret_text);
const contactId = createHash('md5')
.update(email_address.toLowerCase())
.digest('hex');
try {
const response = await client.makeRequest(
HttpMethod.GET,
`/lists/${list_id}/contacts/${contactId}`
);
return {
found:true,
result:response
}
} catch (error) {
if (error instanceof HttpError && error.response.status === 404) {
return {
found:false,
result:{}
};
}
throw error;
}
},
});

View File

@@ -0,0 +1,52 @@
import { createAction, Property } from "@activepieces/pieces-framework";
import { HttpMethod } from "@activepieces/pieces-common";
import { createHash } from "crypto";
import { emailOctopusAuth } from "../common/auth";
import { EmailOctopusClient } from "../common/client";
import { emailOctopusProps } from "../common/props";
export const removeTagFromContact = createAction({
auth: emailOctopusAuth,
name: 'remove_tag_from_contact',
displayName: 'Remove Tag from Contact',
description: 'Remove one or more tags from a contact in a specified list.',
props: {
list_id: emailOctopusProps.listId(),
email_address: Property.ShortText({
displayName: 'Email Address',
description: "The email address of the contact to modify.",
required: true,
}),
tags: Property.Array({
displayName: 'Tags',
description: 'The tags to remove from the contact.',
required: true,
}),
},
async run(context) {
const { list_id, email_address, tags } = context.propsValue;
const client = new EmailOctopusClient(context.auth.secret_text);
const contactId = createHash('md5')
.update(email_address.toLowerCase())
.digest('hex');
const tagsObject = Object.fromEntries(
(tags as string[]).map(tag => [tag, false])
);
const body = {
tags: tagsObject,
};
return await client.makeRequest(
HttpMethod.PUT,
`/lists/${list_id}/contacts/${contactId}`,
body
);
},
});

View File

@@ -0,0 +1,42 @@
import { createAction, Property } from "@activepieces/pieces-framework";
import { HttpMethod } from "@activepieces/pieces-common";
import { createHash } from "crypto";
import { emailOctopusAuth } from "../common/auth";
import { EmailOctopusClient } from "../common/client";
import { emailOctopusProps } from "../common/props";
export const unsubscribeContact = createAction({
auth: emailOctopusAuth,
name: 'unsubscribe_contact',
displayName: 'Unsubscribe Contact',
description: 'Sets a contact\'s status to "Unsubscribed" in a specific list.',
props: {
list_id: emailOctopusProps.listId(),
email_address: Property.ShortText({
displayName: 'Email Address',
description: "The email address of the contact to unsubscribe.",
required: true,
}),
},
async run(context) {
const { list_id, email_address } = context.propsValue;
const client = new EmailOctopusClient(context.auth.secret_text);
const contactId = createHash('md5')
.update(email_address.toLowerCase())
.digest('hex');
const body = {
status: 'unsubscribed',
};
return await client.makeRequest(
HttpMethod.PUT,
`/lists/${list_id}/contacts/${contactId}`,
body
);
},
});

View File

@@ -0,0 +1,47 @@
import { createAction, Property } from "@activepieces/pieces-framework";
import { HttpMethod } from "@activepieces/pieces-common";
import { createHash } from "crypto";
import { emailOctopusAuth } from "../common/auth";
import { EmailOctopusClient } from "../common/client";
import { emailOctopusProps } from "../common/props";
export const updateContactEmail = createAction({
auth: emailOctopusAuth,
name: 'update_contact_email',
displayName: "Update Contact's Email Address",
description: "Change the email address of a contact in a list.",
props: {
list_id: emailOctopusProps.listId(),
current_email_address: Property.ShortText({
displayName: 'Current Email Address',
description: "The contact's current email address used to find them.",
required: true,
}),
new_email_address: Property.ShortText({
displayName: 'New Email Address',
description: "The new email address for the contact.",
required: true,
}),
},
async run(context) {
const { list_id, current_email_address, new_email_address } = context.propsValue;
const client = new EmailOctopusClient(context.auth.secret_text);
const contactId = createHash('md5')
.update(current_email_address.toLowerCase())
.digest('hex');
const body = {
email_address: new_email_address,
};
return await client.makeRequest(
HttpMethod.PUT,
`/lists/${list_id}/contacts/${contactId}`,
body
);
},
});

View File

@@ -0,0 +1,37 @@
import { PieceAuth } from '@activepieces/pieces-framework';
import { httpClient, HttpMethod, AuthenticationType } from '@activepieces/pieces-common';
// The base URL for the EmailOctopus API
const emailOctopusApiUrl = 'https://api.emailoctopus.com';
export const emailOctopusAuth = PieceAuth.SecretText({
displayName: 'API Key',
description: `
To get your API key:
1. Log in to your EmailOctopus account.
2. Go to your **account settings**.
3. Generate a new API key.
**Note:** If you have a 'legacy' key, you must generate a new one for API v2.
`,
required: true,
validate: async ({ auth }) => {
try {
await httpClient.sendRequest({
method: HttpMethod.GET,
url: `${emailOctopusApiUrl}/lists`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: auth,
},
});
return {
valid: true,
};
} catch (e) {
return {
valid: false,
error: 'Invalid API key.',
};
}
},
});

View File

@@ -0,0 +1,70 @@
import { httpClient, HttpMethod, HttpRequest } from "@activepieces/pieces-common";
export const emailOctopusApiUrl = 'https://api.emailoctopus.com';
export interface EmailOctopusListDetails extends EmailOctopusList {
fields: {
tag: string;
type: 'text' | 'number' | 'date'|'choice_single'|'choice_multiple'
label: string;
choices:string[]
}[];
}
export class EmailOctopusClient {
constructor(private apiKey: string) {}
async makeRequest<T>(method: HttpMethod, url: string, body?: object): Promise<T> {
const request: HttpRequest<object> = {
method,
url: `${emailOctopusApiUrl}${url}`,
body: body,
headers: {
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization":`Bearer ${this.apiKey}`
},
};
const { body: responseBody } = await httpClient.sendRequest<T>(request);
return responseBody;
}
async getLists(): Promise<EmailOctopusList[]> {
const response = await this.makeRequest<{ data: EmailOctopusList[] }>(
HttpMethod.GET,
'/lists'
);
return response.data;
}
async getList(listId: string): Promise<EmailOctopusListDetails> {
return await this.makeRequest<EmailOctopusListDetails>(
HttpMethod.GET,
`/lists/${listId}`
);
}
async getCampaigns(): Promise<EmailOctopusCampaign[]> {
const response = await this.makeRequest<{ data: EmailOctopusCampaign[] }>(
HttpMethod.GET,
'/campaigns'
);
return response.data;
}
}
export interface EmailOctopusList {
id: string;
name: string;
created_at: string;
}
export interface EmailOctopusCampaign {
id: string;
name: string;
status: string;
created_at: string;
}

View File

@@ -0,0 +1,143 @@
import {
Property,
DynamicPropsValue,
DropdownState,
InputPropertyMap,
PropertyContext,
} from '@activepieces/pieces-framework';
import { EmailOctopusClient } from './client';
import { emailOctopusAuth } from './auth';
type AuthAndProps = {
auth: string | undefined;
propsValue: Record<string, unknown>;
};
export const emailOctopusProps = {
listId: (required = true) =>
Property.Dropdown({
auth: emailOctopusAuth,
displayName: 'List',
description: 'The mailing list to use.',
required: required,
refreshers: [],
options: async (context) => {
const { auth } = context;
if (!auth) {
return {
disabled: true,
placeholder: 'Connect your account first',
options: [],
};
}
const client = new EmailOctopusClient(auth.secret_text);
const lists = await client.getLists();
return {
disabled: false,
options: lists.map((list) => ({
label: list.name,
value: list.id,
})),
};
},
}),
campaignId: (required = false) =>
Property.Dropdown({
auth: emailOctopusAuth,
displayName: 'Campaign',
description:
'Select a campaign to filter events. Leave blank to trigger for all campaigns.',
required: required,
refreshers: [],
options: async (context) => {
const { auth } = context;
if (!auth) {
return {
disabled: true,
placeholder: 'Connect your account first',
options: [],
};
}
const client = new EmailOctopusClient(auth.secret_text);
const campaigns = await client.getCampaigns();
return {
disabled: false,
options: campaigns.map((campaign) => ({
label: campaign.name,
value: campaign.id,
})),
};
},
}),
fields: () =>
Property.DynamicProperties({
auth: emailOctopusAuth,
displayName: 'Fields',
description: "The contact's custom fields.",
required: true,
refreshers: ['list_id'],
props: async ({ auth, list_id }): Promise<InputPropertyMap> => {
if (!auth || !list_id) {
return {};
}
const client = new EmailOctopusClient(auth.secret_text);
const listDetails = await client.getList(list_id as unknown as string);
const fields: DynamicPropsValue = {};
for (const field of listDetails.fields) {
if (field.tag === 'EmailAddress') continue;
switch (field.type) {
case 'number':
fields[field.tag] = Property.Number({
displayName: field.label,
required: false,
});
break;
case 'date':
fields[field.tag] = Property.ShortText({
displayName: field.label,
description: 'Date in YYYY-MM-DD format.',
required: false,
});
break;
case 'text':
fields[field.tag] = Property.ShortText({
displayName: field.label,
required: false,
});
break;
case 'choice_single':
fields[field.tag] = Property.StaticDropdown({
displayName: field.label,
required: false,
options: {
disabled: false,
options: field.choices
? field.choices.map((opt) => ({ label: opt, value: opt }))
: [],
},
});
break;
case 'choice_multiple':
fields[field.tag] = Property.StaticMultiSelectDropdown({
displayName: field.label,
required: false,
options: {
disabled: false,
options: field.choices
? field.choices.map((opt) => ({ label: opt, value: opt }))
: [],
},
});
break;
default:
break;
}
}
return fields;
},
}),
};

View File

@@ -0,0 +1,88 @@
import { Property, createTrigger, TriggerStrategy } from '@activepieces/pieces-framework';
import { emailOctopusAuth } from '../common/auth';
import { emailOctopusProps } from '../common/props';
import { MarkdownVariant } from '@activepieces/shared';
interface EmailOctopusEvent {
type: string;
id: string;
contact_email_address: string;
contact_fields?: Record<string, string>;
contact_tags?: string[];
contact_status?: string;
list_id?: string;
occurred_at?: string;
}
export const contactUnsubscribes = createTrigger({
auth: emailOctopusAuth,
name: 'contactUnsubscribes',
displayName: 'Contact Unsubscribes',
description: 'Triggers when a contact unsubscribes from a list.',
props: {
list_id: emailOctopusProps.listId(true),
liveMarkdown: Property.MarkDown({
value: `
**Live URL:**
\`\`\`text
{{webhookUrl}}
\`\`\``,
variant: MarkdownVariant.BORDERLESS,
}),
instructions: Property.MarkDown({
value: `
**Manual Setup Required**
1. Go to your EmailOctopus Dashboard.
2. Navigate to **API & Integrations → Webhooks**.
3. Click **Add webhook**.
4. Paste the Above URL:
5. Select the **Email unsubscribed** event.
6. (Optional) Restrict to the specific list chosen above.
7. Save the webhook.
`,
}),
},
sampleData: {
id: '42636763-73f9-463e-af8b-3f720bb3d889',
type: 'contact.unsubscribed',
list_id: 'fa482fa2-5ac4-11ed-9f7a-67da1c836cf8',
contact_id: 'e3ab8c80-5f65-11ed-835e-030e4bb63150',
occurred_at: '2022-11-18T15:20:23+00:00',
contact_fields: {
LastName: 'Example',
FirstName: 'Claire',
},
contact_status: 'unsubscribed',
contact_email_address: 'claire@example.com',
contact_tags: ['vip'],
},
type: TriggerStrategy.WEBHOOK,
async onEnable() {
return;
},
async onDisable() {
return;
},
async run(context) {
const events = context.payload.body;
const listIdFilter = context.propsValue.list_id;
if (Array.isArray(events)) {
return events.filter(
(event: EmailOctopusEvent) =>
event.type === 'contact.unsubscribed' &&
(!listIdFilter || event.list_id === listIdFilter)
);
}
if (
(events as EmailOctopusEvent)?.type === 'contact.unsubscribed' &&
(!listIdFilter || (events as EmailOctopusEvent).list_id === listIdFilter)
) {
return [events];
}
return [];
},
});

View File

@@ -0,0 +1,82 @@
import { Property, createTrigger, TriggerStrategy } from '@activepieces/pieces-framework';
import { emailOctopusProps } from '../common/props';
import { emailOctopusAuth } from '../common/auth';
import { MarkdownVariant } from '@activepieces/shared';
interface EmailOctopusEvent {
type: string;
id: string;
contact_email_address: string;
campaign_id?: string;
list_id?: string;
contact_id?: string;
occurred_at?: string;
}
export const emailClicked = createTrigger({
auth: emailOctopusAuth,
name: 'emailClicked',
displayName: 'Email Clicked',
description: 'Triggers when a link inside a specific campaign email is clicked.',
props: {
campaign_id: emailOctopusProps.campaignId(),
liveMarkdown: Property.MarkDown({
value: `
**Live URL:**
\`\`\`text
{{webhookUrl}}
\`\`\``,
variant: MarkdownVariant.BORDERLESS,
}),
instructions: Property.MarkDown({
value: `
**Manual Setup Required**
1. Go to your EmailOctopus Dashboard.
2. Navigate to **API & Integrations** → **Webhooks**.
3. Click **Add webhook**.
4. Paste the Above URL into the **URL** field:
5. Select the **Email clicked** event.
6. (Optional) Choose the campaign you want to filter on in this trigger.
7. Save the webhook.
`,
}),
},
sampleData: {
id: '42636763-73f9-463e-af8b-3f720bb3d889',
type: 'contact.clicked',
list_id: 'fa482fa2-5ac4-11ed-9f7a-67da1c836cf8',
contact_id: 'e3ab8c80-5f65-11ed-835e-030e4bb63150',
occurred_at: '2022-11-18T15:20:23+00:00',
contact_email_address: 'user@example.com',
campaign_id: '12345678-1234-1234-1234-123456789abc',
},
type: TriggerStrategy.WEBHOOK,
async onEnable() {
return;
},
async onDisable() {
return;
},
async run(context) {
const events = context.payload.body;
const campaignIdFilter = context.propsValue.campaign_id;
if (Array.isArray(events)) {
return events.filter(
(event: EmailOctopusEvent) =>
event.type === 'contact.clicked' &&
(!campaignIdFilter || event.campaign_id === campaignIdFilter)
);
}
if (
(events as EmailOctopusEvent)?.type === 'contact.clicked' &&
(!campaignIdFilter || (events as EmailOctopusEvent).campaign_id === campaignIdFilter)
) {
return [events];
}
return [];
},
});

View File

@@ -0,0 +1,63 @@
import { Property, TriggerStrategy, createTrigger } from "@activepieces/pieces-framework";
import { emailOctopusAuth } from "../common/auth";
import { emailOctopusProps } from "../common/props";
import { MarkdownVariant } from "@activepieces/shared";
export const emailBounced = createTrigger({
auth: emailOctopusAuth,
name: 'email_bounced',
displayName: 'Email Bounced',
description: 'Triggers when an email to a recipient bounces from a specific campaign.',
props: {
campaign_id: emailOctopusProps.campaignId(),
liveMarkdown: Property.MarkDown({
value: `
**Live URL:**
\`\`\`text
{{webhookUrl}}
\`\`\``,
variant: MarkdownVariant.BORDERLESS,
}),
instructions: Property.MarkDown({
value: `
**Manual Setup Required**
1. Go to your EmailOctopus Dashboard.
2. Navigate to **API & Integrations**, then select the **Webhooks** tab.
3. Click **Add webhook**.
4. Paste the Above URL below into the **URL** field:
5. Select the **Email bounced** event.
6. Click **Add webhook**.
`,
}),
},
type: TriggerStrategy.WEBHOOK,
sampleData: {
"id": "42636763-73f9-463e-af8b-3f720bb3d889",
"type": "contact.bounced",
"list_id": "fa482fa2-5ac4-11ed-9f7a-67da1c836cf8",
"contact_id": "e3ab8c80-5f65-11ed-835e-030e4bb63150",
"occurred_at": "2022-11-18T15:20:23+00:00",
"contact_email_address": "user@example.com",
"contact_status": "BOUNCED",
"campaign_id": "12345678-1234-1234-1234-123456789abc"
},
async onEnable(context) { return },
async onDisable(context) { return },
async run(context) {
const payloadBody = context.payload.body as { type: string; campaign_id: string };
const campaignIdFilter = context.propsValue.campaign_id;
if (payloadBody.type !== 'contact.bounced') {
return [];
}
if (campaignIdFilter && payloadBody.campaign_id !== campaignIdFilter) {
return [];
}
return [payloadBody];
},
});

View File

@@ -0,0 +1,76 @@
import {
Property,
TriggerStrategy,
createTrigger,
} from '@activepieces/pieces-framework';
import { emailOctopusAuth } from '../common/auth';
import { emailOctopusProps } from '../common/props';
import { MarkdownVariant } from '@activepieces/shared';
export const emailOpened = createTrigger({
auth: emailOctopusAuth,
name: 'email_opened',
displayName: 'Email Opened',
description:
'Triggers when a recipient opens an email from a specified campaign.',
props: {
campaign_id: emailOctopusProps.campaignId(),
liveMarkdown: Property.MarkDown({
value: `
**Live URL:**
\`\`\`text
{{webhookUrl}}
\`\`\``,
variant: MarkdownVariant.BORDERLESS,
}),
instructions: Property.MarkDown({
variant: MarkdownVariant.INFO,
value: `
**Manual Setup Required**
1. Go to your EmailOctopus Dashboard.
2. Navigate to **API & Integrations**, then select the **Webhooks** tab.
3. Click **Add webhook**.
4. Paste the Above URL into the **URL** field:
5. Select the **Email opened** event.
6. Click **Add webhook**.
`,
}),
},
type: TriggerStrategy.WEBHOOK,
sampleData: {
id: '42636763-73f9-463e-af8b-3f720bb3d889',
type: 'contact.opened',
list_id: 'fa482fa2-5ac4-11ed-9f7a-67da1c836cf8',
contact_id: 'e3ab8c80-5f65-11ed-835e-030e4bb63150',
occurred_at: '2022-11-18T15:20:23+00:00',
contact_email_address: 'user@example.com',
campaign_id: '12345678-1234-1234-1234-123456789abc',
},
async onEnable(context) {
return;
},
async onDisable(context) {
return;
},
async run(context) {
const payloadBody = context.payload.body as {
type: string;
campaign_id: string;
};
const campaignIdFilter = context.propsValue.campaign_id;
if (payloadBody.type !== 'contact.opened') {
return [];
}
if (campaignIdFilter && payloadBody.campaign_id !== campaignIdFilter) {
return [];
}
return [payloadBody];
},
});

View File

@@ -0,0 +1,93 @@
import {
Property,
createTrigger,
TriggerStrategy,
} from '@activepieces/pieces-framework';
import { emailOctopusAuth } from '../common/auth';
import { emailOctopusProps } from '../common/props';
import { MarkdownVariant } from '@activepieces/shared';
interface EmailOctopusEvent {
type: string;
id: string;
contact_email_address: string;
contact_fields?: Record<string, string>;
contact_tags?: string[];
contact_status?: string;
list_id?: string;
occurred_at?: string;
}
export const newContact = createTrigger({
auth: emailOctopusAuth,
name: 'newContact',
displayName: 'New Contact',
description: 'Triggers when a new contact is added to a particular list.',
props: {
list_id: emailOctopusProps.listId(true),
liveMarkdown: Property.MarkDown({
value: `
**Live URL:**
\`\`\`text
{{webhookUrl}}
\`\`\``,
variant: MarkdownVariant.BORDERLESS,
}),
instructions: Property.MarkDown({
variant: MarkdownVariant.INFO,
value: `
**Manual Setup Required**
1. Go to your EmailOctopus Dashboard.
2. Navigate to **API & Integrations → Webhooks**.
3. Click **Add webhook**.
4. Paste the Above URL.
5. Select the **Contact created** event.
6. (Optional) Restrict to the specific list chosen above.
7. Save the webhook.
`,
}),
},
sampleData: {
id: '42636763-73f9-463e-af8b-3f720bb3d889',
type: 'contact.created',
list_id: 'fa482fa2-5ac4-11ed-9f7a-67da1c836cf8',
contact_id: 'e3ab8c80-5f65-11ed-835e-030e4bb63150',
occurred_at: '2022-11-18T15:20:23+00:00',
contact_fields: {
LastName: 'Example',
FirstName: 'Claire',
},
contact_status: 'subscribed',
contact_email_address: 'claire@example.com',
contact_tags: ['vip'],
},
type: TriggerStrategy.WEBHOOK,
async onEnable() {
return;
},
async onDisable() {
return;
},
async run(context) {
const events = context.payload.body;
const listIdFilter = context.propsValue.list_id;
if (Array.isArray(events)) {
return events.filter(
(event: EmailOctopusEvent) =>
event.type === 'contact.created' &&
(!listIdFilter || event.list_id === listIdFilter)
);
}
if (
(events as EmailOctopusEvent)?.type === 'contact.created' &&
(!listIdFilter || (events as EmailOctopusEvent).list_id === listIdFilter)
) {
return [events];
}
return [];
},
});