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:
@@ -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 "
|
||||
}
|
||||
@@ -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 "
|
||||
}
|
||||
@@ -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 "
|
||||
}
|
||||
@@ -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 "
|
||||
}
|
||||
@@ -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 "
|
||||
}
|
||||
@@ -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 "
|
||||
}
|
||||
@@ -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 "
|
||||
}
|
||||
@@ -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 "
|
||||
}
|
||||
@@ -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
|
||||
],
|
||||
});
|
||||
@@ -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;
|
||||
},
|
||||
});
|
||||
@@ -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
|
||||
);
|
||||
},
|
||||
});
|
||||
@@ -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
|
||||
);
|
||||
},
|
||||
});
|
||||
@@ -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;
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -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
|
||||
);
|
||||
},
|
||||
});
|
||||
@@ -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
|
||||
);
|
||||
},
|
||||
});
|
||||
@@ -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
|
||||
);
|
||||
},
|
||||
});
|
||||
@@ -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.',
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
},
|
||||
}),
|
||||
};
|
||||
@@ -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 [];
|
||||
},
|
||||
});
|
||||
@@ -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 [];
|
||||
},
|
||||
});
|
||||
@@ -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];
|
||||
},
|
||||
});
|
||||
@@ -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];
|
||||
},
|
||||
});
|
||||
@@ -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 [];
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user