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,77 @@
|
||||
{
|
||||
"Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.": "Zoho Mail ist ein leistungsstarker E-Mail-Service, mit dem Sie Ihre E-Mails, Kontakte und Kalender effizient verwalten können.",
|
||||
"Location": "Standort",
|
||||
"The location of your Zoho Mail account.": "Der Standort Ihres Zoho Mail-Kontos.",
|
||||
"zoho.eu (Europe)": "zoho.eu (Europa)",
|
||||
"zoho.com (United States)": "zoho.com (Vereinigte Staaten)",
|
||||
"zoho.com.au (Australia)": "zoho.com.au (Australien)",
|
||||
"zoho.jp (Japan)": "zoho.jp (Japan)",
|
||||
"zoho.in (India)": "zoho.in (Indien)",
|
||||
"zohocloud.ca (Canada)": "zohocloud.ca (Canada)",
|
||||
"Authentication for Zoho Desk": "Authentifizierung für Zoho Desk",
|
||||
"Get Email Details": "E-Mail-Details abrufen",
|
||||
"Mark Email as Read": "E-Mail als gelesen markieren",
|
||||
"Mark Emai as Unread": "Emai als ungelesen markieren",
|
||||
"Archive Email": "E-Mail archivieren",
|
||||
"Unarchive Email": "Unarchive Email",
|
||||
"Move Email to Folder": "E-Mail in Ordner verschieben",
|
||||
"Send Email": "E-Mail senden",
|
||||
"Custom API Call": "Eigener API-Aufruf",
|
||||
"Retrieves full content and metadata of a specific email.": "Ruft den vollständigen Inhalt und die Metadaten einer bestimmten E-Mail ab.",
|
||||
"Marks an email as read.": "Markiert eine E-Mail als gelesen.",
|
||||
"Marks an email as unread.": "Markiert eine E-Mail als ungelesen.",
|
||||
"Archives an email.": "Archiviert eine E-Mail.",
|
||||
"Unarchives an email.": "Dearchiviert eine E-Mail.",
|
||||
"Moves an email to a different folder.": "Verschiebt eine E-Mail in einen anderen Ordner.",
|
||||
"Sends an email.": "Sendet eine E-Mail.",
|
||||
"Make a custom API call to a specific endpoint": "Einen benutzerdefinierten API-Aufruf an einen bestimmten Endpunkt machen",
|
||||
"Account": "Konto",
|
||||
"Folder": "Ordner",
|
||||
"Message ID": "Nachrichten-ID",
|
||||
"Current Folder": "Aktueller Ordner",
|
||||
"Destination Folder": "Zielordner",
|
||||
"From Email Address": "Absenderadresse",
|
||||
"To Email Address": "An E-Mail-Adresse",
|
||||
"Subject": "Betreff",
|
||||
"Mail Format": "Mail-Format",
|
||||
"Content": "Inhalt",
|
||||
"CC Email Address": "CC-E-Mail-Adresse",
|
||||
"BCC Email Address": "BCC E-Mail-Adresse",
|
||||
"Ask for Read Receipt": "Nach Lesebestätigung fragen",
|
||||
"Attachment": "Anhang",
|
||||
"Attachment Name": "Anhangname",
|
||||
"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 ID of the email message to retrieve.": "Die ID der abzurufenden E-Mail-Nachricht.",
|
||||
"The ID of the email message to mark as read.": "Die ID der E-Mail-Nachricht, die als gelesen markiert wird.",
|
||||
"The ID of the email message to mark as unread.": "Die ID der E-Mail-Nachricht, die als ungelesen markiert wird.",
|
||||
"The ID of the email message to archive.": "Die ID der zu archivierenden E-Mail-Nachricht.",
|
||||
"The ID of the email message to unarchive.": "Die ID der zu entpackenden E-Mail-Nachricht.",
|
||||
"The ID of the email message to move.": "Die ID der zu verschiebenden E-Mail-Nachricht.",
|
||||
"Select the folder to move the email to.": "Wählen Sie den Ordner, an den die E-Mail verschoben werden soll.",
|
||||
"Recipient's email address.": "E-Mail-Adresse des Empfängers",
|
||||
"HTML or plain text content of the email.": "HTML- oder Klartextinhalt der E-Mail.",
|
||||
"CC recipient's email address.": "E-Mail-Adresse des CC-Empfängers.",
|
||||
"BCC recipient's email address.": "E-Mail-Adresse des BCC-Empfängers.",
|
||||
"In case you want to change the name of the attachment.": "Falls Sie den Namen des Anhangs ändern möchten.",
|
||||
"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..",
|
||||
"HTML": "HTML",
|
||||
"Plain Text": "Einfacher Text",
|
||||
"Yes": "Ja",
|
||||
"No": "Nein",
|
||||
"GET": "ERHALTEN",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "LÖSCHEN",
|
||||
"HEAD": "HEAD",
|
||||
"New Email Received": "Neue E-Mail erhalten",
|
||||
"Triggers when a new email is received in a specified folder (or inbox).": "Wird ausgelöst, wenn eine neue E-Mail in einem bestimmten Ordner (oder Posteingang) empfangen wird.",
|
||||
"Select the folder to watch. If empty, watches the inbox/all messages based on API default.": "Wählen Sie den zu beobachtenden Ordner. Wenn leer, beobachtet der Posteingang/alle Nachrichten basierend auf der API-Standardeinstellung."
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.": "Zoho Mail es un potente servicio de correo electrónico que le permite administrar su correo electrónico, contactos y calendarios de manera eficiente.",
|
||||
"Location": "Ubicación",
|
||||
"The location of your Zoho Mail account.": "La ubicación de su cuenta de correo de Zoho.",
|
||||
"zoho.eu (Europe)": "zoho.eu (Europa)",
|
||||
"zoho.com (United States)": "zoho.com (Estados Unidos)",
|
||||
"zoho.com.au (Australia)": "zoho.com.au (Tamaño)",
|
||||
"zoho.jp (Japan)": "zoho.jp (Japón)",
|
||||
"zoho.in (India)": "zoho.in (India)",
|
||||
"zohocloud.ca (Canada)": "zohocloud.ca (Canada)",
|
||||
"Authentication for Zoho Desk": "Autenticación para Zoho Desk",
|
||||
"Get Email Details": "Obtener detalles del email",
|
||||
"Mark Email as Read": "Marcar email como leído",
|
||||
"Mark Emai as Unread": "Marcar Emai como no leído",
|
||||
"Archive Email": "Archivar Email",
|
||||
"Unarchive Email": "Unarchive Email",
|
||||
"Move Email to Folder": "Mover correo a la carpeta",
|
||||
"Send Email": "Enviar Email",
|
||||
"Custom API Call": "Llamada API personalizada",
|
||||
"Retrieves full content and metadata of a specific email.": "Obtiene el contenido completo y los metadatos de un correo electrónico específico.",
|
||||
"Marks an email as read.": "Marca un correo electrónico como leído.",
|
||||
"Marks an email as unread.": "Marca un correo electrónico como no leído.",
|
||||
"Archives an email.": "Archivar un correo electrónico.",
|
||||
"Unarchives an email.": "Desarchiva un correo electrónico.",
|
||||
"Moves an email to a different folder.": "Mover un email a una carpeta diferente.",
|
||||
"Sends an email.": "Envía un correo electrónico.",
|
||||
"Make a custom API call to a specific endpoint": "Hacer una llamada API personalizada a un extremo específico",
|
||||
"Account": "Cuenta",
|
||||
"Folder": "Carpeta",
|
||||
"Message ID": "ID del mensaje",
|
||||
"Current Folder": "Carpeta actual",
|
||||
"Destination Folder": "Carpeta de destino",
|
||||
"From Email Address": "Dirección de Email",
|
||||
"To Email Address": "A la dirección de correo",
|
||||
"Subject": "Asunto",
|
||||
"Mail Format": "Formato de correo",
|
||||
"Content": "Contenido",
|
||||
"CC Email Address": "Dirección de Email CC",
|
||||
"BCC Email Address": "Dirección de email BCC",
|
||||
"Ask for Read Receipt": "Solicitar recibo de lectura",
|
||||
"Attachment": "Adjunto",
|
||||
"Attachment Name": "Nombre del archivo adjunto",
|
||||
"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 ID of the email message to retrieve.": "El ID del mensaje de correo electrónico a recuperar.",
|
||||
"The ID of the email message to mark as read.": "El ID del mensaje de correo electrónico a marcar como leído.",
|
||||
"The ID of the email message to mark as unread.": "El ID del mensaje de correo electrónico a marcar como no leído.",
|
||||
"The ID of the email message to archive.": "El ID del mensaje de correo electrónico a archivar.",
|
||||
"The ID of the email message to unarchive.": "El ID del mensaje de correo electrónico a desarchivar.",
|
||||
"The ID of the email message to move.": "El ID del mensaje de correo electrónico a mover.",
|
||||
"Select the folder to move the email to.": "Seleccione la carpeta a la que mover el correo electrónico.",
|
||||
"Recipient's email address.": "Dirección de correo electrónico del destinatario.",
|
||||
"HTML or plain text content of the email.": "Contenido HTML o texto plano del correo electrónico.",
|
||||
"CC recipient's email address.": "Dirección de correo electrónico del destinatario de CC.",
|
||||
"BCC recipient's email address.": "Dirección de correo electrónico del destinatario de BCC.",
|
||||
"In case you want to change the name of the attachment.": "En caso de que desee cambiar el nombre del archivo adjunto.",
|
||||
"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.",
|
||||
"HTML": "HTML",
|
||||
"Plain Text": "Texto simple",
|
||||
"Yes": "Sí",
|
||||
"No": "Nu",
|
||||
"GET": "RECOGER",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "BORRAR",
|
||||
"HEAD": "LIMPIO",
|
||||
"New Email Received": "Nuevo email recibido",
|
||||
"Triggers when a new email is received in a specified folder (or inbox).": "Se activa cuando se recibe un nuevo correo electrónico en una carpeta (o bandeja de entrada).",
|
||||
"Select the folder to watch. If empty, watches the inbox/all messages based on API default.": "Seleccione la carpeta a ver. Si está vacía, observa la bandeja de entrada o todos los mensajes basados en el valor predeterminado de la API."
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.": "Zoho Mail est un service de messagerie puissant qui vous permet de gérer efficacement vos e-mails, vos contacts et vos calendriers.",
|
||||
"Location": "Localisation",
|
||||
"The location of your Zoho Mail account.": "La localisation de votre compte Zoho Mail.",
|
||||
"zoho.eu (Europe)": "zoho.eu (Europe)",
|
||||
"zoho.com (United States)": "zoho.com (États-Unis)",
|
||||
"zoho.com.au (Australia)": "zoho.com.au (Australie)",
|
||||
"zoho.jp (Japan)": "zoho.jp (Japon)",
|
||||
"zoho.in (India)": "zoho.in (Inde)",
|
||||
"zohocloud.ca (Canada)": "zohocloud.ca (Canada)",
|
||||
"Authentication for Zoho Desk": "Authentification pour Zoho Desk",
|
||||
"Get Email Details": "Obtenir les détails de l'e-mail",
|
||||
"Mark Email as Read": "Marquer l'e-mail comme lu",
|
||||
"Mark Emai as Unread": "Marquer Emai comme non lu",
|
||||
"Archive Email": "Archiver l'e-mail",
|
||||
"Unarchive Email": "Unarchive Email",
|
||||
"Move Email to Folder": "Déplacer l'e-mail vers le dossier",
|
||||
"Send Email": "Envoyer un e-mail",
|
||||
"Custom API Call": "Appel d'API personnalisé",
|
||||
"Retrieves full content and metadata of a specific email.": "Récupère le contenu complet et les métadonnées d'un e-mail spécifique.",
|
||||
"Marks an email as read.": "Marque un e-mail comme lu.",
|
||||
"Marks an email as unread.": "Marque un e-mail comme non lu.",
|
||||
"Archives an email.": "Archive un e-mail.",
|
||||
"Unarchives an email.": "Désarchive un e-mail.",
|
||||
"Moves an email to a different folder.": "Déplace un email vers un dossier différent.",
|
||||
"Sends an email.": "Envoie un e-mail.",
|
||||
"Make a custom API call to a specific endpoint": "Passer un appel API personnalisé à un endpoint spécifique",
|
||||
"Account": "Compte client",
|
||||
"Folder": "Dossier",
|
||||
"Message ID": "ID du message",
|
||||
"Current Folder": "Répertoire actuel",
|
||||
"Destination Folder": "Dossier de destination",
|
||||
"From Email Address": "Adresse e-mail de l'expéditeur",
|
||||
"To Email Address": "À l'adresse e-mail",
|
||||
"Subject": "Sujet",
|
||||
"Mail Format": "Format de l'e-mail",
|
||||
"Content": "Contenus",
|
||||
"CC Email Address": "Adresse e-mail CC",
|
||||
"BCC Email Address": "Adresse email BCC",
|
||||
"Ask for Read Receipt": "Demander un reçu de lecture",
|
||||
"Attachment": "Pièce jointe",
|
||||
"Attachment Name": "Nom de la pièce jointe",
|
||||
"Method": "Méthode",
|
||||
"Headers": "En-têtes",
|
||||
"Query Parameters": "Paramètres de requête",
|
||||
"Body": "Corps",
|
||||
"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 ID of the email message to retrieve.": "L'ID du message à récupérer.",
|
||||
"The ID of the email message to mark as read.": "L'ID du message e-mail à marquer comme lu.",
|
||||
"The ID of the email message to mark as unread.": "L'ID du message e-mail à marquer comme non lu.",
|
||||
"The ID of the email message to archive.": "L'ID du message à archiver.",
|
||||
"The ID of the email message to unarchive.": "L'ID du message à désarchiver.",
|
||||
"The ID of the email message to move.": "L'ID du message à déplacer.",
|
||||
"Select the folder to move the email to.": "Sélectionnez le dossier vers lequel vous souhaitez déplacer l'email.",
|
||||
"Recipient's email address.": "Adresse e-mail du destinataire.",
|
||||
"HTML or plain text content of the email.": "Contenu HTML ou texte brut de l'email.",
|
||||
"CC recipient's email address.": "Adresse e-mail du destinataire du CC.",
|
||||
"BCC recipient's email address.": "Adresse email du destinataire de la BCC.",
|
||||
"In case you want to change the name of the attachment.": "Si vous voulez changer le nom de la pièce jointe.",
|
||||
"Authorization headers are injected automatically from your connection.": "Les en-têtes 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.",
|
||||
"HTML": "HTML",
|
||||
"Plain Text": "Texte brut",
|
||||
"Yes": "Oui",
|
||||
"No": "Non",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD",
|
||||
"New Email Received": "Nouvel e-mail reçu",
|
||||
"Triggers when a new email is received in a specified folder (or inbox).": "Déclenche lorsqu'un nouvel e-mail est reçu dans un dossier (ou une boîte de réception).",
|
||||
"Select the folder to watch. If empty, watches the inbox/all messages based on API default.": "Sélectionnez le dossier à surveiller. Si vide, surveille la boîte de réception/tous les messages en fonction de l'API par défaut."
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.": "Zoho Mail は、メール、連絡先、カレンダーを効率的に管理できる強力なメールサービスです。",
|
||||
"Location": "場所",
|
||||
"The location of your Zoho Mail account.": "Zoho メールアカウントの場所。",
|
||||
"zoho.eu (Europe)": "zoho.eu (ヨーロッパ)",
|
||||
"zoho.com (United States)": "zoho.com (アメリカ合衆国)",
|
||||
"zoho.com.au (Australia)": "zoho.com.au (オーストラリア)",
|
||||
"zoho.jp (Japan)": "zoho.jp (日本)",
|
||||
"zoho.in (India)": "zoho.in (インド)",
|
||||
"zohocloud.ca (Canada)": "zohocloud.ca (Canada)",
|
||||
"Authentication for Zoho Desk": "Zoho Deskの認証",
|
||||
"Get Email Details": "メールの詳細を取得",
|
||||
"Mark Email as Read": "メールを既読にする",
|
||||
"Mark Emai as Unread": "Emaiを未読にする",
|
||||
"Archive Email": "電子メールをアーカイブ",
|
||||
"Unarchive Email": "Unarchive Email",
|
||||
"Move Email to Folder": "メールをフォルダに移動",
|
||||
"Send Email": "メール送信",
|
||||
"Custom API Call": "カスタムAPI通話",
|
||||
"Retrieves full content and metadata of a specific email.": "特定のメールの完全なコンテンツとメタデータを取得します。",
|
||||
"Marks an email as read.": "メールを既読にします。",
|
||||
"Marks an email as unread.": "メールを未読としてマークします。",
|
||||
"Archives an email.": "メールをアーカイブする",
|
||||
"Unarchives an email.": "メールのアーカイブを解除します。",
|
||||
"Moves an email to a different folder.": "メールを別のフォルダに移動します。",
|
||||
"Sends an email.": "メールを送信します。",
|
||||
"Make a custom API call to a specific endpoint": "特定のエンドポイントへのカスタム API コールを実行します。",
|
||||
"Account": "アカウント",
|
||||
"Folder": "フォルダ",
|
||||
"Message ID": "メッセージID",
|
||||
"Current Folder": "現在のフォルダ",
|
||||
"Destination Folder": "宛先フォルダ",
|
||||
"From Email Address": "差出人メールアドレス",
|
||||
"To Email Address": "宛先メールアドレス",
|
||||
"Subject": "件名",
|
||||
"Mail Format": "メール形式",
|
||||
"Content": "コンテンツ",
|
||||
"CC Email Address": "CC メールアドレス",
|
||||
"BCC Email Address": "BCCのメールアドレス",
|
||||
"Ask for Read Receipt": "開封通知を要求",
|
||||
"Attachment": "添付ファイル",
|
||||
"Attachment Name": "添付ファイル名",
|
||||
"Method": "方法",
|
||||
"Headers": "ヘッダー",
|
||||
"Query Parameters": "クエリパラメータ",
|
||||
"Body": "本文",
|
||||
"Response is Binary ?": "応答はバイナリですか?",
|
||||
"No Error on Failure": "失敗時にエラーはありません",
|
||||
"Timeout (in seconds)": "タイムアウト(秒)",
|
||||
"The ID of the email message to retrieve.": "取得する電子メールメッセージのID。",
|
||||
"The ID of the email message to mark as read.": "既読にする電子メールメッセージの ID。",
|
||||
"The ID of the email message to mark as unread.": "未読としてマークする電子メールメッセージのID。",
|
||||
"The ID of the email message to archive.": "アーカイブする電子メールメッセージの ID。",
|
||||
"The ID of the email message to unarchive.": "アーカイブを解除するメールメッセージの ID",
|
||||
"The ID of the email message to move.": "移動する電子メールメッセージのID。",
|
||||
"Select the folder to move the email to.": "メールを移動するフォルダを選択します。",
|
||||
"Recipient's email address.": "受信者のメールアドレス",
|
||||
"HTML or plain text content of the email.": "メールのHTMLまたはプレーンテキストコンテンツ。",
|
||||
"CC recipient's email address.": "CC受信者のメールアドレス。",
|
||||
"BCC recipient's email address.": "BCC 受信者のメールアドレス",
|
||||
"In case you want to change the name of the attachment.": "添付ファイルの名前を変更したい場合.",
|
||||
"Authorization headers are injected automatically from your connection.": "認証ヘッダは接続から自動的に注入されます。",
|
||||
"Enable for files like PDFs, images, etc..": "PDF、画像などのファイルを有効にします。",
|
||||
"HTML": "HTML",
|
||||
"Plain Text": "プレーンテキスト",
|
||||
"Yes": "はい",
|
||||
"No": "いいえ",
|
||||
"GET": "取得",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "削除",
|
||||
"HEAD": "頭",
|
||||
"New Email Received": "新しいメールを受信しました",
|
||||
"Triggers when a new email is received in a specified folder (or inbox).": "指定したフォルダ(または受信トレイ)に新しいメールを受信したときにトリガーします。",
|
||||
"Select the folder to watch. If empty, watches the inbox/all messages based on API default.": "監視するフォルダを選択します。空の場合は、API のデフォルトに基づいて受信トレイ/すべてのメッセージを監視します。"
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.": "Zoho Mail is een krachtige e-maildienst waarmee u uw e-mail, contacten en kalenders efficiënt kunt beheren.",
|
||||
"Location": "Locatie",
|
||||
"The location of your Zoho Mail account.": "De locatie van je Zoho Mail account.",
|
||||
"zoho.eu (Europe)": "zoho.eu (Europa)",
|
||||
"zoho.com (United States)": "zoho.com (Verenigde Staten)",
|
||||
"zoho.com.au (Australia)": "zoho.com.au (Australia)",
|
||||
"zoho.jp (Japan)": "zoho.jp (Japan)",
|
||||
"zoho.in (India)": "zoho.in (India)",
|
||||
"zohocloud.ca (Canada)": "zohocloud.ca (Canada)",
|
||||
"Authentication for Zoho Desk": "Authenticatie voor Zoho Desk",
|
||||
"Get Email Details": "Krijg E-mail Details",
|
||||
"Mark Email as Read": "Markeer E-mail als gelezen",
|
||||
"Mark Emai as Unread": "Emai markeren als ongelezen",
|
||||
"Archive Email": "Archief e-mail",
|
||||
"Unarchive Email": "Unarchive Email",
|
||||
"Move Email to Folder": "Verplaats E-mail naar map",
|
||||
"Send Email": "E-mail verzenden",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Retrieves full content and metadata of a specific email.": "Haal volledige inhoud en metadata op van een specifiek e-mailadres.",
|
||||
"Marks an email as read.": "Markeer een e-mail als gelezen.",
|
||||
"Marks an email as unread.": "Markeer een e-mail als ongelezen.",
|
||||
"Archives an email.": "Archiveer een e-mail.",
|
||||
"Unarchives an email.": "Dearchiveer een e-mail.",
|
||||
"Moves an email to a different folder.": "Verplaatst een e-mail naar een andere map.",
|
||||
"Sends an email.": "Verstuurt een e-mail.",
|
||||
"Make a custom API call to a specific endpoint": "Maak een aangepaste API call naar een specifiek eindpunt",
|
||||
"Account": "Rekening",
|
||||
"Folder": "Map",
|
||||
"Message ID": "Bericht ID",
|
||||
"Current Folder": "Huidige map",
|
||||
"Destination Folder": "Doelmap map",
|
||||
"From Email Address": "Van e-mailadres",
|
||||
"To Email Address": "Naar e-mailadres",
|
||||
"Subject": "Onderwerp",
|
||||
"Mail Format": "E-mail formaat",
|
||||
"Content": "Inhoud",
|
||||
"CC Email Address": "CC e-mailadres",
|
||||
"BCC Email Address": "BCC e-mailadres",
|
||||
"Ask for Read Receipt": "Vraag naar leesbevestiging",
|
||||
"Attachment": "Bijlage",
|
||||
"Attachment Name": "Bijlage 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 ID of the email message to retrieve.": "Het ID van het op te halen e-mailbericht.",
|
||||
"The ID of the email message to mark as read.": "Het ID van het e-mailbericht om als gelezen te markeren.",
|
||||
"The ID of the email message to mark as unread.": "Het ID van het e-mailbericht om als ongelezen te markeren.",
|
||||
"The ID of the email message to archive.": "Het ID van het e-mail bericht om te archiveren.",
|
||||
"The ID of the email message to unarchive.": "Het ID van het e-mail bericht om te dearchiveren.",
|
||||
"The ID of the email message to move.": "Het ID van het te verplaatsen e-mailbericht.",
|
||||
"Select the folder to move the email to.": "Selecteer de map waar de e-mail naartoe moet worden verplaatst.",
|
||||
"Recipient's email address.": "E-mailadres ontvanger",
|
||||
"HTML or plain text content of the email.": "HTML of platte tekst inhoud van de e-mail.",
|
||||
"CC recipient's email address.": "CC ontvanger zijn e-mailadres",
|
||||
"BCC recipient's email address.": "BCC ontvanger's e-mailadres.",
|
||||
"In case you want to change the name of the attachment.": "In het geval dat u de naam van de bijlage wilt wijzigen.",
|
||||
"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..",
|
||||
"HTML": "HTML",
|
||||
"Plain Text": "Onopgemaakte tekst",
|
||||
"Yes": "ja",
|
||||
"No": "Neen",
|
||||
"GET": "KRIJG",
|
||||
"POST": "POSTE",
|
||||
"PATCH": "BEKIJK",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "VERWIJDEREN",
|
||||
"HEAD": "HOOFD",
|
||||
"New Email Received": "Nieuwe e-mail ontvangen",
|
||||
"Triggers when a new email is received in a specified folder (or inbox).": "Triggert wanneer een nieuwe e-mail wordt ontvangen in een opgegeven map (of inbox).",
|
||||
"Select the folder to watch. If empty, watches the inbox/all messages based on API default.": "Selecteer de te bekijken map. Indien leeg, kijk dan naar de inbox/alle berichten gebaseerd op API-standaard."
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.": "Zoho Mail é um serviço de e-mail poderoso que permite que você gerencie seu e-mail, contatos e agenda eficientemente.",
|
||||
"Location": "Local:",
|
||||
"The location of your Zoho Mail account.": "A localização da sua conta Zoho Mail.",
|
||||
"zoho.eu (Europe)": "zoho.eu (Europa)",
|
||||
"zoho.com (United States)": "zoho.com (Estados Unidos)",
|
||||
"zoho.com.au (Australia)": "zoho.com.au (Austrália)",
|
||||
"zoho.jp (Japan)": "zoho.jp (Japão)",
|
||||
"zoho.in (India)": "zoho.in (Índia)",
|
||||
"zohocloud.ca (Canada)": "zohocloud.ca (Canada)",
|
||||
"Authentication for Zoho Desk": "Autenticação para Zoho Desk",
|
||||
"Get Email Details": "Obter Detalhes do E-mail",
|
||||
"Mark Email as Read": "Marcar E-mail como lido",
|
||||
"Mark Emai as Unread": "Marcar Emai como Não Lida",
|
||||
"Archive Email": "Arquivo Email",
|
||||
"Unarchive Email": "Unarchive Email",
|
||||
"Move Email to Folder": "Mover e-mail para pasta",
|
||||
"Send Email": "Enviar e-mail",
|
||||
"Custom API Call": "Chamada de API personalizada",
|
||||
"Retrieves full content and metadata of a specific email.": "Obtém conteúdo completo e metadados de um e-mail específico.",
|
||||
"Marks an email as read.": "Marca um email como lido.",
|
||||
"Marks an email as unread.": "Marca um email como não lido.",
|
||||
"Archives an email.": "Arquiva um e-mail.",
|
||||
"Unarchives an email.": "Desarquiva um e-mail.",
|
||||
"Moves an email to a different folder.": "Move um e-mail para uma pasta diferente.",
|
||||
"Sends an email.": "Envia um e-mail.",
|
||||
"Make a custom API call to a specific endpoint": "Faça uma chamada de API personalizada para um ponto de extremidade específico",
|
||||
"Account": "conta",
|
||||
"Folder": "Pasta",
|
||||
"Message ID": "ID da mensagem",
|
||||
"Current Folder": "Pasta atual",
|
||||
"Destination Folder": "Pasta de destino",
|
||||
"From Email Address": "Do Email Address",
|
||||
"To Email Address": "Endereço de E-mail",
|
||||
"Subject": "Cargo",
|
||||
"Mail Format": "Formato de correio",
|
||||
"Content": "Conteúdo",
|
||||
"CC Email Address": "Endereço de E-mail CC",
|
||||
"BCC Email Address": "Endereço de E-mail BCC",
|
||||
"Ask for Read Receipt": "Pedir confirmação de leitura",
|
||||
"Attachment": "Anexo",
|
||||
"Attachment Name": "Nome do anexo",
|
||||
"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 ID of the email message to retrieve.": "O ID da mensagem de e-mail a ser recuperada.",
|
||||
"The ID of the email message to mark as read.": "O ID da mensagem de e-mail a ser marcada como lida.",
|
||||
"The ID of the email message to mark as unread.": "O ID da mensagem de e-mail a ser marcada como não lida.",
|
||||
"The ID of the email message to archive.": "O ID da mensagem de e-mail a arquivar.",
|
||||
"The ID of the email message to unarchive.": "O ID da mensagem de e-mail para desarquivar.",
|
||||
"The ID of the email message to move.": "O ID da mensagem de e-mail a ser movida.",
|
||||
"Select the folder to move the email to.": "Selecione a pasta para mover o e-mail.",
|
||||
"Recipient's email address.": "E-mail do destinatário.",
|
||||
"HTML or plain text content of the email.": "HTML ou conteúdo de texto simples do e-mail.",
|
||||
"CC recipient's email address.": "E-mail do destinatário CC",
|
||||
"BCC recipient's email address.": "E-mail do destinatário BCC.",
|
||||
"In case you want to change the name of the attachment.": "Caso queira alterar o nome do anexo.",
|
||||
"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..",
|
||||
"HTML": "HTML",
|
||||
"Plain Text": "Texto sem Formatação",
|
||||
"Yes": "sim",
|
||||
"No": "Não",
|
||||
"GET": "OBTER",
|
||||
"POST": "POSTAR",
|
||||
"PATCH": "COMPRAR",
|
||||
"PUT": "COLOCAR",
|
||||
"DELETE": "EXCLUIR",
|
||||
"HEAD": "CABEÇA",
|
||||
"New Email Received": "Novo e-mail recebido",
|
||||
"Triggers when a new email is received in a specified folder (or inbox).": "Aciona quando um novo email é recebido em uma pasta especificada (ou caixa de entrada).",
|
||||
"Select the folder to watch. If empty, watches the inbox/all messages based on API default.": "Selecione a pasta para assistir. Se vazia, assiste à caixa de entrada/todas as mensagens baseadas no padrão da API."
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"Zoho Mail": "Zoho Mail",
|
||||
"Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.": "Zoho Mail это мощный сервис электронной почты, который позволяет эффективно управлять электронной почтой, контактами и календарями.",
|
||||
"Location": "Местоположение",
|
||||
"The location of your Zoho Mail account.": "Местоположение вашей учетной записи Zoho Mail.",
|
||||
"zoho.eu (Europe)": "zoho.eu (Европа)",
|
||||
"zoho.com (United States)": "zoho.com (Соединенные Штаты)",
|
||||
"zoho.com.au (Australia)": "zoho.com.au (Австралия)",
|
||||
"zoho.jp (Japan)": "zoho.jp (Япония)",
|
||||
"zoho.in (India)": "zoho.in (Индия)",
|
||||
"zohocloud.ca (Canada)": "zohocloud.ca (Canada)",
|
||||
"Authentication for Zoho Desk": "Аутентификация для Zoho Desk",
|
||||
"Get Email Details": "Получить подробности по электронной почте",
|
||||
"Mark Email as Read": "Пометить письмо как прочитанное",
|
||||
"Mark Emai as Unread": "Пометить Emai как непрочитанное",
|
||||
"Move Email to Folder": "Переместить Email в папку",
|
||||
"Send Email": "Отправить письмо",
|
||||
"Custom API Call": "Пользовательский вызов API",
|
||||
"Retrieves full content and metadata of a specific email.": "Получает полное содержимое и метаданные определенного email.",
|
||||
"Marks an email as read.": "Отмечает email как прочитанный.",
|
||||
"Marks an email as unread.": "Помечает письмо как непрочитанное.",
|
||||
"Moves an email to a different folder.": "Перемещает письмо в другую папку.",
|
||||
"Sends an email.": "Отправляет письмо.",
|
||||
"Make a custom API call to a specific endpoint": "Сделать пользовательский API вызов к определенной конечной точке",
|
||||
"Account": "Аккаунт",
|
||||
"Folder": "Папка",
|
||||
"Message ID": "ID сообщения",
|
||||
"Current Folder": "Текущая папка",
|
||||
"Destination Folder": "Папка назначения",
|
||||
"From Email Address": "От адреса электронной почты",
|
||||
"To Email Address": "Адрес электронной почты",
|
||||
"Subject": "Тема",
|
||||
"Mail Format": "Формат почты",
|
||||
"Content": "Содержание",
|
||||
"CC Email Address": "CC адрес электронной почты",
|
||||
"BCC Email Address": "BCC Email Address",
|
||||
"Ask for Read Receipt": "Запрашивать прочтение квитанции",
|
||||
"Attachment": "Вложение",
|
||||
"Attachment Name": "Название вложения",
|
||||
"Method": "Метод",
|
||||
"Headers": "Заголовки",
|
||||
"Query Parameters": "Параметры запроса",
|
||||
"Body": "Тело",
|
||||
"No Error on Failure": "Нет ошибок при ошибке",
|
||||
"Timeout (in seconds)": "Таймаут (в секундах)",
|
||||
"The ID of the email message to retrieve.": "Идентификатор email сообщения для получения.",
|
||||
"The ID of the email message to mark as read.": "Идентификатор сообщения электронной почты, чтобы отметить как прочитанные.",
|
||||
"The ID of the email message to mark as unread.": "ID сообщения электронной почты для отметки как непрочитанные.",
|
||||
"The ID of the email message to move.": "ID сообщения для перемещения.",
|
||||
"Select the folder to move the email to.": "Выберите папку для перемещения электронной почты.",
|
||||
"Recipient's email address.": "Адрес электронной почты получателя.",
|
||||
"HTML or plain text content of the email.": "HTML или обычный текстовый контент электронной почты.",
|
||||
"CC recipient's email address.": "Адрес электронной почты получателя Копии.",
|
||||
"BCC recipient's email address.": "Адрес электронной почты получателя BCC.",
|
||||
"In case you want to change the name of the attachment.": "В случае, если вы хотите изменить имя вложения.",
|
||||
"Authorization headers are injected automatically from your connection.": "Заголовки авторизации включаются автоматически из вашего соединения.",
|
||||
"HTML": "HTML",
|
||||
"Plain Text": "Обычный текст",
|
||||
"Yes": "Да",
|
||||
"No": "Нет",
|
||||
"GET": "ПОЛУЧИТЬ",
|
||||
"POST": "ПОСТ",
|
||||
"PATCH": "ПАТЧ",
|
||||
"PUT": "ПОКУПИТЬ",
|
||||
"DELETE": "УДАЛИТЬ",
|
||||
"HEAD": "HEAD",
|
||||
"New Email Received": "Получено новое письмо",
|
||||
"Triggers when a new email is received in a specified folder (or inbox).": "Запускает при получении нового письма в указанной папке (или в папке).",
|
||||
"Select the folder to watch. If empty, watches the inbox/all messages based on API default.": "Выберите папку для просмотра. Если пустой, смотрит входящие/все сообщения, основанные на API по умолчанию."
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.": "Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.",
|
||||
"Location": "Location",
|
||||
"The location of your Zoho Mail account.": "The location of your Zoho Mail account.",
|
||||
"zoho.eu (Europe)": "zoho.eu (Europe)",
|
||||
"zoho.com (United States)": "zoho.com (United States)",
|
||||
"zoho.com.au (Australia)": "zoho.com.au (Australia)",
|
||||
"zoho.jp (Japan)": "zoho.jp (Japan)",
|
||||
"zoho.in (India)": "zoho.in (India)",
|
||||
"zohocloud.ca (Canada)": "zohocloud.ca (Canada)",
|
||||
"Authentication for Zoho Desk": "Authentication for Zoho Desk",
|
||||
"Get Email Details": "Get Email Details",
|
||||
"Mark Email as Read": "Mark Email as Read",
|
||||
"Mark Emai as Unread": "Mark Emai as Unread",
|
||||
"Archive Email": "Archive Email",
|
||||
"Unarchive Email": "Unarchive Email",
|
||||
"Move Email to Folder": "Move Email to Folder",
|
||||
"Send Email": "Send Email",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Retrieves full content and metadata of a specific email.": "Retrieves full content and metadata of a specific email.",
|
||||
"Marks an email as read.": "Marks an email as read.",
|
||||
"Marks an email as unread.": "Marks an email as unread.",
|
||||
"Archives an email.": "Archives an email.",
|
||||
"Unarchives an email.": "Unarchives an email.",
|
||||
"Moves an email to a different folder.": "Moves an email to a different folder.",
|
||||
"Sends an email.": "Sends an email.",
|
||||
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
|
||||
"Account": "Account",
|
||||
"Folder": "Folder",
|
||||
"Message ID": "Message ID",
|
||||
"Current Folder": "Current Folder",
|
||||
"Destination Folder": "Destination Folder",
|
||||
"From Email Address": "From Email Address",
|
||||
"To Email Address": "To Email Address",
|
||||
"Subject": "Subject",
|
||||
"Mail Format": "Mail Format",
|
||||
"Content": "Content",
|
||||
"CC Email Address": "CC Email Address",
|
||||
"BCC Email Address": "BCC Email Address",
|
||||
"Ask for Read Receipt": "Ask for Read Receipt",
|
||||
"Attachment": "Attachment",
|
||||
"Attachment Name": "Attachment 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 ID of the email message to retrieve.": "The ID of the email message to retrieve.",
|
||||
"The ID of the email message to mark as read.": "The ID of the email message to mark as read.",
|
||||
"The ID of the email message to mark as unread.": "The ID of the email message to mark as unread.",
|
||||
"The ID of the email message to archive.": "The ID of the email message to archive.",
|
||||
"The ID of the email message to unarchive.": "The ID of the email message to unarchive.",
|
||||
"The ID of the email message to move.": "The ID of the email message to move.",
|
||||
"Select the folder to move the email to.": "Select the folder to move the email to.",
|
||||
"Recipient's email address.": "Recipient's email address.",
|
||||
"HTML or plain text content of the email.": "HTML or plain text content of the email.",
|
||||
"CC recipient's email address.": "CC recipient's email address.",
|
||||
"BCC recipient's email address.": "BCC recipient's email address.",
|
||||
"In case you want to change the name of the attachment.": "In case you want to change the name of the attachment.",
|
||||
"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..",
|
||||
"HTML": "HTML",
|
||||
"Plain Text": "Plain Text",
|
||||
"Yes": "Yes",
|
||||
"No": "No",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD",
|
||||
"New Email Received": "New Email Received",
|
||||
"Triggers when a new email is received in a specified folder (or inbox).": "Triggers when a new email is received in a specified folder (or inbox).",
|
||||
"Select the folder to watch. If empty, watches the inbox/all messages based on API default.": "Select the folder to watch. If empty, watches the inbox/all messages based on API default."
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"Zoho Mail": "Zoho Mail",
|
||||
"Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.": "Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.",
|
||||
"Location": "Location",
|
||||
"The location of your Zoho Mail account.": "The location of your Zoho Mail account.",
|
||||
"zoho.eu (Europe)": "zoho.eu (Europe)",
|
||||
"zoho.com (United States)": "zoho.com (United States)",
|
||||
"zoho.com.au (Australia)": "zoho.com.au (Australia)",
|
||||
"zoho.jp (Japan)": "zoho.jp (Japan)",
|
||||
"zoho.in (India)": "zoho.in (India)",
|
||||
"zohocloud.ca (Canada)": "zohocloud.ca (Canada)",
|
||||
"Authentication for Zoho Desk": "Authentication for Zoho Desk",
|
||||
"Get Email Details": "Get Email Details",
|
||||
"Mark Email as Read": "Mark Email as Read",
|
||||
"Mark Emai as Unread": "Mark Emai as Unread",
|
||||
"Move Email to Folder": "Move Email to Folder",
|
||||
"Send Email": "Send Email",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Retrieves full content and metadata of a specific email.": "Retrieves full content and metadata of a specific email.",
|
||||
"Marks an email as read.": "Marks an email as read.",
|
||||
"Marks an email as unread.": "Marks an email as unread.",
|
||||
"Moves an email to a different folder.": "Moves an email to a different folder.",
|
||||
"Sends an email.": "Sends an email.",
|
||||
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
|
||||
"Account": "Account",
|
||||
"Folder": "Folder",
|
||||
"Message ID": "Message ID",
|
||||
"Current Folder": "Current Folder",
|
||||
"Destination Folder": "Destination Folder",
|
||||
"From Email Address": "From Email Address",
|
||||
"To Email Address": "To Email Address",
|
||||
"Subject": "Subject",
|
||||
"Mail Format": "Mail Format",
|
||||
"Content": "Content",
|
||||
"CC Email Address": "CC Email Address",
|
||||
"BCC Email Address": "BCC Email Address",
|
||||
"Ask for Read Receipt": "Ask for Read Receipt",
|
||||
"Attachment": "Attachment",
|
||||
"Attachment Name": "Attachment Name",
|
||||
"Method": "Method",
|
||||
"Headers": "Headers",
|
||||
"Query Parameters": "Query Parameters",
|
||||
"Body": "Body",
|
||||
"No Error on Failure": "No Error on Failure",
|
||||
"Timeout (in seconds)": "Timeout (in seconds)",
|
||||
"The ID of the email message to retrieve.": "The ID of the email message to retrieve.",
|
||||
"The ID of the email message to mark as read.": "The ID of the email message to mark as read.",
|
||||
"The ID of the email message to mark as unread.": "The ID of the email message to mark as unread.",
|
||||
"The ID of the email message to move.": "The ID of the email message to move.",
|
||||
"Select the folder to move the email to.": "Select the folder to move the email to.",
|
||||
"Recipient's email address.": "Recipient's email address.",
|
||||
"HTML or plain text content of the email.": "HTML or plain text content of the email.",
|
||||
"CC recipient's email address.": "CC recipient's email address.",
|
||||
"BCC recipient's email address.": "BCC recipient's email address.",
|
||||
"In case you want to change the name of the attachment.": "In case you want to change the name of the attachment.",
|
||||
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
|
||||
"HTML": "HTML",
|
||||
"Plain Text": "Plain Text",
|
||||
"Yes": "Yes",
|
||||
"No": "No",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD",
|
||||
"New Email Received": "New Email Received",
|
||||
"Triggers when a new email is received in a specified folder (or inbox).": "Triggers when a new email is received in a specified folder (or inbox).",
|
||||
"Select the folder to watch. If empty, watches the inbox/all messages based on API default.": "Select the folder to watch. If empty, watches the inbox/all messages based on API default."
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.": "Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.",
|
||||
"Location": "Location",
|
||||
"The location of your Zoho Mail account.": "The location of your Zoho Mail account.",
|
||||
"zoho.eu (Europe)": "zoho.eu (Europe)",
|
||||
"zoho.com (United States)": "zoho.com (United States)",
|
||||
"zoho.com.au (Australia)": "zoho.com.au (Australia)",
|
||||
"zoho.jp (Japan)": "zoho.jp (Japan)",
|
||||
"zoho.in (India)": "zoho.in (India)",
|
||||
"zohocloud.ca (Canada)": "zohocloud.ca (Canada)",
|
||||
"Authentication for Zoho Desk": "Authentication for Zoho Desk",
|
||||
"Get Email Details": "Get Email Details",
|
||||
"Mark Email as Read": "Mark Email as Read",
|
||||
"Mark Emai as Unread": "Mark Emai as Unread",
|
||||
"Archive Email": "Archive Email",
|
||||
"Unarchive Email": "Unarchive Email",
|
||||
"Move Email to Folder": "Move Email to Folder",
|
||||
"Send Email": "Send Email",
|
||||
"Custom API Call": "自定义 API 呼叫",
|
||||
"Retrieves full content and metadata of a specific email.": "Retrieves full content and metadata of a specific email.",
|
||||
"Marks an email as read.": "Marks an email as read.",
|
||||
"Marks an email as unread.": "Marks an email as unread.",
|
||||
"Archives an email.": "Archives an email.",
|
||||
"Unarchives an email.": "Unarchives an email.",
|
||||
"Moves an email to a different folder.": "Moves an email to a different folder.",
|
||||
"Sends an email.": "Sends an email.",
|
||||
"Make a custom API call to a specific endpoint": "将一个自定义 API 调用到一个特定的终点",
|
||||
"Account": "Account",
|
||||
"Folder": "Folder",
|
||||
"Message ID": "Message ID",
|
||||
"Current Folder": "Current Folder",
|
||||
"Destination Folder": "Destination Folder",
|
||||
"From Email Address": "From Email Address",
|
||||
"To Email Address": "To Email Address",
|
||||
"Subject": "Subject",
|
||||
"Mail Format": "Mail Format",
|
||||
"Content": "Content",
|
||||
"CC Email Address": "CC Email Address",
|
||||
"BCC Email Address": "BCC Email Address",
|
||||
"Ask for Read Receipt": "Ask for Read Receipt",
|
||||
"Attachment": "Attachment",
|
||||
"Attachment Name": "Attachment Name",
|
||||
"Method": "方法",
|
||||
"Headers": "信头",
|
||||
"Query Parameters": "查询参数",
|
||||
"Body": "正文内容",
|
||||
"Response is Binary ?": "Response is Binary ?",
|
||||
"No Error on Failure": "失败时没有错误",
|
||||
"Timeout (in seconds)": "超时(秒)",
|
||||
"The ID of the email message to retrieve.": "The ID of the email message to retrieve.",
|
||||
"The ID of the email message to mark as read.": "The ID of the email message to mark as read.",
|
||||
"The ID of the email message to mark as unread.": "The ID of the email message to mark as unread.",
|
||||
"The ID of the email message to archive.": "The ID of the email message to archive.",
|
||||
"The ID of the email message to unarchive.": "The ID of the email message to unarchive.",
|
||||
"The ID of the email message to move.": "The ID of the email message to move.",
|
||||
"Select the folder to move the email to.": "Select the folder to move the email to.",
|
||||
"Recipient's email address.": "Recipient's email address.",
|
||||
"HTML or plain text content of the email.": "HTML or plain text content of the email.",
|
||||
"CC recipient's email address.": "CC recipient's email address.",
|
||||
"BCC recipient's email address.": "BCC recipient's email address.",
|
||||
"In case you want to change the name of the attachment.": "In case you want to change the name of the attachment.",
|
||||
"Authorization headers are injected automatically from your connection.": "授权头自动从您的连接中注入。",
|
||||
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
|
||||
"HTML": "HTML",
|
||||
"Plain Text": "Plain Text",
|
||||
"Yes": "Yes",
|
||||
"No": "No",
|
||||
"GET": "获取",
|
||||
"POST": "帖子",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "弹出",
|
||||
"DELETE": "删除",
|
||||
"HEAD": "黑色",
|
||||
"New Email Received": "New Email Received",
|
||||
"Triggers when a new email is received in a specified folder (or inbox).": "Triggers when a new email is received in a specified folder (or inbox).",
|
||||
"Select the folder to watch. If empty, watches the inbox/all messages based on API default.": "Select the folder to watch. If empty, watches the inbox/all messages based on API default."
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
import { createCustomApiCallAction } from '@activepieces/pieces-common';
|
||||
import {
|
||||
createPiece,
|
||||
OAuth2PropertyValue,
|
||||
PiecePropValueSchema,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { PieceCategory } from '@activepieces/shared';
|
||||
import { getEmailDetailsAction } from './lib/actions/get-email-details';
|
||||
import { markEmailAsReadAction } from './lib/actions/mark-email-as-read';
|
||||
import { markEmailAsUnreadAction } from './lib/actions/mark-email-as-unread';
|
||||
import { archiveEmailAction } from './lib/actions/archive-email';
|
||||
import { unarchiveEmailAction } from './lib/actions/unarchive-email';
|
||||
import { moveEmailAction } from './lib/actions/move-email';
|
||||
import { sendEmailAction } from './lib/actions/send-email';
|
||||
import { zohoMailAuth } from './lib/common/auth';
|
||||
import { newEmailReceivedTrigger } from './lib/triggers/new-email-received-trigger';
|
||||
|
||||
export const zohoMail = createPiece({
|
||||
displayName: 'Zoho Mail',
|
||||
logoUrl: 'https://cdn.activepieces.com/pieces/zoho-mail.png',
|
||||
auth: zohoMailAuth,
|
||||
authors: ['onyedikachi-david', 'kishanprmr', 'kdurek'],
|
||||
description:
|
||||
'Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.',
|
||||
minimumSupportedRelease: '0.36.1',
|
||||
categories: [PieceCategory.COMMUNICATION],
|
||||
actions: [
|
||||
getEmailDetailsAction,
|
||||
markEmailAsReadAction,
|
||||
markEmailAsUnreadAction,
|
||||
archiveEmailAction,
|
||||
unarchiveEmailAction,
|
||||
moveEmailAction,
|
||||
sendEmailAction,
|
||||
createCustomApiCallAction({
|
||||
auth: zohoMailAuth,
|
||||
baseUrl: (auth) => {
|
||||
const authValue = auth as PiecePropValueSchema<typeof zohoMailAuth>;
|
||||
const location = authValue.props?.['location'] ?? 'zoho.com';
|
||||
return `https://mail.${location}/api`;
|
||||
},
|
||||
authMapping: async (auth) => {
|
||||
return {
|
||||
Authorization: `Zoho-oauthtoken ${(auth as OAuth2PropertyValue).access_token}`,
|
||||
};
|
||||
},
|
||||
}),
|
||||
],
|
||||
triggers: [newEmailReceivedTrigger],
|
||||
});
|
||||
@@ -0,0 +1,36 @@
|
||||
import { HttpMethod } from '@activepieces/pieces-common';
|
||||
import { createAction } from '@activepieces/pieces-framework';
|
||||
import { zohoMailApiCall } from '../common';
|
||||
import { zohoMailAuth } from '../common/auth';
|
||||
import { accountId, folderId, messageId } from '../common/props';
|
||||
|
||||
export const archiveEmailAction = createAction({
|
||||
auth: zohoMailAuth,
|
||||
name: 'archive_email',
|
||||
displayName: 'Archive Email',
|
||||
description: 'Archives an email.',
|
||||
props: {
|
||||
accountId: accountId({ displayName: 'Account', required: true }),
|
||||
folderId: folderId({ displayName: 'Folder', required: true }),
|
||||
messageId: messageId({
|
||||
displayName: 'Message ID',
|
||||
description: 'The ID of the email message to archive.',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const { accountId, messageId } = context.propsValue;
|
||||
|
||||
const response = await zohoMailApiCall({
|
||||
auth: context.auth,
|
||||
method: HttpMethod.PUT,
|
||||
resourceUri: `/accounts/${accountId}/updatemessage`,
|
||||
body: {
|
||||
mode: 'archiveMails',
|
||||
messageId: [messageId],
|
||||
},
|
||||
});
|
||||
|
||||
return response;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,38 @@
|
||||
import { HttpMethod } from '@activepieces/pieces-common';
|
||||
import { createAction } from '@activepieces/pieces-framework';
|
||||
import { convertAttachment, parseStream, zohoMailApiCall } from '../common';
|
||||
import { zohoMailAuth } from '../common/auth';
|
||||
import { accountId, folderId, messageId } from '../common/props';
|
||||
|
||||
export const getEmailDetailsAction = createAction({
|
||||
auth: zohoMailAuth,
|
||||
name: 'get_email_details',
|
||||
displayName: 'Get Email Details',
|
||||
description: 'Retrieves full content and metadata of a specific email.',
|
||||
props: {
|
||||
accountId: accountId({ displayName: 'Account', required: true }),
|
||||
folderId: folderId({ displayName: 'Folder', required: true }),
|
||||
messageId: messageId({
|
||||
displayName: 'Message ID',
|
||||
description: 'The ID of the email message to retrieve.',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const { accountId, messageId } = context.propsValue;
|
||||
|
||||
const response = await zohoMailApiCall<{ data: { content: string; messageId: string } }>({
|
||||
auth: context.auth,
|
||||
method: HttpMethod.GET,
|
||||
resourceUri: `/accounts/${accountId}/messages/${messageId}/originalmessage`,
|
||||
});
|
||||
|
||||
const parsedMailResponse = await parseStream(response.data.content);
|
||||
|
||||
return {
|
||||
...parsedMailResponse,
|
||||
attachments: await convertAttachment(parsedMailResponse.attachments, context.files),
|
||||
id: response.data.messageId,
|
||||
};
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,36 @@
|
||||
import { HttpMethod } from '@activepieces/pieces-common';
|
||||
import { createAction } from '@activepieces/pieces-framework';
|
||||
import { zohoMailApiCall } from '../common';
|
||||
import { zohoMailAuth } from '../common/auth';
|
||||
import { accountId, folderId, messageId } from '../common/props';
|
||||
|
||||
export const markEmailAsReadAction = createAction({
|
||||
auth: zohoMailAuth,
|
||||
name: 'mark_email_as_read',
|
||||
displayName: 'Mark Email as Read',
|
||||
description: 'Marks an email as read.',
|
||||
props: {
|
||||
accountId: accountId({ displayName: 'Account', required: true }),
|
||||
folderId: folderId({ displayName: 'Folder', required: true }),
|
||||
messageId: messageId({
|
||||
displayName: 'Message ID',
|
||||
description: 'The ID of the email message to mark as read.',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const { accountId, messageId } = context.propsValue;
|
||||
|
||||
const response = await zohoMailApiCall({
|
||||
auth: context.auth,
|
||||
method: HttpMethod.PUT,
|
||||
resourceUri: `/accounts/${accountId}/updatemessage`,
|
||||
body: {
|
||||
mode: 'markAsRead',
|
||||
messageId: [messageId],
|
||||
},
|
||||
});
|
||||
|
||||
return response;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,36 @@
|
||||
import { HttpMethod } from '@activepieces/pieces-common';
|
||||
import { createAction } from '@activepieces/pieces-framework';
|
||||
import { zohoMailApiCall } from '../common';
|
||||
import { zohoMailAuth } from '../common/auth';
|
||||
import { accountId, folderId, messageId } from '../common/props';
|
||||
|
||||
export const markEmailAsUnreadAction = createAction({
|
||||
auth: zohoMailAuth,
|
||||
name: 'mark_email_as_unread',
|
||||
displayName: 'Mark Emai as Unread',
|
||||
description: 'Marks an email as unread.',
|
||||
props: {
|
||||
accountId: accountId({ displayName: 'Account', required: true }),
|
||||
folderId: folderId({ displayName: 'Folder', required: true }),
|
||||
messageId: messageId({
|
||||
displayName: 'Message ID',
|
||||
description: 'The ID of the email message to mark as unread.',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const { accountId, messageId } = context.propsValue;
|
||||
|
||||
const response = await zohoMailApiCall({
|
||||
auth: context.auth,
|
||||
method: HttpMethod.PUT,
|
||||
resourceUri: `/accounts/${accountId}/updatemessage`,
|
||||
body: {
|
||||
mode: 'markAsUnread',
|
||||
messageId: [messageId],
|
||||
},
|
||||
});
|
||||
|
||||
return response;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,45 @@
|
||||
import { HttpMethod } from '@activepieces/pieces-common';
|
||||
import { createAction } from '@activepieces/pieces-framework';
|
||||
import { zohoMailApiCall } from '../common';
|
||||
import { zohoMailAuth } from '../common/auth';
|
||||
import { accountId, folderId, messageId } from '../common/props';
|
||||
|
||||
export const moveEmailAction = createAction({
|
||||
auth: zohoMailAuth,
|
||||
name: 'move_email',
|
||||
displayName: 'Move Email to Folder',
|
||||
description: 'Moves an email to a different folder.',
|
||||
props: {
|
||||
accountId: accountId({ displayName: 'Account', required: true }),
|
||||
folderId: folderId({ displayName: 'Current Folder', required: true }),
|
||||
messageId: messageId({
|
||||
displayName: 'Message ID',
|
||||
description: 'The ID of the email message to move.',
|
||||
required: true,
|
||||
}),
|
||||
destfolderId: folderId({
|
||||
displayName: 'Destination Folder',
|
||||
description: 'Select the folder to move the email to.',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const { accountId, destfolderId, messageId, folderId } = context.propsValue;
|
||||
|
||||
const response = await zohoMailApiCall({
|
||||
auth: context.auth,
|
||||
method: HttpMethod.PUT,
|
||||
resourceUri: `/accounts/${accountId}/updatemessage`,
|
||||
|
||||
body: {
|
||||
mode: 'moveMessage',
|
||||
destfolderId: destfolderId,
|
||||
messageId: [messageId],
|
||||
isFolderSpecific: true,
|
||||
folderId: folderId,
|
||||
},
|
||||
});
|
||||
|
||||
return response;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,136 @@
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { Property, createAction } from '@activepieces/pieces-framework';
|
||||
import FormData from 'form-data';
|
||||
import { zohoMailApiCall } from '../common';
|
||||
import { zohoMailAuth } from '../common/auth';
|
||||
import { accountId, fromAddress } from '../common/props';
|
||||
|
||||
export const sendEmailAction = createAction({
|
||||
auth: zohoMailAuth,
|
||||
name: 'send_email',
|
||||
displayName: 'Send Email',
|
||||
description: 'Sends an email.',
|
||||
props: {
|
||||
accountId: accountId({ displayName: 'Account', required: true }),
|
||||
fromAddress: fromAddress({ displayName: 'From Email Address', required: true }),
|
||||
toAddress: Property.ShortText({
|
||||
displayName: 'To Email Address',
|
||||
description: "Recipient's email address.",
|
||||
required: true,
|
||||
}),
|
||||
|
||||
subject: Property.LongText({
|
||||
displayName: 'Subject',
|
||||
required: true,
|
||||
}),
|
||||
|
||||
mailFormat: Property.StaticDropdown({
|
||||
displayName: 'Mail Format',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'HTML', value: 'html' },
|
||||
{ label: 'Plain Text', value: 'plaintext' },
|
||||
],
|
||||
},
|
||||
defaultValue: 'html',
|
||||
}),
|
||||
content: Property.LongText({
|
||||
displayName: 'Content',
|
||||
description: 'HTML or plain text content of the email.',
|
||||
required: true,
|
||||
}),
|
||||
ccAddress: Property.ShortText({
|
||||
displayName: 'CC Email Address',
|
||||
description: "CC recipient's email address.",
|
||||
required: false,
|
||||
}),
|
||||
bccAddress: Property.ShortText({
|
||||
displayName: 'BCC Email Address',
|
||||
description: "BCC recipient's email address.",
|
||||
required: false,
|
||||
}),
|
||||
askReceipt: Property.StaticDropdown({
|
||||
displayName: 'Ask for Read Receipt',
|
||||
required: false,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Yes', value: 'yes' },
|
||||
{ label: 'No', value: 'no' },
|
||||
],
|
||||
},
|
||||
}),
|
||||
attachment: Property.File({
|
||||
displayName: 'Attachment',
|
||||
required: false,
|
||||
}),
|
||||
attachmentName: Property.ShortText({
|
||||
displayName: 'Attachment Name',
|
||||
description: 'In case you want to change the name of the attachment.',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
accountId,
|
||||
fromAddress,
|
||||
toAddress,
|
||||
ccAddress,
|
||||
bccAddress,
|
||||
subject,
|
||||
content,
|
||||
mailFormat,
|
||||
askReceipt,
|
||||
attachment,
|
||||
attachmentName,
|
||||
} = context.propsValue;
|
||||
|
||||
const requestBody: Record<string, unknown> = {
|
||||
fromAddress,
|
||||
toAddress,
|
||||
subject,
|
||||
content,
|
||||
mailFormat: mailFormat ?? 'html',
|
||||
};
|
||||
|
||||
if (ccAddress) requestBody['ccAddress'] = ccAddress;
|
||||
if (bccAddress) requestBody['bccAddress'] = bccAddress;
|
||||
if (askReceipt) requestBody['askReceipt'] = askReceipt;
|
||||
|
||||
if (attachment) {
|
||||
const formData = new FormData();
|
||||
|
||||
formData.append(
|
||||
'attach',
|
||||
Buffer.from(attachment.base64, 'base64'),
|
||||
attachmentName || attachment.filename,
|
||||
);
|
||||
|
||||
const location = context.auth.props?.['location'] ?? 'zoho.com';
|
||||
const baseUrl = `https://mail.${location}/api`;
|
||||
|
||||
const uploadResponse = await httpClient.sendRequest<{
|
||||
data: { storeName: string; attachmentName: string; attachmentPath: string }[];
|
||||
}>({
|
||||
url: baseUrl + `/accounts/${accountId}/messages/attachments?uploadType=multipart`,
|
||||
method: HttpMethod.POST,
|
||||
body: formData,
|
||||
headers: {
|
||||
...formData.getHeaders(),
|
||||
Authorization: `Zoho-oauthtoken ${context.auth.access_token}`,
|
||||
},
|
||||
});
|
||||
|
||||
requestBody['attachments'] = uploadResponse.body.data;
|
||||
}
|
||||
|
||||
const response = await zohoMailApiCall({
|
||||
auth: context.auth,
|
||||
method: HttpMethod.POST,
|
||||
resourceUri: `/accounts/${accountId}/messages`,
|
||||
body: requestBody,
|
||||
});
|
||||
|
||||
return response;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,36 @@
|
||||
import { HttpMethod } from '@activepieces/pieces-common';
|
||||
import { createAction } from '@activepieces/pieces-framework';
|
||||
import { zohoMailApiCall } from '../common';
|
||||
import { zohoMailAuth } from '../common/auth';
|
||||
import { accountId, folderId, messageId } from '../common/props';
|
||||
|
||||
export const unarchiveEmailAction = createAction({
|
||||
auth: zohoMailAuth,
|
||||
name: 'unarchive_email',
|
||||
displayName: 'Unarchive Email',
|
||||
description: 'Unarchives an email.',
|
||||
props: {
|
||||
accountId: accountId({ displayName: 'Account', required: true }),
|
||||
folderId: folderId({ displayName: 'Folder', required: true }),
|
||||
messageId: messageId({
|
||||
displayName: 'Message ID',
|
||||
description: 'The ID of the email message to unarchive.',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const { accountId, messageId } = context.propsValue;
|
||||
|
||||
const response = await zohoMailApiCall({
|
||||
auth: context.auth,
|
||||
method: HttpMethod.PUT,
|
||||
resourceUri: `/accounts/${accountId}/updatemessage`,
|
||||
body: {
|
||||
mode: 'unArchiveMails',
|
||||
messageId: [messageId],
|
||||
},
|
||||
});
|
||||
|
||||
return response;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,49 @@
|
||||
import { PieceAuth, Property } from '@activepieces/pieces-framework';
|
||||
|
||||
export const zohoMailAuth = PieceAuth.OAuth2({
|
||||
props: {
|
||||
location: Property.StaticDropdown({
|
||||
displayName: 'Location',
|
||||
description: 'The location of your Zoho Mail account.',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{
|
||||
label: 'zoho.eu (Europe)',
|
||||
value: 'zoho.eu',
|
||||
},
|
||||
{
|
||||
label: 'zoho.com (United States)',
|
||||
value: 'zoho.com',
|
||||
},
|
||||
{
|
||||
label: 'zoho.com.au (Australia)',
|
||||
value: 'zoho.com.au',
|
||||
},
|
||||
{
|
||||
label: 'zoho.jp (Japan)',
|
||||
value: 'zoho.jp',
|
||||
},
|
||||
{
|
||||
label: 'zoho.in (India)',
|
||||
value: 'zoho.in',
|
||||
},
|
||||
{
|
||||
label: 'zohocloud.ca (Canada)',
|
||||
value: 'zohocloud.ca',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
},
|
||||
description: 'Authentication for Zoho Desk',
|
||||
scope: [
|
||||
'ZohoMail.accounts.READ',
|
||||
'ZohoMail.messages.ALL',
|
||||
'ZohoMail.folders.ALL',
|
||||
'ZohoMail.organization.accounts.READ',
|
||||
],
|
||||
authUrl: 'https://accounts.{location}/oauth/v2/auth',
|
||||
tokenUrl: 'https://accounts.{location}/oauth/v2/token',
|
||||
required: true,
|
||||
});
|
||||
@@ -0,0 +1,85 @@
|
||||
import {
|
||||
HttpMessageBody,
|
||||
HttpMethod,
|
||||
HttpRequest,
|
||||
QueryParams,
|
||||
httpClient,
|
||||
} from '@activepieces/pieces-common';
|
||||
import { FilesService, PiecePropValueSchema } from '@activepieces/pieces-framework';
|
||||
import { Attachment, ParsedMail, simpleParser } from 'mailparser';
|
||||
import { zohoMailAuth } from './auth';
|
||||
|
||||
export type ZohoMailApiCallParams = {
|
||||
auth: PiecePropValueSchema<typeof zohoMailAuth>;
|
||||
method: HttpMethod;
|
||||
resourceUri: string;
|
||||
query?: Record<string, string | number | string[] | undefined>;
|
||||
body?: any;
|
||||
};
|
||||
|
||||
export async function zohoMailApiCall<T extends HttpMessageBody>({
|
||||
auth,
|
||||
method,
|
||||
resourceUri,
|
||||
query,
|
||||
body,
|
||||
}: ZohoMailApiCallParams): Promise<T> {
|
||||
const location = auth.props?.['location'] ?? 'zoho.com';
|
||||
const baseUrl = `https://mail.${location}/api`;
|
||||
const qs: QueryParams = {};
|
||||
|
||||
if (query) {
|
||||
for (const [key, value] of Object.entries(query)) {
|
||||
if (value !== null && value !== undefined) {
|
||||
qs[key] = String(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const request: HttpRequest = {
|
||||
method,
|
||||
url: baseUrl + resourceUri,
|
||||
headers: {
|
||||
Authorization: `Zoho-oauthtoken ${auth.access_token}`,
|
||||
},
|
||||
queryParams: qs,
|
||||
body,
|
||||
};
|
||||
|
||||
const response = await httpClient.sendRequest<T>(request);
|
||||
return response.body;
|
||||
}
|
||||
|
||||
export async function parseStream(stream: string | Buffer): Promise<ParsedMail> {
|
||||
return new Promise<ParsedMail>((resolve, reject) => {
|
||||
simpleParser(stream, (err, parsed) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(parsed);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
export async function convertAttachment(attachments: Attachment[], files: FilesService) {
|
||||
const promises = attachments.map(async (attachment) => {
|
||||
try {
|
||||
const fileName = attachment.filename ?? `attachment-${Date.now()}`;
|
||||
return {
|
||||
fileName,
|
||||
mimeType: attachment.contentType,
|
||||
size: attachment.size,
|
||||
data: await files.write({
|
||||
fileName: fileName,
|
||||
data: attachment.content,
|
||||
}),
|
||||
};
|
||||
} catch (error) {
|
||||
console.error(`Failed to process attachment: ${attachment.filename}`, error);
|
||||
return null;
|
||||
}
|
||||
});
|
||||
const results = await Promise.all(promises);
|
||||
return results.filter((result) => result !== null);
|
||||
}
|
||||
@@ -0,0 +1,192 @@
|
||||
import { HttpMethod } from '@activepieces/pieces-common';
|
||||
import { PiecePropValueSchema, Property } from '@activepieces/pieces-framework';
|
||||
import { zohoMailApiCall } from '.';
|
||||
import { zohoMailAuth } from './auth';
|
||||
|
||||
interface DropdownParams {
|
||||
displayName: string;
|
||||
description?: string;
|
||||
required: boolean;
|
||||
}
|
||||
|
||||
export const accountId = (params: DropdownParams) =>
|
||||
Property.Dropdown({
|
||||
auth: zohoMailAuth,
|
||||
displayName: params.displayName,
|
||||
description: params.description,
|
||||
refreshers: [],
|
||||
required: params.required,
|
||||
options: async ({ auth }) => {
|
||||
if (!auth) {
|
||||
return {
|
||||
placeholder: 'Please connect your account first.',
|
||||
options: [],
|
||||
disabled: true,
|
||||
};
|
||||
}
|
||||
const authValue = auth as PiecePropValueSchema<typeof zohoMailAuth>;
|
||||
|
||||
const response = await zohoMailApiCall<{
|
||||
data: { accountId: string; displayName: string }[];
|
||||
}>({
|
||||
auth: authValue,
|
||||
method: HttpMethod.GET,
|
||||
resourceUri: '/accounts',
|
||||
});
|
||||
|
||||
return {
|
||||
disabled: false,
|
||||
options: response.data.map((account) => {
|
||||
return {
|
||||
label: account.displayName || account.accountId,
|
||||
value: account.accountId,
|
||||
};
|
||||
}),
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
export const folderId = (params: DropdownParams) =>
|
||||
Property.Dropdown({
|
||||
auth: zohoMailAuth,
|
||||
displayName: params.displayName,
|
||||
description: params.description,
|
||||
refreshers: ['accountId'],
|
||||
required: params.required,
|
||||
options: async ({ auth, accountId }) => {
|
||||
if (!auth) {
|
||||
return {
|
||||
placeholder: 'Please connect your account first.',
|
||||
options: [],
|
||||
disabled: true,
|
||||
};
|
||||
}
|
||||
if (!accountId) {
|
||||
return {
|
||||
placeholder: 'Please select Account first.',
|
||||
options: [],
|
||||
disabled: true,
|
||||
};
|
||||
}
|
||||
|
||||
const authValue = auth as PiecePropValueSchema<typeof zohoMailAuth>;
|
||||
|
||||
const response = await zohoMailApiCall<{
|
||||
data: { folderId: string; path: string }[];
|
||||
}>({
|
||||
auth: authValue,
|
||||
method: HttpMethod.GET,
|
||||
resourceUri: `/accounts/${accountId}/folders`,
|
||||
});
|
||||
|
||||
return {
|
||||
disabled: false,
|
||||
options: response.data.map((folder) => {
|
||||
return {
|
||||
label: folder.path || folder.folderId,
|
||||
value: folder.folderId,
|
||||
};
|
||||
}),
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
export const messageId = (params: DropdownParams) =>
|
||||
Property.Dropdown({
|
||||
auth: zohoMailAuth,
|
||||
displayName: params.displayName,
|
||||
description: params.description,
|
||||
refreshers: ['accountId', 'folderId'],
|
||||
required: params.required,
|
||||
options: async ({ auth, accountId, folderId }) => {
|
||||
if (!auth) {
|
||||
return {
|
||||
placeholder: 'Please connect your account first.',
|
||||
options: [],
|
||||
disabled: true,
|
||||
};
|
||||
}
|
||||
if (!accountId) {
|
||||
return {
|
||||
placeholder: 'Please select Account first.',
|
||||
options: [],
|
||||
disabled: true,
|
||||
};
|
||||
}
|
||||
if (!folderId) {
|
||||
return {
|
||||
placeholder: 'Please select Folder first.',
|
||||
options: [],
|
||||
disabled: true,
|
||||
};
|
||||
}
|
||||
|
||||
const authValue = auth as PiecePropValueSchema<typeof zohoMailAuth>;
|
||||
|
||||
const response = await zohoMailApiCall<{
|
||||
data: { messageId: string; subject: string }[];
|
||||
}>({
|
||||
auth: authValue,
|
||||
method: HttpMethod.GET,
|
||||
resourceUri: `/accounts/${accountId}/messages/view`,
|
||||
query: {
|
||||
folderId: folderId as string,
|
||||
limit: 50,
|
||||
},
|
||||
});
|
||||
|
||||
return {
|
||||
disabled: false,
|
||||
options: response.data.map((message) => {
|
||||
return {
|
||||
label: message.subject,
|
||||
value: message.messageId,
|
||||
};
|
||||
}),
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
export const fromAddress = (params: DropdownParams) =>
|
||||
Property.Dropdown({
|
||||
auth: zohoMailAuth,
|
||||
displayName: params.displayName,
|
||||
description: params.description,
|
||||
refreshers: ['accountId'],
|
||||
required: params.required,
|
||||
options: async ({ auth, accountId }) => {
|
||||
if (!auth) {
|
||||
return {
|
||||
placeholder: 'Please connect your account first.',
|
||||
options: [],
|
||||
disabled: true,
|
||||
};
|
||||
}
|
||||
if (!accountId) {
|
||||
return {
|
||||
placeholder: 'Please select Account first.',
|
||||
options: [],
|
||||
disabled: true,
|
||||
};
|
||||
}
|
||||
const authValue = auth as PiecePropValueSchema<typeof zohoMailAuth>;
|
||||
|
||||
const response = await zohoMailApiCall<{
|
||||
data: { sendMailDetails: { fromAddress: string }[] };
|
||||
}>({
|
||||
auth: authValue,
|
||||
method: HttpMethod.GET,
|
||||
resourceUri: `/accounts/${accountId}`,
|
||||
});
|
||||
|
||||
return {
|
||||
disabled: false,
|
||||
options: response.data.sendMailDetails.map((account) => {
|
||||
return {
|
||||
label: account.fromAddress,
|
||||
value: account.fromAddress,
|
||||
};
|
||||
}),
|
||||
};
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,138 @@
|
||||
import {
|
||||
DedupeStrategy,
|
||||
HttpMethod,
|
||||
Polling,
|
||||
QueryParams,
|
||||
pollingHelper,
|
||||
} from '@activepieces/pieces-common';
|
||||
import {
|
||||
AppConnectionValueForAuthProperty,
|
||||
PiecePropValueSchema,
|
||||
TriggerStrategy,
|
||||
createTrigger,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { zohoMailApiCall } from '../common';
|
||||
import { zohoMailAuth } from '../common/auth';
|
||||
import { accountId, folderId } from '../common/props';
|
||||
|
||||
type Props = {
|
||||
accountId?: string;
|
||||
folderId?: string;
|
||||
};
|
||||
|
||||
const polling: Polling<AppConnectionValueForAuthProperty<typeof zohoMailAuth>, Props> = {
|
||||
strategy: DedupeStrategy.TIMEBASED,
|
||||
async items({ auth, propsValue, lastFetchEpochMS }) {
|
||||
const { accountId, folderId } = propsValue;
|
||||
|
||||
let page = 1;
|
||||
let hasMore = true;
|
||||
const allMessages = [];
|
||||
|
||||
do {
|
||||
const queryParams: QueryParams = {
|
||||
start: page.toString(),
|
||||
limit: lastFetchEpochMS === 0 ? '10' : '200',
|
||||
};
|
||||
|
||||
if (folderId) {
|
||||
queryParams['folderId'] = folderId;
|
||||
}
|
||||
|
||||
const response = await zohoMailApiCall<{ data: { receivedTime: string }[] }>({
|
||||
auth,
|
||||
resourceUri: `/accounts/${accountId}/messages/view`,
|
||||
method: HttpMethod.GET,
|
||||
query: queryParams,
|
||||
});
|
||||
|
||||
const messages = response.data || [];
|
||||
|
||||
if (messages.length === 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
for (const msg of messages) {
|
||||
const receivedTime = Number(msg.receivedTime);
|
||||
if (lastFetchEpochMS > 0 && receivedTime <= lastFetchEpochMS) {
|
||||
hasMore = false;
|
||||
break; // Stop processing this page
|
||||
}
|
||||
allMessages.push(msg); // Only add if it's newer
|
||||
}
|
||||
|
||||
// if it's test mode, only fetch first page
|
||||
if (lastFetchEpochMS === 0) break;
|
||||
|
||||
if (!hasMore) {
|
||||
break;
|
||||
}
|
||||
page++;
|
||||
} while (hasMore);
|
||||
|
||||
return allMessages.map((msg) => {
|
||||
return {
|
||||
epochMilliSeconds: Number(msg.receivedTime),
|
||||
data: msg,
|
||||
};
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
export const newEmailReceivedTrigger = createTrigger({
|
||||
auth: zohoMailAuth,
|
||||
name: 'new_email_received',
|
||||
displayName: 'New Email Received',
|
||||
description: 'Triggers when a new email is received in a specified folder (or inbox).',
|
||||
props: {
|
||||
accountId: accountId({ displayName: 'Account', required: true }),
|
||||
folderId: folderId({
|
||||
displayName: 'Folder',
|
||||
description:
|
||||
'Select the folder to watch. If empty, watches the inbox/all messages based on API default.',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
type: TriggerStrategy.POLLING,
|
||||
|
||||
async onEnable(context) {
|
||||
await pollingHelper.onEnable(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
});
|
||||
},
|
||||
async onDisable(context) {
|
||||
await pollingHelper.onDisable(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
});
|
||||
},
|
||||
async test(context) {
|
||||
return await pollingHelper.test(polling, context);
|
||||
},
|
||||
async run(context) {
|
||||
return await pollingHelper.poll(polling, context);
|
||||
},
|
||||
sampleData: {
|
||||
summary: 'test mail',
|
||||
sentDateInGMT: '1749273996000',
|
||||
calendarType: 0,
|
||||
subject: 'test mail',
|
||||
messageId: '1749293811021114900',
|
||||
flagid: 'flag_not_set',
|
||||
status2: '0',
|
||||
priority: '3',
|
||||
hasInline: 'false',
|
||||
toAddress: '',
|
||||
folderId: '7723149000000002014',
|
||||
ccAddress: 'Not Provided',
|
||||
hasAttachment: '0',
|
||||
size: '238',
|
||||
sender: 'john.doe@gmail.com',
|
||||
receivedTime: '1749293811018',
|
||||
fromAddress: 'john.doe@gmail.com',
|
||||
status: '0',
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user