Add Activepieces integration for workflow automation

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

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

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

View File

@@ -0,0 +1,39 @@
{
"Email Delivery Service with Real-Time Analytics and Reporting": "E-Mail-Zustellservice mit Echtzeit-Analyse und Berichterstattung",
"Type": "Typ",
"API Key": "API-Schlüssel",
"Sending Key": "Schlüssel senden",
"Verification Key": "Verifizierungsschlüssel",
"\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n": "\nZum Senden des API-Schlüssels folgen Sie diesen Schritten:\n. Navigieren Sie zu [Domains](https://app.maileroo.com/domains).\n2. Klicken Sie auf die Domain, die Sie verwenden möchten.\n3. Klicke auf den **Erstelle Sendenschlüssel** im Abschnitt API.\n4. Klicke auf **Neuen Senden**.\n5. Kopieren Sie den Schlüssel unter der Spalte **Schlüssel senden** .\n\nZur Überprüfung API-Schlüssel folgen Sie diesen Schritten:\n1. Navigiere zur [Verifizierungs-API](https://app.maileroo.com/verifications). \n 2. Kopiere den Schlüssel unter der **Verifizierungs-API** Sektion.\n",
"Send Email": "E-Mail senden",
"Send Email using Template": "E-Mail mit Vorlage senden",
"Verify Email": "E-Mail bestätigen",
"Sends an email.": "Sendet eine E-Mail.",
"Sends an email from an existing template.": "Sendet eine E-Mail von einer existierenden Vorlage.",
"Verifies an email address.": "Bestätigt eine E-Mail-Adresse.",
"To": "An",
"Sender Name": "Absendername",
"Sender Email(Your SMTP Email)": "Absender-E-Mail (Ihre SMTP-E-Mail)",
"Subject": "Betreff",
"BCC": "BCC",
"CC": "CC",
"Reply To": "Antwort an",
"Attachment": "Anhang",
"Content Type": "Inhaltstyp",
"Content": "Inhalt",
"Template ID": "Template-ID",
"Template Data": "Vorlagendaten",
"Email": "E-Mail",
"Emails of the recipients(Supports comma-separated emails)": "E-Mails der Empfänger (Supports durch Kommas getrennte E-Mails)",
"Sender name": "Absendername",
"Sender email. This should come from your SMTP accounts.": "Absender-E-Mail. Dies sollte von Ihren SMTP-Konten kommen.",
"Subject of the email": "Betreff der E-Mail",
"List of emails in bcc": "Liste der E-Mails in bcc",
"List of emails in cc": "Liste der E-Mails in cc",
"Email to receive replies on (defaults to sender)": "E-Mail um Antworten zu erhalten (Standardeinstellung zum Absender)",
"File to attach to the email you want to send": "Datei, die an die E-Mail angehängt werden soll",
"HTML is only allowed if you selected HTML as type": "HTML ist nur zulässig, wenn Sie HTML als Typ ausgewählt haben",
"The ID of the template to use": "Die ID der zu verwendenden Vorlage",
"Data to fill in the template. The string `{{name}}` in the template body will be replaced with the value of `name`": "Daten, die das Template ausfüllen sollen. Der String `{{name}}` im Template-Body wird durch den Wert `name` ersetzt",
"Email to verify": "Zu verifizierende E-Mail"
}

View File

@@ -0,0 +1,39 @@
{
"Email Delivery Service with Real-Time Analytics and Reporting": "Servicio de entrega de correo electrónico con análisis y reporte en tiempo real",
"Type": "Tipo",
"API Key": "Clave API",
"Sending Key": "Enviando clave",
"Verification Key": "Clave de verificación",
"\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n": "\nPara enviar la clave API, sigue estos pasos:\n. Navega a [Domains](https://app.maileroo.com/domains).\n2. Haga clic en el dominio que desea utilizar.\n3. Haga clic en **Crear clave de envío** en la sección API.\n4. Haga clic en **Nueva clave de envío**.\n5. Copia la clave debajo de la columna **Enviar clave**.\n\nPara la clave API de verificación, sigue estos pasos:\n1. Vaya a [API de verificación](https://app.maileroo.com/verifications). \n 2. Copie la clave bajo la sección **API de verificación**.\n",
"Send Email": "Enviar Email",
"Send Email using Template": "Enviar email usando Plantilla",
"Verify Email": "Verificar Email",
"Sends an email.": "Envía un correo electrónico.",
"Sends an email from an existing template.": "Envía un correo electrónico desde una plantilla existente.",
"Verifies an email address.": "Verifica una dirección de correo electrónico.",
"To": "A",
"Sender Name": "Nombre del remitente",
"Sender Email(Your SMTP Email)": "Correo electrónico del remitente (su correo SMTP)",
"Subject": "Asunto",
"BCC": "CCO",
"CC": "CC",
"Reply To": "Responder a",
"Attachment": "Adjunto",
"Content Type": "Tipo de contenido",
"Content": "Contenido",
"Template ID": "ID de plantilla",
"Template Data": "Datos de plantilla",
"Email": "E-mail",
"Emails of the recipients(Supports comma-separated emails)": "Correos electrónicos de los destinatarios (Soporta correos separados por comas)",
"Sender name": "Nombre del remitente",
"Sender email. This should come from your SMTP accounts.": "Correo electrónico del remitente. Debería provenir de sus cuentas SMTP.",
"Subject of the email": "Asunto del correo electrónico",
"List of emails in bcc": "Lista de correos en bcc",
"List of emails in cc": "Lista de correos en cc",
"Email to receive replies on (defaults to sender)": "Correo electrónico en el que recibir respuestas (por defecto el remitente)",
"File to attach to the email you want to send": "Archivo para adjuntar al correo electrónico que desea enviar",
"HTML is only allowed if you selected HTML as type": "Sólo se permite HTML si ha seleccionado HTML como tipo",
"The ID of the template to use": "El ID de la plantilla a usar",
"Data to fill in the template. The string `{{name}}` in the template body will be replaced with the value of `name`": "Datos para rellenar la plantilla. La cadena `{{name}}` en el cuerpo de la plantilla será reemplazada por el valor de `name`",
"Email to verify": "Email para verificar"
}

View File

@@ -0,0 +1,39 @@
{
"Email Delivery Service with Real-Time Analytics and Reporting": "Service de livraison de courrier électronique avec Analyses et Rapports en temps réel",
"Type": "Type de texte",
"API Key": "Clé API",
"Sending Key": "Envoi de clé",
"Verification Key": "Clé de vérification",
"\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n": "\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n",
"Send Email": "Envoyer un e-mail",
"Send Email using Template": "Envoyer un e-mail en utilisant un modèle",
"Verify Email": "Vérifier l'e-mail",
"Sends an email.": "Envoie un e-mail.",
"Sends an email from an existing template.": "Envoie un email à partir d'un modèle existant.",
"Verifies an email address.": "Vérifie une adresse e-mail.",
"To": "À",
"Sender Name": "Nom de l'expéditeur",
"Sender Email(Your SMTP Email)": "Email de l'expéditeur (Votre email SMTP)",
"Subject": "Sujet",
"BCC": "Cci",
"CC": "CC",
"Reply To": "Répondre à",
"Attachment": "Pièce jointe",
"Content Type": "Type de contenu",
"Content": "Contenus",
"Template ID": "ID du modèle",
"Template Data": "Données du modèle",
"Email": "Courriel",
"Emails of the recipients(Supports comma-separated emails)": "E-mails des destinataires (Supporte les e-mails séparés par des virgules)",
"Sender name": "Nom de l'expéditeur",
"Sender email. This should come from your SMTP accounts.": "E-mail de l'expéditeur. Cela devrait provenir de vos comptes SMTP.",
"Subject of the email": "Sujet de l'e-mail",
"List of emails in bcc": "Liste des emails en bcc",
"List of emails in cc": "Liste des emails en cc",
"Email to receive replies on (defaults to sender)": "Courriel sur lequel recevoir les réponses (par défaut l'expéditeur)",
"File to attach to the email you want to send": "Fichier à joindre à l'e-mail que vous souhaitez envoyer",
"HTML is only allowed if you selected HTML as type": "Le code HTML n'est autorisé que si vous avez sélectionné le code HTML comme type",
"The ID of the template to use": "L'ID du modèle à utiliser",
"Data to fill in the template. The string `{{name}}` in the template body will be replaced with the value of `name`": "Données à remplir dans le modèle. La chaîne `{{name}}` dans le corps du modèle sera remplacée par la valeur de `name`",
"Email to verify": "Courriel à vérifier"
}

View File

@@ -0,0 +1,39 @@
{
"Email Delivery Service with Real-Time Analytics and Reporting": "リアルタイム解析とレポートによるメール配信サービス",
"Type": "タイプ",
"API Key": "API キー",
"Sending Key": "送信キー",
"Verification Key": "認証キー",
"\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n": "\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n",
"Send Email": "メール送信",
"Send Email using Template": "テンプレートを使用してメールを送信",
"Verify Email": "メールアドレスを確認する",
"Sends an email.": "メールを送信します。",
"Sends an email from an existing template.": "既存のテンプレートからメールを送信します。",
"Verifies an email address.": "メールアドレスを確認します。",
"To": "終了日",
"Sender Name": "送信者名",
"Sender Email(Your SMTP Email)": "送信者のメール(SMTPメール)",
"Subject": "件名",
"BCC": "BCC",
"CC": "CC",
"Reply To": "返信先",
"Attachment": "添付ファイル",
"Content Type": "コンテンツタイプ",
"Content": "コンテンツ",
"Template ID": "テンプレートID",
"Template Data": "テンプレートデータ",
"Email": "Eメールアドレス",
"Emails of the recipients(Supports comma-separated emails)": "受信者のメール(コンマ区切りのメールをサポート)",
"Sender name": "送信者名",
"Sender email. This should come from your SMTP accounts.": "送信者のメールアドレス。SMTPアカウントから送信する必要があります。",
"Subject of the email": "メールの件名",
"List of emails in bcc": "bcc 内のメール一覧",
"List of emails in cc": "Cc内のメール一覧",
"Email to receive replies on (defaults to sender)": "返信を受信する電子メール(既定の送信者)",
"File to attach to the email you want to send": "送信したいメールに添付するファイル",
"HTML is only allowed if you selected HTML as type": "HTMLはあなたがタイプとしてHTMLを選択した場合にのみ許可されます",
"The ID of the template to use": "使用するテンプレートのID",
"Data to fill in the template. The string `{{name}}` in the template body will be replaced with the value of `name`": "テンプレートを埋めるデータ。テンプレート本文の文字列 `{{name}}` は、`name`の値に置き換えられます。",
"Email to verify": "確認するメール"
}

View File

@@ -0,0 +1,39 @@
{
"Email Delivery Service with Real-Time Analytics and Reporting": "E-mail Bezorgingsdienst met Real-Time Analytics en Rapportage",
"Type": "Type",
"API Key": "API Sleutel",
"Sending Key": "Sleutel verzenden",
"Verification Key": "Verificatie Sleutel",
"\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n": "\nVoor het verzenden van een API-sleutel, volg deze stappen:\n. Navigeer naar [Domains](https://app.maileroo.com/domains).\n2. Klik op het domein dat u wilt gebruiken.\n3. Klik op **Creëer verzendsleutel** onder de API-sectie.\n4. Klik **Nieuwe verzendsleutel**.\n5. Kopieer de sleutel onder de **Verzenden Key** kolom.\n\nVoor Verificatie-API-sleutel, volg de volgende stappen:\n1. Navigeer naar [Verification API](https://app.maileroo.com/verifications). \n 2. Kopieer de sleutel onder de sectie **Verificatie API**.\n",
"Send Email": "E-mail verzenden",
"Send Email using Template": "Stuur e-mail met behulp van sjabloon",
"Verify Email": "Bevestig e-mailadres",
"Sends an email.": "Verstuurt een e-mail.",
"Sends an email from an existing template.": "Verstuurt een e-mail van een bestaande sjabloon.",
"Verifies an email address.": "Verifieert een e-mailadres.",
"To": "tot",
"Sender Name": "Naam afzender",
"Sender Email(Your SMTP Email)": "Afzender E-mail(uw SMTP-e-mail)",
"Subject": "Onderwerp",
"BCC": "Bcc",
"CC": "CC",
"Reply To": "Antwoord aan",
"Attachment": "Bijlage",
"Content Type": "Type inhoud",
"Content": "Inhoud",
"Template ID": "Sjabloon ID",
"Template Data": "Sjabloon gegevens",
"Email": "E-mail",
"Emails of the recipients(Supports comma-separated emails)": "E-mails van de ontvangers(Ondersteunt komma-gescheiden e-mails)",
"Sender name": "Naam afzender",
"Sender email. This should come from your SMTP accounts.": "Afzendere-mail. Dit moet afkomstig zijn van uw SMTP-accounts.",
"Subject of the email": "Onderwerp van de e-mail",
"List of emails in bcc": "Lijst van e-mails in bcc",
"List of emails in cc": "Lijst van e-mails in cc",
"Email to receive replies on (defaults to sender)": "E-mail om antwoorden op te ontvangen (standaard afzender)",
"File to attach to the email you want to send": "Bestand om toe te voegen aan de e-mail die u wilt verzenden",
"HTML is only allowed if you selected HTML as type": "HTML is alleen toegestaan als je hebt geselecteerd als HTML als type",
"The ID of the template to use": "Het te gebruiken ID van het sjabloon",
"Data to fill in the template. The string `{{name}}` in the template body will be replaced with the value of `name`": "Gegevens om de template in te vullen. De string `{{name}}` in de template body zal worden vervangen door de waarde van `naam`",
"Email to verify": "E-mail om te verifiëren"
}

View File

@@ -0,0 +1,39 @@
{
"Email Delivery Service with Real-Time Analytics and Reporting": "Serviço de entrega de e-mail com análise e relatórios em tempo real",
"Type": "tipo",
"API Key": "Chave de API",
"Sending Key": "Enviando chave",
"Verification Key": "Chave de verificação",
"\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n": "\nPara enviar chave de API, siga estes passos:\n. Navegue para [Domains](https://app.maileroo.com/domains).\n2. Clique no domínio que você deseja usar.\n3. Clique na **chave de envio** na seção de API.\n4. Clique em **nova chave de envio**.\n5. Copie a chave sob a coluna **Enviando Chave**.\n\nPara a chave de verificação, siga estas etapas:\n1. Navegue para [API de verificação](https://app.maileroo.com/verifications). \n 2. Copie a chave na seção **API de verificação**.\n",
"Send Email": "Enviar e-mail",
"Send Email using Template": "Enviar E-mail usando Modelo",
"Verify Email": "Verificar e-mail",
"Sends an email.": "Envia um e-mail.",
"Sends an email from an existing template.": "Envia um e-mail de um modelo existente.",
"Verifies an email address.": "Verifica um endereço de e-mail.",
"To": "Para",
"Sender Name": "Nome do Remetente",
"Sender Email(Your SMTP Email)": "E-mail do remetente (seu e-mail SMTP)",
"Subject": "Cargo",
"BCC": "Cco",
"CC": "CC",
"Reply To": "Responder a",
"Attachment": "Anexo",
"Content Type": "Tipo de Conteúdo",
"Content": "Conteúdo",
"Template ID": "ID do modelo",
"Template Data": "Dados do modelo",
"Email": "e-mail",
"Emails of the recipients(Supports comma-separated emails)": "E-mails dos destinatários (Subporta e-mails separados por vírgula)",
"Sender name": "Nome do remetente",
"Sender email. This should come from your SMTP accounts.": "E-mail do remetente. Isso deve vir de suas contas SMTP.",
"Subject of the email": "Assunto do e-mail",
"List of emails in bcc": "Lista de e-mails em bcc",
"List of emails in cc": "Lista de e-mails em cc",
"Email to receive replies on (defaults to sender)": "Enviar email para as respostas (o padrão é enviado)",
"File to attach to the email you want to send": "Arquivo para anexar ao e-mail que você deseja enviar",
"HTML is only allowed if you selected HTML as type": "HTML só é permitido se você selecionou HTML como tipo",
"The ID of the template to use": "O ID do modelo a ser usado",
"Data to fill in the template. The string `{{name}}` in the template body will be replaced with the value of `name`": "Dados para preencher o template. A string `{{name}}` no corpo do template será substituída pelo valor de `nome`",
"Email to verify": "E-mail para verificar"
}

View File

@@ -0,0 +1,40 @@
{
"Maileroo": "Maileroo",
"Email Delivery Service with Real-Time Analytics and Reporting": "Служба доставки писем с аналитикой реального времени и отчетами",
"Type": "Тип",
"API Key": "Ключ API",
"Sending Key": "Ключ отправки",
"Verification Key": "Ключ проверки",
"\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n": "\nДля отправки ключа API, следуйте следующим инструкциям:\n. Перейдите к [Domains](https://app.maileroo.com/domains).\n2. Нажмите на домен, который вы хотите использовать.\n3. Нажмите на **Создать ключ** под разделом API.\n4. Нажмите **New Sending Key**.\n5. Скопируйте ключ под **Отправка ключей**.\n\nДля ключа Verification API, выполните следующие действия:\nПерейдите в [Verification API](https://app.maileroo.com/verifications). \n 2. Скопируйте ключ в разделе **Verification API**.\n",
"Send Email": "Отправить письмо",
"Send Email using Template": "Отправить письмо с помощью шаблона",
"Verify Email": "Подтвердить email",
"Sends an email.": "Отправляет письмо.",
"Sends an email from an existing template.": "Отправляет письмо из существующего шаблона.",
"Verifies an email address.": "Проверяет адрес электронной почты.",
"To": "Кому",
"Sender Name": "Имя отправителя",
"Sender Email(Your SMTP Email)": "Отправитель E-mail(Ваш SMTP-адрес)",
"Subject": "Тема",
"BCC": "BCC",
"CC": "CC",
"Reply To": "Ответить",
"Attachment": "Вложение",
"Content Type": "Тип контента",
"Content": "Содержание",
"Template ID": "ID шаблона",
"Template Data": "Данные шаблона",
"Email": "Почта",
"Emails of the recipients(Supports comma-separated emails)": "Письма получателей (Поддерживает через запятую)",
"Sender name": "Имя отправителя",
"Sender email. This should come from your SMTP accounts.": "Отправитель электронной почты. Это должно происходить с вашего SMTP аккаунта.",
"Subject of the email": "Тема письма",
"List of emails in bcc": "Список писем в bcc",
"List of emails in cc": "Список писем в cc",
"Email to receive replies on (defaults to sender)": "Письмо для получения ответов (по умолчанию для отправителя)",
"File to attach to the email you want to send": "Файл для прикрепления к электронной почте, которую вы хотите отправить",
"HTML is only allowed if you selected HTML as type": "HTML допускается только если вы выбрали HTML как тип",
"The ID of the template to use": "ID используемого шаблона",
"Data to fill in the template. The string `{{name}}` in the template body will be replaced with the value of `name`": "Данные для заполнения шаблона. Строка `{{name}}` в шаблоне будет заменена на значение `name`",
"Email to verify": "Email для проверки"
}

View File

@@ -0,0 +1,39 @@
{
"Email Delivery Service with Real-Time Analytics and Reporting": "Email Delivery Service with Real-Time Analytics and Reporting",
"Type": "Type",
"API Key": "API Key",
"Sending Key": "Sending Key",
"Verification Key": "Verification Key",
"\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n": "\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n",
"Send Email": "Send Email",
"Send Email using Template": "Send Email using Template",
"Verify Email": "Verify Email",
"Sends an email.": "Sends an email.",
"Sends an email from an existing template.": "Sends an email from an existing template.",
"Verifies an email address.": "Verifies an email address.",
"To": "To",
"Sender Name": "Sender Name",
"Sender Email(Your SMTP Email)": "Sender Email(Your SMTP Email)",
"Subject": "Subject",
"BCC": "BCC",
"CC": "CC",
"Reply To": "Reply To",
"Attachment": "Attachment",
"Content Type": "Content Type",
"Content": "Content",
"Template ID": "Template ID",
"Template Data": "Template Data",
"Email": "Email",
"Emails of the recipients(Supports comma-separated emails)": "Emails of the recipients(Supports comma-separated emails)",
"Sender name": "Sender name",
"Sender email. This should come from your SMTP accounts.": "Sender email. This should come from your SMTP accounts.",
"Subject of the email": "Subject of the email",
"List of emails in bcc": "List of emails in bcc",
"List of emails in cc": "List of emails in cc",
"Email to receive replies on (defaults to sender)": "Email to receive replies on (defaults to sender)",
"File to attach to the email you want to send": "File to attach to the email you want to send",
"HTML is only allowed if you selected HTML as type": "HTML is only allowed if you selected HTML as type",
"The ID of the template to use": "The ID of the template to use",
"Data to fill in the template. The string `{{name}}` in the template body will be replaced with the value of `name`": "Data to fill in the template. The string `{{name}}` in the template body will be replaced with the value of `name`",
"Email to verify": "Email to verify"
}

View File

@@ -0,0 +1,40 @@
{
"Maileroo": "Maileroo",
"Email Delivery Service with Real-Time Analytics and Reporting": "Email Delivery Service with Real-Time Analytics and Reporting",
"Type": "Type",
"API Key": "API Key",
"Sending Key": "Sending Key",
"Verification Key": "Verification Key",
"\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n": "\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n",
"Send Email": "Send Email",
"Send Email using Template": "Send Email using Template",
"Verify Email": "Verify Email",
"Sends an email.": "Sends an email.",
"Sends an email from an existing template.": "Sends an email from an existing template.",
"Verifies an email address.": "Verifies an email address.",
"To": "To",
"Sender Name": "Sender Name",
"Sender Email(Your SMTP Email)": "Sender Email(Your SMTP Email)",
"Subject": "Subject",
"BCC": "BCC",
"CC": "CC",
"Reply To": "Reply To",
"Attachment": "Attachment",
"Content Type": "Content Type",
"Content": "Content",
"Template ID": "Template ID",
"Template Data": "Template Data",
"Email": "Email",
"Emails of the recipients(Supports comma-separated emails)": "Emails of the recipients(Supports comma-separated emails)",
"Sender name": "Sender name",
"Sender email. This should come from your SMTP accounts.": "Sender email. This should come from your SMTP accounts.",
"Subject of the email": "Subject of the email",
"List of emails in bcc": "List of emails in bcc",
"List of emails in cc": "List of emails in cc",
"Email to receive replies on (defaults to sender)": "Email to receive replies on (defaults to sender)",
"File to attach to the email you want to send": "File to attach to the email you want to send",
"HTML is only allowed if you selected HTML as type": "HTML is only allowed if you selected HTML as type",
"The ID of the template to use": "The ID of the template to use",
"Data to fill in the template. The string `{{name}}` in the template body will be replaced with the value of `name`": "Data to fill in the template. The string `{{name}}` in the template body will be replaced with the value of `name`",
"Email to verify": "Email to verify"
}

View File

@@ -0,0 +1,39 @@
{
"Email Delivery Service with Real-Time Analytics and Reporting": "Email Delivery Service with Real-Time Analytics and Reporting",
"Type": "类型",
"API Key": "API 密钥",
"Sending Key": "Sending Key",
"Verification Key": "Verification Key",
"\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n": "\nFor Sending API key, follow these steps:\n1. Navigate to [Domains](https://app.maileroo.com/domains).\n2. Click on the domain you want to use.\n3. Click on the **Create sending key** under the API section.\n4. Click **New Sending Key**.\n5. Copy the key under the **Sending Key** column.\n\nFor Verification API key, follow these steps:\n1. Navigate to [Verification API](https://app.maileroo.com/verifications).\n2. Copy the key under the **Verification API** section.\n",
"Send Email": "Send Email",
"Send Email using Template": "Send Email using Template",
"Verify Email": "Verify Email",
"Sends an email.": "Sends an email.",
"Sends an email from an existing template.": "Sends an email from an existing template.",
"Verifies an email address.": "Verifies an email address.",
"To": "To",
"Sender Name": "发件人姓名",
"Sender Email(Your SMTP Email)": "Sender Email(Your SMTP Email)",
"Subject": "Subject",
"BCC": "BCC",
"CC": "CC",
"Reply To": "Reply To",
"Attachment": "Attachment",
"Content Type": "Content Type",
"Content": "Content",
"Template ID": "Template ID",
"Template Data": "Template Data",
"Email": "电子邮件地址",
"Emails of the recipients(Supports comma-separated emails)": "Emails of the recipients(Supports comma-separated emails)",
"Sender name": "Sender name",
"Sender email. This should come from your SMTP accounts.": "Sender email. This should come from your SMTP accounts.",
"Subject of the email": "Subject of the email",
"List of emails in bcc": "List of emails in bcc",
"List of emails in cc": "List of emails in cc",
"Email to receive replies on (defaults to sender)": "Email to receive replies on (defaults to sender)",
"File to attach to the email you want to send": "File to attach to the email you want to send",
"HTML is only allowed if you selected HTML as type": "HTML is only allowed if you selected HTML as type",
"The ID of the template to use": "The ID of the template to use",
"Data to fill in the template. The string `{{name}}` in the template body will be replaced with the value of `name`": "Data to fill in the template. The string `{{name}}` in the template body will be replaced with the value of `name`",
"Email to verify": "Email to verify"
}

View File

@@ -0,0 +1,118 @@
import { HttpError } from '@activepieces/pieces-common';
import {
createPiece,
PieceAuth,
Property,
} from '@activepieces/pieces-framework';
import { PieceCategory } from '@activepieces/shared';
import FormData from 'form-data';
import { sendEmail } from './lib/actions/send-email';
import { sendFromTemplate } from './lib/actions/send-from-template';
import { checkEmail, sendFormData } from './lib/common/send-utils';
import { verifyEmail } from './lib/actions/verify-email';
const markdown = `
For Sending API key, follow these steps:
1. Navigate to [Domains](https://app.maileroo.com/domains).
2. Click on the domain you want to use.
3. Click on the **Create sending key** under the API section.
4. Click **New Sending Key**.
5. Copy the key under the **Sending Key** column.
For Verification API key, follow these steps:
1. Navigate to [Verification API](https://app.maileroo.com/verifications).
2. Copy the key under the **Verification API** section.
`;
export const mailerooAuth = PieceAuth.CustomAuth({
required: true,
description: markdown,
props: {
keyType: Property.StaticDropdown({
displayName: 'Type',
defaultValue: 'sending',
options: {
options: [
{
label: 'Sending Key',
value: 'sending',
},
{
label: 'Verification Key',
value: 'verification',
},
],
},
required: true,
}),
apiKey: PieceAuth.SecretText({
displayName: 'API Key',
required: true,
}),
},
validate: async ({ auth }) => {
// This wont' matter as we are just testing the API key validity
const PLACEHOLDER_STRING = 'placeholder';
if (auth.keyType === 'sending') {
try {
const formData = new FormData();
formData.append('from', PLACEHOLDER_STRING);
formData.append('to', PLACEHOLDER_STRING);
formData.append('subject', PLACEHOLDER_STRING);
formData.append('plain', PLACEHOLDER_STRING);
await sendFormData('send', formData, auth.apiKey);
} catch (e) {
const status = (e as HttpError).response.status;
// It is safe to assume that that other 4xx status codes means the API key is valid
if (status === 401) {
return {
valid: false,
error: 'Invalid API Sending key',
};
} else if (status >= 500) {
return {
valid: false,
error: 'An error occurred while validating the API key',
};
}
}
return {
valid: true,
};
} else {
// Need a different implementation because the response for verification key is different
const result = await checkEmail(PLACEHOLDER_STRING, auth.apiKey);
if (result.status === 200 && result.body.error_code !== '0401') {
return {
valid: true,
};
} else {
return {
error: 'Invalid Verification API key',
valid: false,
};
}
}
},
});
export const maileroo = createPiece({
displayName: 'Maileroo',
auth: mailerooAuth,
minimumSupportedRelease: '0.30.0',
logoUrl: 'https://cdn.activepieces.com/pieces/maileroo.png',
categories: [
PieceCategory.MARKETING,
PieceCategory.BUSINESS_INTELLIGENCE,
PieceCategory.COMMUNICATION,
],
description: 'Email Delivery Service with Real-Time Analytics and Reporting',
authors: ['codegino'],
actions: [sendEmail, sendFromTemplate, verifyEmail],
triggers: [],
});

View File

@@ -0,0 +1,54 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { mailerooAuth } from '../../';
import {
createCommonProps,
createFormData,
sendFormData,
} from '../common/send-utils';
export const sendEmail = createAction({
auth: mailerooAuth,
name: 'sendEmail',
displayName: 'Send Email',
description: 'Sends an email.',
props: {
...createCommonProps(),
content_type: Property.Dropdown<'text' | 'html',true,typeof mailerooAuth>({
auth: mailerooAuth,
displayName: 'Content Type',
refreshers: [],
required: true,
defaultValue: 'html',
options: async () => {
return {
disabled: false,
options: [
{ label: 'Plain Text', value: 'text' },
{ label: 'HTML', value: 'html' },
],
};
},
}),
content: Property.ShortText({
displayName: 'Content',
description: 'HTML is only allowed if you selected HTML as type',
required: true,
}),
},
async run(context) {
const formData = createFormData(context.propsValue);
const { content_type, content } = context.propsValue;
if (content_type === 'text') {
formData.append('plain', content);
} else if (content_type === 'html') {
formData.append('html', content);
}
const res = await sendFormData('send', formData, context.auth.props.apiKey);
return res.body;
},
});

View File

@@ -0,0 +1,45 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { mailerooAuth } from '../../';
import {
createCommonProps,
createFormData,
sendFormData,
} from '../common/send-utils';
export const sendFromTemplate = createAction({
auth: mailerooAuth,
name: 'sendFromTemplate',
displayName: 'Send Email using Template',
description: 'Sends an email from an existing template.',
props: {
...createCommonProps(),
template_id: Property.Number({
displayName: 'Template ID',
description: 'The ID of the template to use',
required: true,
}),
template_data: Property.Object({
displayName: 'Template Data',
description:
'Data to fill in the template. The string `{{name}}` in the template body will be replaced with the value of `name`',
required: true,
}),
},
async run(context) {
const formData = createFormData(context.propsValue);
const { template_id, template_data } = context.propsValue;
formData.append('template_id', template_id);
formData.append('template_data', JSON.stringify(template_data));
const res = await sendFormData(
'send-template',
formData,
context.auth.props.apiKey
);
return res.body;
},
});

View File

@@ -0,0 +1,25 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { checkEmail } from '../common/send-utils';
import { mailerooAuth } from '../..';
export const verifyEmail = createAction({
auth: mailerooAuth,
name: 'verifyEmail',
displayName: 'Verify Email',
description: 'Verifies an email address.',
props: {
content: Property.ShortText({
displayName: 'Email',
description: 'Email to verify',
required: true,
}),
},
async run(context) {
const result = await checkEmail(
context.propsValue.content,
context.auth.props.apiKey
);
return result.body;
},
});

View File

@@ -0,0 +1,99 @@
import { Property, StaticPropsValue } from '@activepieces/pieces-framework';
import FormData from 'form-data';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
export const createCommonProps = () => {
return {
to: Property.Array({
displayName: 'To',
description: 'Emails of the recipients(Supports comma-separated emails)',
required: true,
}),
from_name: Property.ShortText({
displayName: 'Sender Name',
description: 'Sender name',
required: true,
}),
from: Property.ShortText({
displayName: 'Sender Email(Your SMTP Email)',
description: 'Sender email. This should come from your SMTP accounts.',
required: true,
}),
subject: Property.ShortText({
displayName: 'Subject',
description: 'Subject of the email',
required: true,
}),
bcc: Property.Array({
displayName: 'BCC',
description: 'List of emails in bcc',
required: false,
}),
cc: Property.Array({
displayName: 'CC',
description: 'List of emails in cc',
required: false,
}),
reply_to: Property.ShortText({
displayName: 'Reply To',
description: 'Email to receive replies on (defaults to sender)',
required: false,
}),
attachment: Property.File({
displayName: 'Attachment',
description: 'File to attach to the email you want to send',
required: false,
}),
};
};
export const createFormData = (
propsValue: StaticPropsValue<ReturnType<typeof createCommonProps>>
): FormData => {
const { to, from, from_name, reply_to, subject, cc, bcc } = propsValue;
const formData = new FormData();
formData.append('from', `${from_name} <${from}>`);
formData.append('to', to.join(','));
formData.append('subject', subject);
formData.append('reply_to', reply_to ?? from);
if (cc) {
formData.append('cc', cc.join(','));
}
if (bcc) {
formData.append('bcc', bcc.join(','));
}
return formData;
};
export const sendFormData = async (
url: string,
formData: FormData,
auth: string
) => {
return httpClient.sendRequest({
method: HttpMethod.POST,
url: `https://smtp.maileroo.com/${url}`,
body: formData,
headers: {
['X-API-Key']: auth,
...formData.getHeaders(),
},
});
};
export const checkEmail = async (email: string, apiKey: string) => {
return httpClient.sendRequest({
url: 'https://verify.maileroo.net/check',
method: HttpMethod.POST,
body: {
email_address: email,
},
headers: {
'X-API-Key': apiKey,
'Content-Type': 'application/json',
},
});
};