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,58 @@
|
||||
{
|
||||
"Unified CRM for Marketing, Service & Payments": "Unified CRM für Marketing, Service & Zahlungen",
|
||||
"API Key": "API-Schlüssel",
|
||||
"Workspace ID": "Arbeitsbereich-ID",
|
||||
"Channel ID": "Kanal-ID",
|
||||
"Bird API Access Key from Settings > Security > Access Keys": "Vogel-API-Zugangsschlüssel unter Einstellungen > Sicherheit > Zugriffsschlüssel",
|
||||
"Bird Workspace ID found in your workspace URL": "Vogel Arbeitsbereich-ID in Ihrer Arbeitsbereich-URL gefunden",
|
||||
"Your SMS channel ID from Bird dashboard": "Ihre SMS-Kanal-ID vom Vogel-Dashboard",
|
||||
"Send SMS": "SMS senden",
|
||||
"List Messages": "Nachrichten auflisten",
|
||||
"Custom API Call": "Eigener API-Aufruf",
|
||||
"Sends an SMS message via Bird Channels API.": "Sendet eine SMS-Nachricht über die Bird-Channel-API.",
|
||||
"Lists an Messages via Bird Channels API": "Listet eine Nachricht über die Vogel-Channel-API",
|
||||
"Make a custom API call to a specific endpoint": "Einen benutzerdefinierten API-Aufruf an einen bestimmten Endpunkt machen",
|
||||
"Recipient": "Empfänger",
|
||||
"Message": "Nachricht",
|
||||
"Reference": "Referenz",
|
||||
"Scheduled For (UTC timestamp)": "Geplant für (UTC-Zeitstempel)",
|
||||
"Status": "Status",
|
||||
"Start Date and Time": "Startdatum und Uhrzeit",
|
||||
"End Date and Time": "Enddatum und -zeit",
|
||||
"Next Page Token": "Nächstes Seiten-Token",
|
||||
"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 phone number to send the message to (with country code)": "Die Telefonnummer, an die die Nachricht gesendet wird (mit Landesvorwahl)",
|
||||
"The body of the SMS message": "Der Text der SMS-Nachricht",
|
||||
"Your own identifier for the message (optional)": "Ihre eigene Kennung für die Nachricht (optional)",
|
||||
"Message to be sent at a specific datetime eg. 2025-04-27T15:08:18.613Z. If not set, the message will be sent immediately.": "Nachrichten, die zu einem bestimmten Datum gesendet werden sollen, zB. 2025-04-27T15:08:18.613Z. Falls nicht gesetzt, wird die Nachricht sofort versendet.",
|
||||
"The status of the messages to filter by (select \"All\" for all statuses)": "Der Status der zu filternden Nachrichten (wählen Sie \"Alle\" für alle Status)",
|
||||
"The start date and time (in UTC) to filter messages": "Das Startdatum und die Uhrzeit (in UTC), um Nachrichten zu filtern",
|
||||
"The end date and time (in UTC) to filter messages, should not exceed 7 days from start date": "Das Enddatum und die Uhrzeit (in UTC), um Nachrichten zu filtern, sollte 7 Tage nach dem Startdatum nicht überschreiten",
|
||||
"Token for pagination to fetch next set of results after 1000 messages": "Token für die Seitennummerierung zum Abrufen der nächsten Ergebnismenge nach 1000 Nachrichten",
|
||||
"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..",
|
||||
"All": "Alle",
|
||||
"Pending": "Ausstehend",
|
||||
"Accepted": "Akzeptiert",
|
||||
"Rejected": "Abgelehnt",
|
||||
"Processing": "Verarbeitung",
|
||||
"Scheduled": "Geplant",
|
||||
"Sent": "Gesendet",
|
||||
"Sending Failed": "Senden fehlgeschlagen",
|
||||
"Delivered": "Ausgestellt",
|
||||
"Delivery Failed": "Lieferung fehlgeschlagen",
|
||||
"Deleted": "Gelöscht",
|
||||
"Skipped": "Übersprungen",
|
||||
"GET": "ERHALTEN",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "LÖSCHEN",
|
||||
"HEAD": "HEAD"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"Unified CRM for Marketing, Service & Payments": "CRM unificado para Marketing, Servicio y Pagos",
|
||||
"API Key": "Clave API",
|
||||
"Workspace ID": "ID del área de trabajo",
|
||||
"Channel ID": "ID del canal",
|
||||
"Bird API Access Key from Settings > Security > Access Keys": "Clave de acceso Bird API desde Ajustes > Seguridad > Claves de acceso",
|
||||
"Bird Workspace ID found in your workspace URL": "ID de espacio de aves encontrado en la URL de tu espacio de trabajo",
|
||||
"Your SMS channel ID from Bird dashboard": "Tu ID de canal SMS desde el panel de control de aves",
|
||||
"Send SMS": "Enviar SMS",
|
||||
"List Messages": "Listar mensajes",
|
||||
"Custom API Call": "Llamada API personalizada",
|
||||
"Sends an SMS message via Bird Channels API.": "Envía un mensaje SMS a través de la API de Canales de Bird.",
|
||||
"Lists an Messages via Bird Channels API": "Muestra un mensaje a través de la API de canales de Bird",
|
||||
"Make a custom API call to a specific endpoint": "Hacer una llamada API personalizada a un extremo específico",
|
||||
"Recipient": "Destinatario",
|
||||
"Message": "Mensaje",
|
||||
"Reference": "Referencia",
|
||||
"Scheduled For (UTC timestamp)": "Programado para (hora UTC)",
|
||||
"Status": "Estado",
|
||||
"Start Date and Time": "Fecha y hora de inicio",
|
||||
"End Date and Time": "Fecha y hora de fin",
|
||||
"Next Page Token": "Siguiente token de página",
|
||||
"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 phone number to send the message to (with country code)": "El número de teléfono al que enviar el mensaje (con el código de país)",
|
||||
"The body of the SMS message": "El cuerpo del mensaje SMS",
|
||||
"Your own identifier for the message (optional)": "Tu propio identificador para el mensaje (opcional)",
|
||||
"Message to be sent at a specific datetime eg. 2025-04-27T15:08:18.613Z. If not set, the message will be sent immediately.": "Mensaje que se enviará a una fecha específica, por ejemplo, 2025-04-27T15:08:18.613Z. Si no se establece, el mensaje se enviará inmediatamente.",
|
||||
"The status of the messages to filter by (select \"All\" for all statuses)": "El estado de los mensajes por los que filtrar (seleccionar \"Todos\" para todos los estados)",
|
||||
"The start date and time (in UTC) to filter messages": "La fecha y hora de inicio (en UTC) para filtrar mensajes",
|
||||
"The end date and time (in UTC) to filter messages, should not exceed 7 days from start date": "La fecha y hora de fin (en UTC) para filtrar los mensajes, no debe exceder de 7 días desde la fecha de inicio",
|
||||
"Token for pagination to fetch next set of results after 1000 messages": "Token para la paginación para obtener el siguiente conjunto de resultados después de 1000 mensajes",
|
||||
"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.",
|
||||
"All": "Todos",
|
||||
"Pending": "Pendiente",
|
||||
"Accepted": "Aceptado",
|
||||
"Rejected": "Rechazado",
|
||||
"Processing": "Procesando",
|
||||
"Scheduled": "Programado",
|
||||
"Sent": "Enviado",
|
||||
"Sending Failed": "Fallo al enviar",
|
||||
"Delivered": "Entregado",
|
||||
"Delivery Failed": "Error de entrega",
|
||||
"Deleted": "Eliminado",
|
||||
"Skipped": "Omitido",
|
||||
"GET": "RECOGER",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "BORRAR",
|
||||
"HEAD": "LIMPIO"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"Unified CRM for Marketing, Service & Payments": "CRM unifié pour le marketing, le service et les paiements",
|
||||
"API Key": "Clé API",
|
||||
"Workspace ID": "ID de l'espace de travail",
|
||||
"Channel ID": "ID du canal",
|
||||
"Bird API Access Key from Settings > Security > Access Keys": "Bird API Clé d'accès depuis Paramètres > Sécurité > Clés d'accès",
|
||||
"Bird Workspace ID found in your workspace URL": "ID de l'espace de travail oiseau trouvé dans l'URL de votre espace de travail",
|
||||
"Your SMS channel ID from Bird dashboard": "Votre ID de canal SMS depuis le tableau de bord Bird",
|
||||
"Send SMS": "Envoyer un SMS",
|
||||
"List Messages": "Lister les messages",
|
||||
"Custom API Call": "Appel API personnalisé",
|
||||
"Sends an SMS message via Bird Channels API.": "Envoie un message SMS via l'API Bird Channels.",
|
||||
"Lists an Messages via Bird Channels API": "Liste des messages via l'API Bird Channels",
|
||||
"Make a custom API call to a specific endpoint": "Passez un appel API personnalisé à un point de terminaison spécifique",
|
||||
"Recipient": "Destinataire",
|
||||
"Message": "Message",
|
||||
"Reference": "Référence",
|
||||
"Scheduled For (UTC timestamp)": "Planifié pour (horodatage UTC)",
|
||||
"Status": "Statut",
|
||||
"Start Date and Time": "Date et heure de début",
|
||||
"End Date and Time": "Date et heure de fin",
|
||||
"Next Page Token": "Jeton de la page suivante",
|
||||
"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'attente (en secondes)",
|
||||
"The phone number to send the message to (with country code)": "Le numéro de téléphone auquel envoyer le message (avec l'indicatif du pays)",
|
||||
"The body of the SMS message": "Le corps du message SMS",
|
||||
"Your own identifier for the message (optional)": "Votre propre identifiant pour le message (facultatif)",
|
||||
"Message to be sent at a specific datetime eg. 2025-04-27T15:08:18.613Z. If not set, the message will be sent immediately.": "Message à envoyer à une date spécifique par exemple 2025-04-27T15:08:18.613Z. Si non défini, le message sera envoyé immédiatement.",
|
||||
"The status of the messages to filter by (select \"All\" for all statuses)": "Le statut des messages à filtrer par (sélectionnez \"Tout\" pour tous les statuts)",
|
||||
"The start date and time (in UTC) to filter messages": "La date et l'heure de début (en UTC) pour filtrer les messages",
|
||||
"The end date and time (in UTC) to filter messages, should not exceed 7 days from start date": "La date et l'heure de fin (en UTC) pour filtrer les messages, ne doit pas dépasser 7 jours à partir de la date de début",
|
||||
"Token for pagination to fetch next set of results after 1000 messages": "Jeton pour la pagination afin de récupérer le prochain ensemble de résultats après 1000 messages",
|
||||
"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.",
|
||||
"All": "Tous",
|
||||
"Pending": "En attente",
|
||||
"Accepted": "Accepté",
|
||||
"Rejected": "Rejeté",
|
||||
"Processing": "Traitement en cours",
|
||||
"Scheduled": "Planifié",
|
||||
"Sent": "Envoyé",
|
||||
"Sending Failed": "L'envoi a échoué",
|
||||
"Delivered": "Livré",
|
||||
"Delivery Failed": "Échec de la livraison",
|
||||
"Deleted": "Supprimé",
|
||||
"Skipped": "Ignoré",
|
||||
"GET": "OBTENIR",
|
||||
"POST": "POSTER",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "EFFACER",
|
||||
"DELETE": "SUPPRIMER",
|
||||
"HEAD": "TÊTE"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"Unified CRM for Marketing, Service & Payments": "マーケティング、サービス、支払いのための統合CRM",
|
||||
"API Key": "API キー",
|
||||
"Workspace ID": "ワークスペース ID",
|
||||
"Channel ID": "チャンネル ID",
|
||||
"Bird API Access Key from Settings > Security > Access Keys": "Bird API Access Key from Settings > Security > Access Key",
|
||||
"Bird Workspace ID found in your workspace URL": "ワークスペースURLにバードワークスペースIDが見つかりました",
|
||||
"Your SMS channel ID from Bird dashboard": "Bird ダッシュボードからの SMS チャンネル ID",
|
||||
"Send SMS": "SMSの送信",
|
||||
"List Messages": "メッセージの一覧",
|
||||
"Custom API Call": "カスタムAPI通話",
|
||||
"Sends an SMS message via Bird Channels API.": "Bird Channels API経由でSMSメッセージを送信します。",
|
||||
"Lists an Messages via Bird Channels API": "Bird Channels API経由のメッセージ一覧",
|
||||
"Make a custom API call to a specific endpoint": "特定のエンドポイントへのカスタム API コールを実行します。",
|
||||
"Recipient": "受信者",
|
||||
"Message": "メッセージ",
|
||||
"Reference": "参照",
|
||||
"Scheduled For (UTC timestamp)": "スケジュールされた時間 (UTC timestamp)",
|
||||
"Status": "ステータス",
|
||||
"Start Date and Time": "開始日時",
|
||||
"End Date and Time": "終了日時",
|
||||
"Next Page Token": "次のページトークン",
|
||||
"Method": "方法",
|
||||
"Headers": "ヘッダー",
|
||||
"Query Parameters": "クエリパラメータ",
|
||||
"Body": "本文",
|
||||
"Response is Binary ?": "応答はバイナリですか?",
|
||||
"No Error on Failure": "失敗時にエラーはありません",
|
||||
"Timeout (in seconds)": "タイムアウト(秒)",
|
||||
"The phone number to send the message to (with country code)": "メッセージを送信する電話番号 (国コード付き)",
|
||||
"The body of the SMS message": "SMSメッセージの本文",
|
||||
"Your own identifier for the message (optional)": "メッセージのあなた自身の識別子 (オプション)",
|
||||
"Message to be sent at a specific datetime eg. 2025-04-27T15:08:18.613Z. If not set, the message will be sent immediately.": "特定の日時に送信されるメッセージ。たとえば、2025-04-27T15:08:08:18.613Z。設定されていない場合、メッセージは直ちに送信されます。",
|
||||
"The status of the messages to filter by (select \"All\" for all statuses)": "フィルタリングするメッセージのステータス (すべてのステータスで「すべて」を選択)",
|
||||
"The start date and time (in UTC) to filter messages": "メッセージをフィルタリングする開始日時 (UTC)",
|
||||
"The end date and time (in UTC) to filter messages, should not exceed 7 days from start date": "メッセージをフィルタリングする終了日時(UTC)は開始日から7日間を超えてはいけません",
|
||||
"Token for pagination to fetch next set of results after 1000 messages": "1000通のメッセージの後に次の結果セットを取得するためのページネーション用トークン",
|
||||
"Authorization headers are injected automatically from your connection.": "認証ヘッダは接続から自動的に注入されます。",
|
||||
"Enable for files like PDFs, images, etc..": "PDF、画像などのファイルを有効にします。",
|
||||
"All": "すべて",
|
||||
"Pending": "処理待ち",
|
||||
"Accepted": "承認済み",
|
||||
"Rejected": "拒否",
|
||||
"Processing": "処理中",
|
||||
"Scheduled": "スケジュール済み",
|
||||
"Sent": "送信済み",
|
||||
"Sending Failed": "送信に失敗しました",
|
||||
"Delivered": "配送済み",
|
||||
"Delivery Failed": "配信失敗",
|
||||
"Deleted": "削除しました",
|
||||
"Skipped": "スキップ",
|
||||
"GET": "取得",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "削除",
|
||||
"HEAD": "頭"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"Unified CRM for Marketing, Service & Payments": "Gecombineerde CRM voor Marketing, Service & Betalingen",
|
||||
"API Key": "API Sleutel",
|
||||
"Workspace ID": "Werkruimte ID",
|
||||
"Channel ID": "Kanaal ID",
|
||||
"Bird API Access Key from Settings > Security > Access Keys": "Bird API toegangssleutel vanuit Instellingen > Beveiliging > Toegangstoets",
|
||||
"Bird Workspace ID found in your workspace URL": "Vogel werkruimte ID gevonden in uw workspace URL",
|
||||
"Your SMS channel ID from Bird dashboard": "Uw SMS kanaal ID vanaf het Bird dashboard",
|
||||
"Send SMS": "Sms verzenden",
|
||||
"List Messages": "Lijst van berichten",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Sends an SMS message via Bird Channels API.": "Stuurt een SMS-bericht via de API van vogelkanalen.",
|
||||
"Lists an Messages via Bird Channels API": "Geeft een bericht op via de API van Vogel Kanalen",
|
||||
"Make a custom API call to a specific endpoint": "Maak een aangepaste API call naar een specifiek eindpunt",
|
||||
"Recipient": "Ontvanger",
|
||||
"Message": "bericht",
|
||||
"Reference": "Referentie",
|
||||
"Scheduled For (UTC timestamp)": "Gepland voor (UTC timestamp)",
|
||||
"Status": "status",
|
||||
"Start Date and Time": "Startdatum en -tijd",
|
||||
"End Date and Time": "Eind datum en tijd",
|
||||
"Next Page Token": "Volgende Pagina Token",
|
||||
"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 phone number to send the message to (with country code)": "Het telefoonnummer om het bericht naar te sturen (met landcode)",
|
||||
"The body of the SMS message": "Het tekstgedeelte van het SMS-bericht",
|
||||
"Your own identifier for the message (optional)": "Uw eigen identificatie voor het bericht (optioneel)",
|
||||
"Message to be sent at a specific datetime eg. 2025-04-27T15:08:18.613Z. If not set, the message will be sent immediately.": "Bericht verzonden op een specifieke datetime bijv. 2025-04-27T15:08:18.613Z. Indien niet ingesteld wordt het bericht onmiddellijk verzonden.",
|
||||
"The status of the messages to filter by (select \"All\" for all statuses)": "De status van de berichten waarop u wilt filteren (selecteer \"Alle\" voor alle statussen)",
|
||||
"The start date and time (in UTC) to filter messages": "De startdatum en -tijd (in UTC) om berichten te filteren",
|
||||
"The end date and time (in UTC) to filter messages, should not exceed 7 days from start date": "De einddatum en tijd (in UTC) om berichten te filteren, mag niet meer dan 7 dagen vanaf de startdatum",
|
||||
"Token for pagination to fetch next set of results after 1000 messages": "Token voor paginering om volgende reeks resultaten op te halen na 1000 berichten",
|
||||
"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..",
|
||||
"All": "Allemaal",
|
||||
"Pending": "In behandeling",
|
||||
"Accepted": "Geaccepteerd",
|
||||
"Rejected": "Geweigerd",
|
||||
"Processing": "Verwerken",
|
||||
"Scheduled": "Gepland",
|
||||
"Sent": "Verzonden",
|
||||
"Sending Failed": "Verzenden mislukt",
|
||||
"Delivered": "Geleverd",
|
||||
"Delivery Failed": "Aflevering mislukt",
|
||||
"Deleted": "Verwijderd",
|
||||
"Skipped": "Overgeslagen",
|
||||
"GET": "KRIJG",
|
||||
"POST": "POSTE",
|
||||
"PATCH": "BEKIJK",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "VERWIJDEREN",
|
||||
"HEAD": "HOOFD"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"Unified CRM for Marketing, Service & Payments": "CRM unificado para Marketing, Serviço e Pagamentos",
|
||||
"API Key": "Chave de API",
|
||||
"Workspace ID": "ID do workspace",
|
||||
"Channel ID": "ID do canal",
|
||||
"Bird API Access Key from Settings > Security > Access Keys": "Chave de Acesso à API do Bird em Configurações > Segurança > Chaves de Acesso",
|
||||
"Bird Workspace ID found in your workspace URL": "ID da área de trabalho do pássaro encontrado na URL do seu espaço de trabalho",
|
||||
"Your SMS channel ID from Bird dashboard": "Seu ID de canal SMS do Painel de Aves",
|
||||
"Send SMS": "Enviar SMS",
|
||||
"List Messages": "Listar Mensagens",
|
||||
"Custom API Call": "Chamada de API personalizada",
|
||||
"Sends an SMS message via Bird Channels API.": "Envia uma mensagem SMS através da API Bird Channels.",
|
||||
"Lists an Messages via Bird Channels API": "Lista uma mensagem via API de canais de aves",
|
||||
"Make a custom API call to a specific endpoint": "Faça uma chamada de API personalizada para um ponto de extremidade específico",
|
||||
"Recipient": "Destinatário",
|
||||
"Message": "mensagem",
|
||||
"Reference": "Referência",
|
||||
"Scheduled For (UTC timestamp)": "Agendado para o (UTC timestamp)",
|
||||
"Status": "Estado",
|
||||
"Start Date and Time": "Data e Hora Inicial",
|
||||
"End Date and Time": "Data e Hora de Término",
|
||||
"Next Page Token": "Token da Próxima Página",
|
||||
"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 phone number to send the message to (with country code)": "O número de telefone para enviar a mensagem (com o código do país)",
|
||||
"The body of the SMS message": "O corpo da mensagem SMS",
|
||||
"Your own identifier for the message (optional)": "Seu próprio identificador para a mensagem (opcional)",
|
||||
"Message to be sent at a specific datetime eg. 2025-04-27T15:08:18.613Z. If not set, the message will be sent immediately.": "Mensagem a ser enviada em uma data específica, por exemplo. 2025-04-27T15:08:18.613Z. Se não for definido, a mensagem será enviada imediatamente.",
|
||||
"The status of the messages to filter by (select \"All\" for all statuses)": "O status das mensagens a serem filtradas por (selecione \"Todos\" para todos os status)",
|
||||
"The start date and time (in UTC) to filter messages": "A data e hora de início (em UTC) para filtrar mensagens",
|
||||
"The end date and time (in UTC) to filter messages, should not exceed 7 days from start date": "A data e hora de término (em UTC) para filtrar mensagens, não deve exceder 7 dias a partir da data de início",
|
||||
"Token for pagination to fetch next set of results after 1000 messages": "Token para paginação para buscar o próximo conjunto de resultados após 1000 mensagens",
|
||||
"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..",
|
||||
"All": "TODOS",
|
||||
"Pending": "Pendente",
|
||||
"Accepted": "Aceitou",
|
||||
"Rejected": "Rejeitados",
|
||||
"Processing": "Processando",
|
||||
"Scheduled": "Agendado",
|
||||
"Sent": "Enviado",
|
||||
"Sending Failed": "Falha ao enviar",
|
||||
"Delivered": "Entregue",
|
||||
"Delivery Failed": "Falha na entrega",
|
||||
"Deleted": "Excluído",
|
||||
"Skipped": "Ignorado",
|
||||
"GET": "OBTER",
|
||||
"POST": "POSTAR",
|
||||
"PATCH": "COMPRAR",
|
||||
"PUT": "COLOCAR",
|
||||
"DELETE": "EXCLUIR",
|
||||
"HEAD": "CABEÇA"
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"Bird": "Птица",
|
||||
"Unified CRM for Marketing, Service & Payments": "Unified CRM for Marketing, Service & Payments",
|
||||
"API Key": "Ключ API",
|
||||
"Workspace ID": "ID проекта",
|
||||
"Channel ID": "ID канала",
|
||||
"Bird API Access Key from Settings > Security > Access Keys": "Ключ доступа к API Bird из настроек > Безопасность > Ключи доступа",
|
||||
"Bird Workspace ID found in your workspace URL": "ID рабочего пространства птиц найден в вашем URL рабочей области",
|
||||
"Your SMS channel ID from Bird dashboard": "Ваш SMS-канал ID из приборной панели",
|
||||
"Send SMS": "Отправить СМС",
|
||||
"List Messages": "Список сообщений",
|
||||
"Custom API Call": "Пользовательский вызов API",
|
||||
"Sends an SMS message via Bird Channels API.": "Отправляет SMS-сообщение через Bird Channels API.",
|
||||
"Lists an Messages via Bird Channels API": "Список сообщений через API каналов птиц",
|
||||
"Make a custom API call to a specific endpoint": "Сделать пользовательский API вызов к определенной конечной точке",
|
||||
"Recipient": "Получатель",
|
||||
"Message": "Сообщение",
|
||||
"Reference": "Артикул",
|
||||
"Scheduled For (UTC timestamp)": "Запланировано на время (UTC)",
|
||||
"Status": "Status",
|
||||
"Start Date and Time": "Дата и время начала",
|
||||
"End Date and Time": "Дата и время окончания",
|
||||
"Next Page Token": "Следующий маркер страницы",
|
||||
"Method": "Метод",
|
||||
"Headers": "Заголовки",
|
||||
"Query Parameters": "Параметры запроса",
|
||||
"Body": "Тело",
|
||||
"No Error on Failure": "Нет ошибок при ошибке",
|
||||
"Timeout (in seconds)": "Таймаут (в секундах)",
|
||||
"The phone number to send the message to (with country code)": "Телефонный номер для отправки сообщения (с кодом страны)",
|
||||
"The body of the SMS message": "Тело SMS сообщения",
|
||||
"Your own identifier for the message (optional)": "Ваш собственный идентификатор для сообщения (необязательно)",
|
||||
"Message to be sent at a specific datetime eg. 2025-04-27T15:08:18.613Z. If not set, the message will be sent immediately.": "Сообщение для отправки на определенную дату, например. 2025-04-27T15:08:18.613Z. Если не установлено, сообщение будет отправлено немедленно.",
|
||||
"The status of the messages to filter by (select \"All\" for all statuses)": "Статус сообщений для фильтрации (выберите \"Все\" для всех статусов)",
|
||||
"The start date and time (in UTC) to filter messages": "Дата и время начала (в UTC) для фильтрации сообщений",
|
||||
"The end date and time (in UTC) to filter messages, should not exceed 7 days from start date": "Дата и время окончания (в UTC) для фильтрации сообщений, не должны превышать 7 дней с даты начала",
|
||||
"Token for pagination to fetch next set of results after 1000 messages": "Токен для пагинации для получения следующего набора результатов после 1000 сообщений",
|
||||
"Authorization headers are injected automatically from your connection.": "Заголовки авторизации включаются автоматически из вашего соединения.",
|
||||
"All": "Все",
|
||||
"Pending": "В ожидании",
|
||||
"Accepted": "Принято",
|
||||
"Rejected": "Отклонено",
|
||||
"Processing": "Обработка",
|
||||
"Scheduled": "Запланированный",
|
||||
"Sent": "Отправлено",
|
||||
"Sending Failed": "Отправка не удалась",
|
||||
"Delivered": "Доставлено",
|
||||
"Delivery Failed": "Доставка не удалась",
|
||||
"Deleted": "Удалено",
|
||||
"Skipped": "Пропущено",
|
||||
"GET": "ПОЛУЧИТЬ",
|
||||
"POST": "ПОСТ",
|
||||
"PATCH": "ПАТЧ",
|
||||
"PUT": "ПОКУПИТЬ",
|
||||
"DELETE": "УДАЛИТЬ",
|
||||
"HEAD": "HEAD"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"Unified CRM for Marketing, Service & Payments": "Unified CRM for Marketing, Service & Payments",
|
||||
"API Key": "API Key",
|
||||
"Workspace ID": "Workspace ID",
|
||||
"Channel ID": "Channel ID",
|
||||
"Bird API Access Key from Settings > Security > Access Keys": "Bird API Access Key from Settings > Security > Access Keys",
|
||||
"Bird Workspace ID found in your workspace URL": "Bird Workspace ID found in your workspace URL",
|
||||
"Your SMS channel ID from Bird dashboard": "Your SMS channel ID from Bird dashboard",
|
||||
"Send SMS": "Send SMS",
|
||||
"List Messages": "List Messages",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Sends an SMS message via Bird Channels API.": "Sends an SMS message via Bird Channels API.",
|
||||
"Lists an Messages via Bird Channels API": "Lists an Messages via Bird Channels API",
|
||||
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
|
||||
"Recipient": "Recipient",
|
||||
"Message": "Message",
|
||||
"Reference": "Reference",
|
||||
"Scheduled For (UTC timestamp)": "Scheduled For (UTC timestamp)",
|
||||
"Status": "Status",
|
||||
"Start Date and Time": "Start Date and Time",
|
||||
"End Date and Time": "End Date and Time",
|
||||
"Next Page Token": "Next Page Token",
|
||||
"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 phone number to send the message to (with country code)": "The phone number to send the message to (with country code)",
|
||||
"The body of the SMS message": "The body of the SMS message",
|
||||
"Your own identifier for the message (optional)": "Your own identifier for the message (optional)",
|
||||
"Message to be sent at a specific datetime eg. 2025-04-27T15:08:18.613Z. If not set, the message will be sent immediately.": "Message to be sent at a specific datetime eg. 2025-04-27T15:08:18.613Z. If not set, the message will be sent immediately.",
|
||||
"The status of the messages to filter by (select \"All\" for all statuses)": "The status of the messages to filter by (select \"All\" for all statuses)",
|
||||
"The start date and time (in UTC) to filter messages": "The start date and time (in UTC) to filter messages",
|
||||
"The end date and time (in UTC) to filter messages, should not exceed 7 days from start date": "The end date and time (in UTC) to filter messages, should not exceed 7 days from start date",
|
||||
"Token for pagination to fetch next set of results after 1000 messages": "Token for pagination to fetch next set of results after 1000 messages",
|
||||
"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..",
|
||||
"All": "All",
|
||||
"Pending": "Pending",
|
||||
"Accepted": "Accepted",
|
||||
"Rejected": "Rejected",
|
||||
"Processing": "Processing",
|
||||
"Scheduled": "Scheduled",
|
||||
"Sent": "Sent",
|
||||
"Sending Failed": "Sending Failed",
|
||||
"Delivered": "Delivered",
|
||||
"Delivery Failed": "Delivery Failed",
|
||||
"Deleted": "Deleted",
|
||||
"Skipped": "Skipped",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD"
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"Bird": "Bird",
|
||||
"Unified CRM for Marketing, Service & Payments": "Unified CRM for Marketing, Service & Payments",
|
||||
"API Key": "API Key",
|
||||
"Workspace ID": "Workspace ID",
|
||||
"Channel ID": "Channel ID",
|
||||
"Bird API Access Key from Settings > Security > Access Keys": "Bird API Access Key from Settings > Security > Access Keys",
|
||||
"Bird Workspace ID found in your workspace URL": "Bird Workspace ID found in your workspace URL",
|
||||
"Your SMS channel ID from Bird dashboard": "Your SMS channel ID from Bird dashboard",
|
||||
"Send SMS": "Send SMS",
|
||||
"List Messages": "List Messages",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Sends an SMS message via Bird Channels API.": "Sends an SMS message via Bird Channels API.",
|
||||
"Lists an Messages via Bird Channels API": "Lists an Messages via Bird Channels API",
|
||||
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
|
||||
"Recipient": "Recipient",
|
||||
"Message": "Message",
|
||||
"Reference": "Reference",
|
||||
"Scheduled For (UTC timestamp)": "Scheduled For (UTC timestamp)",
|
||||
"Status": "Status",
|
||||
"Start Date and Time": "Start Date and Time",
|
||||
"End Date and Time": "End Date and Time",
|
||||
"Next Page Token": "Next Page Token",
|
||||
"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 phone number to send the message to (with country code)": "The phone number to send the message to (with country code)",
|
||||
"The body of the SMS message": "The body of the SMS message",
|
||||
"Your own identifier for the message (optional)": "Your own identifier for the message (optional)",
|
||||
"Message to be sent at a specific datetime eg. 2025-04-27T15:08:18.613Z. If not set, the message will be sent immediately.": "Message to be sent at a specific datetime eg. 2025-04-27T15:08:18.613Z. If not set, the message will be sent immediately.",
|
||||
"The status of the messages to filter by (select \"All\" for all statuses)": "The status of the messages to filter by (select \"All\" for all statuses)",
|
||||
"The start date and time (in UTC) to filter messages": "The start date and time (in UTC) to filter messages",
|
||||
"The end date and time (in UTC) to filter messages, should not exceed 7 days from start date": "The end date and time (in UTC) to filter messages, should not exceed 7 days from start date",
|
||||
"Token for pagination to fetch next set of results after 1000 messages": "Token for pagination to fetch next set of results after 1000 messages",
|
||||
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
|
||||
"All": "Tất cả",
|
||||
"Pending": "Đang chờ",
|
||||
"Accepted": "Accepted",
|
||||
"Rejected": "Rejected",
|
||||
"Processing": "Processing",
|
||||
"Scheduled": "Scheduled",
|
||||
"Sent": "Sent",
|
||||
"Sending Failed": "Sending Failed",
|
||||
"Delivered": "Delivered",
|
||||
"Delivery Failed": "Delivery Failed",
|
||||
"Deleted": "Deleted",
|
||||
"Skipped": "Skipped",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"Unified CRM for Marketing, Service & Payments": "Unified CRM for Marketing, Service & Payments",
|
||||
"API Key": "API 密钥",
|
||||
"Workspace ID": "Workspace ID",
|
||||
"Channel ID": "Channel ID",
|
||||
"Bird API Access Key from Settings > Security > Access Keys": "Bird API Access Key from Settings > Security > Access Keys",
|
||||
"Bird Workspace ID found in your workspace URL": "Bird Workspace ID found in your workspace URL",
|
||||
"Your SMS channel ID from Bird dashboard": "Your SMS channel ID from Bird dashboard",
|
||||
"Send SMS": "Send SMS",
|
||||
"List Messages": "List Messages",
|
||||
"Custom API Call": "自定义 API 呼叫",
|
||||
"Sends an SMS message via Bird Channels API.": "Sends an SMS message via Bird Channels API.",
|
||||
"Lists an Messages via Bird Channels API": "Lists an Messages via Bird Channels API",
|
||||
"Make a custom API call to a specific endpoint": "将一个自定义 API 调用到一个特定的终点",
|
||||
"Recipient": "Recipient",
|
||||
"Message": "Message",
|
||||
"Reference": "Reference",
|
||||
"Scheduled For (UTC timestamp)": "Scheduled For (UTC timestamp)",
|
||||
"Status": "状态",
|
||||
"Start Date and Time": "Start Date and Time",
|
||||
"End Date and Time": "End Date and Time",
|
||||
"Next Page Token": "Next Page Token",
|
||||
"Method": "方法",
|
||||
"Headers": "信头",
|
||||
"Query Parameters": "查询参数",
|
||||
"Body": "正文内容",
|
||||
"Response is Binary ?": "Response is Binary ?",
|
||||
"No Error on Failure": "失败时没有错误",
|
||||
"Timeout (in seconds)": "超时(秒)",
|
||||
"The phone number to send the message to (with country code)": "The phone number to send the message to (with country code)",
|
||||
"The body of the SMS message": "The body of the SMS message",
|
||||
"Your own identifier for the message (optional)": "Your own identifier for the message (optional)",
|
||||
"Message to be sent at a specific datetime eg. 2025-04-27T15:08:18.613Z. If not set, the message will be sent immediately.": "Message to be sent at a specific datetime eg. 2025-04-27T15:08:18.613Z. If not set, the message will be sent immediately.",
|
||||
"The status of the messages to filter by (select \"All\" for all statuses)": "The status of the messages to filter by (select \"All\" for all statuses)",
|
||||
"The start date and time (in UTC) to filter messages": "The start date and time (in UTC) to filter messages",
|
||||
"The end date and time (in UTC) to filter messages, should not exceed 7 days from start date": "The end date and time (in UTC) to filter messages, should not exceed 7 days from start date",
|
||||
"Token for pagination to fetch next set of results after 1000 messages": "Token for pagination to fetch next set of results after 1000 messages",
|
||||
"Authorization headers are injected automatically from your connection.": "授权头自动从您的连接中注入。",
|
||||
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
|
||||
"All": "所有的",
|
||||
"Pending": "待處理",
|
||||
"Accepted": "Accepted",
|
||||
"Rejected": "Rejected",
|
||||
"Processing": "Processing",
|
||||
"Scheduled": "Scheduled",
|
||||
"Sent": "Sent",
|
||||
"Sending Failed": "Sending Failed",
|
||||
"Delivered": "Delivered",
|
||||
"Delivery Failed": "Delivery Failed",
|
||||
"Deleted": "Deleted",
|
||||
"Skipped": "跳过",
|
||||
"GET": "获取",
|
||||
"POST": "帖子",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "弹出",
|
||||
"DELETE": "删除",
|
||||
"HEAD": "黑色"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
import { createPiece, PieceAuth } from '@activepieces/pieces-framework';
|
||||
import { sendSMSAction } from './lib/actions/send-sms.action';
|
||||
import { PieceCategory } from '@activepieces/shared';
|
||||
import { listMessages } from './lib/actions/list-messages';
|
||||
import { birdAuth, BirdAuthValue } from './lib/auth';
|
||||
import { createCustomApiCallAction } from '@activepieces/pieces-common';
|
||||
|
||||
export const messagebird = createPiece({
|
||||
displayName: 'Bird',
|
||||
description: 'Unified CRM for Marketing, Service & Payments',
|
||||
auth: birdAuth,
|
||||
minimumSupportedRelease: '0.30.0',
|
||||
logoUrl: 'https://cdn.activepieces.com/pieces/messagebird.png',
|
||||
categories: [PieceCategory.MARKETING, PieceCategory.COMMUNICATION],
|
||||
authors: ['kishanprmr', 'geekyme','prasanna2000-max'],
|
||||
actions: [
|
||||
sendSMSAction,
|
||||
listMessages,
|
||||
createCustomApiCallAction({
|
||||
baseUrl: (auth)=> {
|
||||
return auth ? 'https://api.bird.com/workspaces/' + (auth.props as BirdAuthValue).workspaceId : '';
|
||||
},
|
||||
auth: birdAuth,
|
||||
authMapping: async (auth) => {
|
||||
return {
|
||||
Authorization: `Bearer ${(auth.props as BirdAuthValue).apiKey}`,
|
||||
};
|
||||
}
|
||||
}),
|
||||
],
|
||||
triggers: [],
|
||||
});
|
||||
@@ -0,0 +1,76 @@
|
||||
import { birdAuth } from '../auth';
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import {
|
||||
httpClient,
|
||||
HttpMethod,
|
||||
} from '@activepieces/pieces-common';
|
||||
import dayjs from 'dayjs';
|
||||
|
||||
export const listMessages = createAction({
|
||||
auth: birdAuth,
|
||||
name: 'listMessages',
|
||||
displayName: 'List Messages',
|
||||
description: 'Lists an Messages via Bird Channels API',
|
||||
props: {
|
||||
status : Property.StaticDropdown({
|
||||
displayName: 'Status',
|
||||
description: 'The status of the messages to filter by (select "All" for all statuses)',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'All', value: 'all' },
|
||||
{ label: 'Pending', value: 'pending' },
|
||||
{ label: 'Accepted', value: 'accepted' },
|
||||
{ label: 'Rejected', value: 'rejected' },
|
||||
{ label: 'Processing', value: 'processing' },
|
||||
{ label: 'Scheduled', value: 'scheduled' },
|
||||
{ label: 'Sent', value: 'sent' },
|
||||
{ label: 'Sending Failed', value: 'sending_failed' },
|
||||
{ label: 'Delivered', value: 'delivered' },
|
||||
{ label: 'Delivery Failed', value: 'delivery_failed' },
|
||||
{ label: 'Deleted', value: 'deleted' },
|
||||
{ label: 'Skipped', value: 'skipped' },
|
||||
]},
|
||||
}),
|
||||
startAt: Property.DateTime({
|
||||
displayName: 'Start Date and Time',
|
||||
description: 'The start date and time (in UTC) to filter messages',
|
||||
required: true,
|
||||
defaultValue: dayjs().subtract(1, 'day').format('YYYY-MM-DDTHH:mm:ss[Z]'),
|
||||
}),
|
||||
endAt: Property.DateTime({
|
||||
displayName: 'End Date and Time',
|
||||
description: 'The end date and time (in UTC) to filter messages, should not exceed 7 days from start date',
|
||||
required: true,
|
||||
defaultValue: dayjs().format('YYYY-MM-DDTHH:mm:ss[Z]'),
|
||||
}),
|
||||
pageToken: Property.ShortText({
|
||||
displayName: 'Next Page Token',
|
||||
description: 'Token for pagination to fetch next set of results after 1000 messages',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const { status, startAt, endAt, pageToken } = context.propsValue;
|
||||
|
||||
const auth = context.auth.props;
|
||||
|
||||
const response = await httpClient.sendRequest<any>({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://api.bird.com/workspaces/${auth.workspaceId}/channels/${auth.channelId}/messages`,
|
||||
queryParams: {
|
||||
limit: '1000',
|
||||
...(status === 'all' ? {} : { status: status }),
|
||||
startAt: startAt,
|
||||
endAt: endAt,
|
||||
...(pageToken ? { pageToken: pageToken } : {}),
|
||||
},
|
||||
headers: {
|
||||
'Authorization': `Bearer ${auth.apiKey}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
});
|
||||
|
||||
return response.body
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,69 @@
|
||||
import { birdAuth } from '../auth';
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import {
|
||||
httpClient,
|
||||
HttpMethod,
|
||||
HttpRequest,
|
||||
} from '@activepieces/pieces-common';
|
||||
|
||||
export const sendSMSAction = createAction({
|
||||
auth: birdAuth,
|
||||
name: 'send-sms',
|
||||
displayName: 'Send SMS',
|
||||
description: 'Sends an SMS message via Bird Channels API.',
|
||||
props: {
|
||||
recipient: Property.ShortText({
|
||||
displayName: 'Recipient',
|
||||
description: 'The phone number to send the message to (with country code)',
|
||||
required: true,
|
||||
}),
|
||||
message: Property.LongText({
|
||||
displayName: 'Message',
|
||||
description: 'The body of the SMS message',
|
||||
required: true,
|
||||
}),
|
||||
reference: Property.ShortText({
|
||||
displayName: 'Reference',
|
||||
description: 'Your own identifier for the message (optional)',
|
||||
required: false,
|
||||
}),
|
||||
scheduledFor: Property.DateTime({
|
||||
displayName: 'Scheduled For (UTC timestamp)',
|
||||
description: 'Message to be sent at a specific datetime eg. 2025-04-27T15:08:18.613Z. If not set, the message will be sent immediately.',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const { recipient, message, reference, scheduledFor } = context.propsValue;
|
||||
const auth = context.auth.props;
|
||||
|
||||
// Format request for Bird Channels API
|
||||
const request: HttpRequest = {
|
||||
method: HttpMethod.POST,
|
||||
url: `https://api.bird.com/workspaces/${auth.workspaceId}/channels/${auth.channelId}/messages`,
|
||||
headers: {
|
||||
'Authorization': `Bearer ${auth.apiKey}`,
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: {
|
||||
receiver: {
|
||||
contacts: [
|
||||
{
|
||||
identifierValue: recipient
|
||||
}
|
||||
]
|
||||
},
|
||||
body: {
|
||||
type: 'text',
|
||||
text: {
|
||||
text: message
|
||||
}
|
||||
},
|
||||
...(reference && { reference }),
|
||||
...(scheduledFor && { scheduledFor }),
|
||||
},
|
||||
};
|
||||
|
||||
return await httpClient.sendRequest(request);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,28 @@
|
||||
import { PieceAuth } from '@activepieces/pieces-framework';
|
||||
|
||||
export interface BirdAuthValue {
|
||||
apiKey: string;
|
||||
workspaceId: string;
|
||||
channelId: string;
|
||||
}
|
||||
|
||||
export const birdAuth = PieceAuth.CustomAuth({
|
||||
props: {
|
||||
apiKey: PieceAuth.SecretText({
|
||||
displayName: 'API Key',
|
||||
description: 'Bird API Access Key from Settings > Security > Access Keys',
|
||||
required: true,
|
||||
}),
|
||||
workspaceId: PieceAuth.SecretText({
|
||||
displayName: 'Workspace ID',
|
||||
description: 'Bird Workspace ID found in your workspace URL',
|
||||
required: true,
|
||||
}),
|
||||
channelId: PieceAuth.SecretText({
|
||||
displayName: 'Channel ID',
|
||||
description: 'Your SMS channel ID from Bird dashboard',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
required: true,
|
||||
});
|
||||
Reference in New Issue
Block a user