Add Activepieces integration for workflow automation

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

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

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

View File

@@ -0,0 +1,67 @@
{
"Avoma is an AI Meeting Assistant that automatically records, transcribes, and summarizes your meetings.": "Avoma ist ein KI-Meeting-Assistent, der Ihre Meetings automatisch aufzeichnet, überträgt und zusammenfasst.",
"Your Avoma API Key (Bearer token). Generate it from your Avoma API Integration settings: https://help.avoma.com/api-integration-for-avoma": "Ihr Avoma API Key (Bearer Token). Generieren Sie ihn aus Ihren Avoma API Integration Einstellungen: https://help.avoma.com/api-integration-for-avoma",
"Create Call": "Anruf erstellen",
"Get Meeting Recording": "Besprechung abrufen",
"Get Meeting Transcription": "Meeting Transkription abrufen",
"Creates a new call in Avoma": "Erstellt einen neuen Anruf in Avoma",
"Returns video and audio recording URLs for a given meeting": "Gibt URLs für Video- und Audioaufzeichnung für ein bestimmtes Meeting zurück",
"Returns transcription with speakers, timestamps, and VTT file URL": "Gibt die Transkription mit Lautsprechern, Zeitstempel und VTT-Datei zurück",
"External ID": "Externe ID",
"User Email": "Benutzer-E-Mail",
"Source": "Quelle",
"Direction": "Richtung",
"Start Time": "Startzeit",
"From Phone Number": "Von Telefonnummer",
"To Phone Number": "An Telefonnummer",
"Recording URL": "Aufnahme-URL",
"Participants": "Teilnehmer",
"End Time": "Endzeit",
"From Name": "Absendername",
"To Name": "An Name",
"Answered": "Beantwortet",
"Is Voicemail": "Ist Voicemail",
"Additional Details": "Zusätzliche Details",
"Meeting": "Meeting",
"Transcription": "Transkript",
"Unique id of the call from the dialer system like hubspot, twilio, zoom, etc.": "Einzigartige ID des Anrufs aus dem Dialer-System wie Hubspot, Dämmerung, Zoom, etc.",
"Email of the user who made or received the call. This should be an Avoma user's email.": "E-Mail des Benutzers, der den Anruf getätigt oder erhalten hat. Dies sollte die E-Mail-Adresse eines Avoma-Benutzers sein.",
"Source of the call": "Quelle des Anrufs",
"Direction of the call": "Richtung des Anrufs",
"Start time of the call": "Startzeit des Anrufs",
"Phone number from which call was made (e.g., +11234567890)": "Telefonnummer, von der aus Anruf getätigt wurde (z.B. +11234567890)",
"Phone number to which call was made (e.g., +12234567890)": "Telefonnummer, an die ein Anruf getätigt wurde (z.B. +12234567890)",
"URL of the recording of the call. This should be a public URL that Avoma can access.": "URL der Aufzeichnung des Anrufs. Dies sollte eine öffentliche URL sein, auf die Avoma zugreifen kann.",
"List of participants in the call. First entry should be the prospect/lead.": "Liste der Teilnehmer am Anruf. Der erste Eintrag sollte der Prospekt/Lead sein.",
"End time of the call": "Endzeit des Anrufs",
"Name of the caller who made the call": "Name des Anrufers, der den Anruf durchgeführt hat",
"Name of the person to whom call was made": "Name der Person, an die ein Anruf getätigt wurde",
"Whether the call was answered": "Ob der Anruf beantwortet wurde",
"Indicates if the call is a voicemail": "Zeigt an, ob der Anruf eine Sprachnachricht ist",
"Additional details of the call (JSON object as string)": "Zusätzliche Details des Aufrufs (JSON-Objekt als Zeichenkette)",
"Select a meeting from your Avoma account": "Wählen Sie ein Meeting aus Ihrem Avoma-Konto",
"Select a transcription from your Avoma meetings": "Wählen Sie eine Transkription aus Ihren Avoma-Meetings",
"Zoom": "Zoom",
"Zoom Phone": "Telefon zoomen",
"Twilio": "Zweimal",
"PhoneBurner": "Telefonbrenner",
"RingCentral": "RingCentral",
"Aircall": "Luftanruf",
"HubSpot": "HubSpot",
"Other": "Andere",
"Inbound": "Eingehend",
"Outbound": "Ausgehend",
"New Note": "Neue Notiz",
"New Meeting Scheduled": "Neues Meeting geplant",
"Meeting Rescheduled": "Meeting neu geplant",
"Meeting Cancelled": "Meeting abgebrochen",
"Triggers when notes are successfully generated for meetings or calls": "Auslöser wenn Notizen erfolgreich für Besprechungen oder Anrufe generiert wurden",
"Triggers when a meeting is booked via one of your Avoma scheduling pages": "Wird ausgelöst, wenn ein Meeting über eine Ihrer Avoma-Planungsseiten gebucht wird",
"Triggers when a scheduled meeting is rescheduled": "Wird ausgelöst, wenn ein geplantes Meeting verschoben wird",
"Triggers when a meeting booked via the scheduling page is cancelled": "Wird ausgelöst, wenn ein Meeting über die Planungsseite gebucht wird",
"Markdown": "Markdown",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"AINOTE\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Einstellungen > Integrationen > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Ereignistyp:** Wähle **\"AINOTE\"**\n4. **HTTP-Methode:** POST\n5. **Inhaltstyp:** application/json\n\n**Hinweis:** Benötigt Administratorrechte in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Einstellungen > Integrationen > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Typ:** Wähle **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **HTTP Methode:** POST\n5. **Inhaltstyp:** application/json\n\n**Hinweis:** Benötigt Administratorrechte in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Einstellungen > Integrationen > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Ereignistyp:** Wähle **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **HTTP-Methode:** POST\n5. **Inhaltstyp:** application/json\n\n**Hinweis:** Benötigt Administratorrechte in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Einstellungen > Integrationen > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Typ:** Wähle **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **HTTP Methode:** POST\n5. **Inhaltstyp:** application/json\n\n**Hinweis:** Benötigt Administratorrechte in Avoma.\n "
}

View File

@@ -0,0 +1,67 @@
{
"Avoma is an AI Meeting Assistant that automatically records, transcribes, and summarizes your meetings.": "Avoma es un asistente de reuniones de IA que registra, transcribe y resume automáticamente sus reuniones.",
"Your Avoma API Key (Bearer token). Generate it from your Avoma API Integration settings: https://help.avoma.com/api-integration-for-avoma": "Tu clave de API de Avoma (token portador). Genérala a partir de tus ajustes de integración de Avoma API: https://help.avoma.com/api-integration-for-avoma",
"Create Call": "Crear llamada",
"Get Meeting Recording": "Obtener grabación de reunión",
"Get Meeting Transcription": "Transcripción de Reuniones",
"Creates a new call in Avoma": "Crea una nueva llamada en Avoma",
"Returns video and audio recording URLs for a given meeting": "Devuelve URL de grabación de vídeo y audio para una reunión determinada",
"Returns transcription with speakers, timestamps, and VTT file URL": "Devuelve la transcripción con altavoces, marcas de tiempo y URL del archivo VTT",
"External ID": "ID Externo",
"User Email": "Email de usuario",
"Source": "Fuente",
"Direction": "Dirección",
"Start Time": "Hora de inicio",
"From Phone Number": "Desde el número de teléfono",
"To Phone Number": "A número de teléfono",
"Recording URL": "Grabando URL",
"Participants": "Participantes",
"End Time": "Hora de fin",
"From Name": "De nombre",
"To Name": "A nombre",
"Answered": "Respondido",
"Is Voicemail": "Es Voicemail",
"Additional Details": "Detalles adicionales",
"Meeting": "Reunión",
"Transcription": "Transcripción",
"Unique id of the call from the dialer system like hubspot, twilio, zoom, etc.": "Id único de la llamada desde el sistema de marcadores como hubspot, twilio, zoom, etc.",
"Email of the user who made or received the call. This should be an Avoma user's email.": "Correo electrónico del usuario que hizo o recibió la llamada. Este debe ser el correo electrónico de un usuario de Avoma.",
"Source of the call": "Fuente de la llamada",
"Direction of the call": "Dirección de la llamada",
"Start time of the call": "Hora de inicio de la llamada",
"Phone number from which call was made (e.g., +11234567890)": "Número de teléfono desde el cual se hizo la llamada (por ejemplo, +11234567890)",
"Phone number to which call was made (e.g., +12234567890)": "Número de teléfono al que se hizo la llamada (por ejemplo, +12234567890)",
"URL of the recording of the call. This should be a public URL that Avoma can access.": "URL de la grabación de la llamada. Debe ser una URL pública a la que Avoma pueda acceder.",
"List of participants in the call. First entry should be the prospect/lead.": "Lista de participantes en la llamada. La primera entrada debe ser el mó/lead.",
"End time of the call": "Hora de fin de la llamada",
"Name of the caller who made the call": "Nombre del llamante que hizo la llamada",
"Name of the person to whom call was made": "Nombre de la persona a la que se hizo la llamada",
"Whether the call was answered": "Si la llamada fue respondida",
"Indicates if the call is a voicemail": "Indica si la llamada es un mensaje de voz",
"Additional details of the call (JSON object as string)": "Detalles adicionales de la llamada (objeto JSON como cadena)",
"Select a meeting from your Avoma account": "Seleccione una reunión de su cuenta de Avoma",
"Select a transcription from your Avoma meetings": "Seleccione una transcripción de sus reuniones de Avoma",
"Zoom": "Aceros",
"Zoom Phone": "Teléfono de zoom",
"Twilio": "Twilio",
"PhoneBurner": "Corredor de teléfono",
"RingCentral": "RingCentral",
"Aircall": "Aerolínea",
"HubSpot": "HubSpot",
"Other": "Otro",
"Inbound": "Entrante",
"Outbound": "Salida",
"New Note": "Nueva nota",
"New Meeting Scheduled": "Nueva reunión programada",
"Meeting Rescheduled": "Reunión reprogramada",
"Meeting Cancelled": "Reunión cancelada",
"Triggers when notes are successfully generated for meetings or calls": "Dispara cuando las notas son generadas con éxito para reuniones o llamadas",
"Triggers when a meeting is booked via one of your Avoma scheduling pages": "Dispara cuando una reunión es reservada a través de una de sus páginas de programación de Avoma",
"Triggers when a scheduled meeting is rescheduled": "Dispara cuando una reunión programada es reprogramada",
"Triggers when a meeting booked via the scheduling page is cancelled": "Dispara cuando una reunión reservada a través de la página de programación es cancelada",
"Markdown": "Markdown",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"AINOTE\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"AINOTE\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n "
}

View File

@@ -0,0 +1,67 @@
{
"Avoma is an AI Meeting Assistant that automatically records, transcribes, and summarizes your meetings.": "Avoma est un assistant de réunion dAI qui enregistre automatiquement, transcrit et résume vos réunions.",
"Your Avoma API Key (Bearer token). Generate it from your Avoma API Integration settings: https://help.avoma.com/api-integration-for-avoma": "Votre clé d'API Avoma (jeton Bearer Token). Générez-la à partir de vos paramètres d'intégration d'API Avoma : https://help.avoma.com/api-integration-for-avoma",
"Create Call": "Créer un appel",
"Get Meeting Recording": "Obtenir l'enregistrement de la réunion",
"Get Meeting Transcription": "Obtenir la transcription de la réunion",
"Creates a new call in Avoma": "Crée un nouvel appel dans Avoma",
"Returns video and audio recording URLs for a given meeting": "Renvoie les URL d'enregistrement vidéo et audio pour une réunion donnée",
"Returns transcription with speakers, timestamps, and VTT file URL": "Renvoie la transcription avec les haut-parleurs, les horodatages et l'URL du fichier VTT",
"External ID": "ID externe",
"User Email": "E-mail de l'utilisateur",
"Source": "Source",
"Direction": "Orientation",
"Start Time": "Start Time",
"From Phone Number": "À partir du numéro de téléphone",
"To Phone Number": "Vers le numéro de téléphone",
"Recording URL": "URL de l'enregistrement",
"Participants": "Participants",
"End Time": "Heure de fin",
"From Name": "De nom",
"To Name": "À nommer",
"Answered": "Répondu",
"Is Voicemail": "Est la messagerie vocale",
"Additional Details": "Détails supplémentaires",
"Meeting": "Réunion",
"Transcription": "Transcription",
"Unique id of the call from the dialer system like hubspot, twilio, zoom, etc.": "Identifiant unique de l'appel du système de numérotation comme hubspot, twilio, zoom, etc.",
"Email of the user who made or received the call. This should be an Avoma user's email.": "Courriel de l'utilisateur qui a effectué ou reçu l'appel. Ceci devrait être l'e-mail d'un utilisateur d'Avoma.",
"Source of the call": "Source de l'appel",
"Direction of the call": "Direction de l'appel",
"Start time of the call": "Heure de début de l'appel",
"Phone number from which call was made (e.g., +11234567890)": "Numéro de téléphone à partir duquel l'appel a été fait (par exemple, +11234567890)",
"Phone number to which call was made (e.g., +12234567890)": "Numéro de téléphone auquel l'appel a été fait (par exemple, +12234567890)",
"URL of the recording of the call. This should be a public URL that Avoma can access.": "URL de l'enregistrement de l'appel. Ce devrait être une URL publique à laquelle Avoma peut accéder.",
"List of participants in the call. First entry should be the prospect/lead.": "Liste des participants à l'appel. La première entrée doit être le prospect/lead.",
"End time of the call": "Heure de fin de l'appel",
"Name of the caller who made the call": "Nom de l'appelant qui a effectué l'appel",
"Name of the person to whom call was made": "Nom de la personne à qui l'appel a été fait",
"Whether the call was answered": "Si l'appel a été répondu",
"Indicates if the call is a voicemail": "Indique si l'appel est un message vocal",
"Additional details of the call (JSON object as string)": "Détails supplémentaires de l'appel (objet JSON en tant que chaîne)",
"Select a meeting from your Avoma account": "Sélectionnez une réunion de votre compte Avoma",
"Select a transcription from your Avoma meetings": "Sélectionnez une transcription de vos réunions Avoma",
"Zoom": "Zoom",
"Zoom Phone": "Zoom Téléphone",
"Twilio": "Twilio",
"PhoneBurner": "Brûleur de téléphone",
"RingCentral": "RingCentral",
"Aircall": "Appel aérien",
"HubSpot": "HubSpot",
"Other": "Autres",
"Inbound": "Entrants",
"Outbound": "Sortant",
"New Note": "Nouvelle note",
"New Meeting Scheduled": "Nouvelle réunion planifiée",
"Meeting Rescheduled": "Réunion reprogrammée",
"Meeting Cancelled": "Réunion annulée",
"Triggers when notes are successfully generated for meetings or calls": "Déclenche lorsque les notes sont générées avec succès pour les réunions ou les appels",
"Triggers when a meeting is booked via one of your Avoma scheduling pages": "Déclenche quand une réunion est réservée via une de vos pages de planification Avoma",
"Triggers when a scheduled meeting is rescheduled": "Déclenche quand une réunion planifiée est reprogrammée",
"Triggers when a meeting booked via the scheduling page is cancelled": "Déclenche lorsqu'une réunion réservée via la page de planification est annulée",
"Markdown": "Markdown",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"AINOTE\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Configuration rapide :**\n\n1. Dans Avoma : **Paramètres > Intégrations > Webhooks**\n2. **URL du Webhook :** `{{webhookUrl}}`\n3. **Type d'événement:** Sélectionnez **\"AINOTE\"**\n4. **Méthode HTTP :** POSTE\n5. **Type de contenu :** application/json\n\n**Note:** Nécessite des permissions d'administration dans Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Configuration rapide :**\n\n1. Dans Avoma : **Paramètres > Intégrations > Webhooks**\n2. **URL du Webhook :** `{{webhookUrl}}`\n3. **Type d'événement :** Sélectionnez **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **Méthode HTTP :** POST\n5. **Type de contenu :** application/json\n\n**Note:** Nécessite des permissions d'administration dans Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Configuration rapide :**\n\n1. Dans Avoma : **Paramètres > Intégrations > Webhooks**\n2. **URL du Webhook :** `{{webhookUrl}}`\n3. **Type d'événement :** Sélectionnez **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **Méthode HTTP :** POST\n5. **Type de contenu :** application/json\n\n**Note:** Nécessite des permissions d'administration dans Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Configuration rapide :**\n\n1. Dans Avoma : **Paramètres > Intégrations > Webhooks**\n2. **URL du Webhook :** `{{webhookUrl}}`\n3. **Type d'événement :** Sélectionnez **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **Méthode HTTP :** POST\n5. **Type de contenu :** application/json\n\n**Note:** Nécessite des permissions d'administration dans Avoma.\n "
}

View File

@@ -0,0 +1,67 @@
{
"Avoma is an AI Meeting Assistant that automatically records, transcribes, and summarizes your meetings.": "AvomaはAIミーティングアシスタントで、自動的に記録、転記、会議の概要を記録します。",
"Your Avoma API Key (Bearer token). Generate it from your Avoma API Integration settings: https://help.avoma.com/api-integration-for-avoma": "Avoma APIキーベアラートークン。Avoma API統合設定から生成します。https://help.avoma.com/api-integration-for-avoma",
"Create Call": "通話を作成",
"Get Meeting Recording": "ミーティング録音を取得",
"Get Meeting Transcription": "会議の表記を取得",
"Creates a new call in Avoma": "Avomaで新しい呼び出しを作成します",
"Returns video and audio recording URLs for a given meeting": "特定のミーティングのビデオと音声の記録URLを返します",
"Returns transcription with speakers, timestamps, and VTT file URL": "スピーカー、タイムスタンプ、VTTファイルのURLを持つ転写を返します。",
"External ID": "外部 ID",
"User Email": "ユーザーのメールアドレス",
"Source": "ソース",
"Direction": "方向",
"Start Time": "開始時刻",
"From Phone Number": "電話番号",
"To Phone Number": "電話番号へ",
"Recording URL": "記録用URL",
"Participants": "参加者",
"End Time": "終了時刻",
"From Name": "差出人名",
"To Name": "宛先名",
"Answered": "回答済み",
"Is Voicemail": "ボイスメール",
"Additional Details": "その他の詳細",
"Meeting": "会議",
"Transcription": "表記文字",
"Unique id of the call from the dialer system like hubspot, twilio, zoom, etc.": "hubspot、twilio、zoomなどのダイヤラーシステムからの通話のユニークなid。",
"Email of the user who made or received the call. This should be an Avoma user's email.": "通話を発信または受信したユーザーの電子メール。これはAvomaユーザーの電子メールである必要があります。",
"Source of the call": "発信元",
"Direction of the call": "通話の方向",
"Start time of the call": "通話の開始時刻",
"Phone number from which call was made (e.g., +11234567890)": "発信元の電話番号 (例: +11234567890)",
"Phone number to which call was made (e.g., +12234567890)": "発信先の電話番号(例:+12234567890",
"URL of the recording of the call. This should be a public URL that Avoma can access.": "通話記録のURL。Avomaがアクセスできる公開URLである必要があります。",
"List of participants in the call. First entry should be the prospect/lead.": "通話中の参加者のリスト。最初のエントリは見込み客/リードである必要があります。",
"End time of the call": "通話の終了時間",
"Name of the caller who made the call": "発信者の名前",
"Name of the person to whom call was made": "電話をかけた人の名前",
"Whether the call was answered": "通話が応答されたかどうか",
"Indicates if the call is a voicemail": "通話がボイスメールであるかどうかを示します",
"Additional details of the call (JSON object as string)": "コールの追加の詳細 (JSON オブジェクトを文字列として)",
"Select a meeting from your Avoma account": "Avomaアカウントからミーティングを選択してください",
"Select a transcription from your Avoma meetings": "Avomaミーティングから転写を選択してください",
"Zoom": "ズーム",
"Zoom Phone": "ズーム電話",
"Twilio": "Twilio",
"PhoneBurner": "PhoneBurner",
"RingCentral": "RingCentral",
"Aircall": "エアコール",
"HubSpot": "HubSpot",
"Other": "その他",
"Inbound": "Inbound",
"Outbound": "Outbound",
"New Note": "新しいメモ",
"New Meeting Scheduled": "新しいミーティングがスケジュールされました",
"Meeting Rescheduled": "会議のスケジュールを変更しました",
"Meeting Cancelled": "会議がキャンセルされました",
"Triggers when notes are successfully generated for meetings or calls": "ミーティングや通話でメモが正常に生成されたときに発生する",
"Triggers when a meeting is booked via one of your Avoma scheduling pages": "会議がAvomaスケジューリングページのいずれかを介して予約されたときに発生します",
"Triggers when a scheduled meeting is rescheduled": "スケジュールされたミーティングがスケジュール変更されたときにトリガーします",
"Triggers when a meeting booked via the scheduling page is cancelled": "スケジューリングページ経由で予約されたミーティングがキャンセルされたときにトリガーされます",
"Markdown": "Markdown",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"AINOTE\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"AINOTE\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n "
}

View File

@@ -0,0 +1,67 @@
{
"Avoma is an AI Meeting Assistant that automatically records, transcribes, and summarizes your meetings.": "Avoma is een AI Meeting Assistant die je vergaderingen automatisch registreert, transcribeert en samenvoegt.",
"Your Avoma API Key (Bearer token). Generate it from your Avoma API Integration settings: https://help.avoma.com/api-integration-for-avoma": "Uw Avoma API-sleutel (Bearer token). Genereer het vanuit uw Avoma API integratie instellingen: https://help.avoma.com/api-integration-for-avoma",
"Create Call": "Oproep aanmaken",
"Get Meeting Recording": "Opname van vergadering krijgen",
"Get Meeting Transcription": "Krijg Meeting Transcriptie",
"Creates a new call in Avoma": "Maakt een nieuwe oproep in Avoma",
"Returns video and audio recording URLs for a given meeting": "Geeft video-en audio-opname-URL's voor een bepaalde vergadering terug",
"Returns transcription with speakers, timestamps, and VTT file URL": "Retourneert transcriptie met luidsprekers, tijdstempels, en VTT-bestand URL",
"External ID": "Extern ID",
"User Email": "E-mail van gebruiker",
"Source": "Bron",
"Direction": "Richting",
"Start Time": "Starttijd",
"From Phone Number": "Van Telefoonnummer",
"To Phone Number": "Naar telefoonnummer",
"Recording URL": "Opname URL",
"Participants": "Deelnemers",
"End Time": "Eind Tijd",
"From Name": "Afzender naam",
"To Name": "Naar naam",
"Answered": "beantwoord",
"Is Voicemail": "Is voicemail",
"Additional Details": "Aanvullende gegevens",
"Meeting": "Afspraak",
"Transcription": "Transcriptie",
"Unique id of the call from the dialer system like hubspot, twilio, zoom, etc.": "Uniek id van de oproep van het telefoonsysteem zoals hubspot, twilio, zoom, enz.",
"Email of the user who made or received the call. This should be an Avoma user's email.": "E-mail van de gebruiker die het gesprek heeft gemaakt of ontvangen. Dit moet een AVoma gebruiker e-mail zijn.",
"Source of the call": "Bron van de oproep",
"Direction of the call": "Richting van de oproep",
"Start time of the call": "Start tijd van de oproep",
"Phone number from which call was made (e.g., +11234567890)": "Telefoonnummer van waaruit gebeld is (bijv. +11234567890)",
"Phone number to which call was made (e.g., +12234567890)": "Telefoonnummer waarvoor werd gebeld (bijv. +12234567890)",
"URL of the recording of the call. This should be a public URL that Avoma can access.": "URL van de opname van het gesprek. Dit moet een openbare URL zijn die Avoma kan gebruiken.",
"List of participants in the call. First entry should be the prospect/lead.": "Lijst van deelnemers aan de oproep. Eerste vermelding is het kanaal/lead.",
"End time of the call": "Einde tijd van de oproep",
"Name of the caller who made the call": "Naam van de beller die de oproep deed",
"Name of the person to whom call was made": "Naam van de persoon aan wie werd gebeld",
"Whether the call was answered": "Of de oproep is beantwoord",
"Indicates if the call is a voicemail": "Geeft aan of de oproep een voicemail is",
"Additional details of the call (JSON object as string)": "Aanvullende details van de oproep (JSON object als string)",
"Select a meeting from your Avoma account": "Selecteer een vergadering van uw account",
"Select a transcription from your Avoma meetings": "Selecteer een transcriptie van je Avoma vergaderingen",
"Zoom": "Inzoomen",
"Zoom Phone": "Telefoon inzoomen",
"Twilio": "Twilio",
"PhoneBurner": "PhoneBrander",
"RingCentral": "RingCentral",
"Aircall": "Luchtbellen",
"HubSpot": "HubSpot",
"Other": "anders",
"Inbound": "Inkomende",
"Outbound": "Uitgaande",
"New Note": "Nieuwe notitie",
"New Meeting Scheduled": "Nieuwe vergadering gepland",
"Meeting Rescheduled": "Vergadering gerepareerd",
"Meeting Cancelled": "Vergadering Geannuleerd",
"Triggers when notes are successfully generated for meetings or calls": "Triggers wanneer notities succesvol worden gegenereerd voor vergaderingen of oproepen",
"Triggers when a meeting is booked via one of your Avoma scheduling pages": "Triggert wanneer een vergadering wordt geboekt via een van je Avoma planner pagina's",
"Triggers when a scheduled meeting is rescheduled": "Triggert wanneer een geplande vergadering wordt verplaatst",
"Triggers when a meeting booked via the scheduling page is cancelled": "Triggert wanneer een vergadering is geboekt via de planningspagina",
"Markdown": "Markdown",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"AINOTE\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Instellingen > Integraties > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Selecteer **\"AINOTE\"**\n4. **HTTP Methode:** POST\n5. **Content Type:** application/json\n\n**Opmerking:** Vereist admin rechten in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Instellingen > Integraties > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Selecteer **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Opmerking:** Vereist admin rechten in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Instellingen > Integraties > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Selecteer **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Opmerking:** Vereist admin rechten in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Instellingen > Integraties > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Selecteer **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Opmerking:** Vereist admin rechten in Avoma.\n "
}

View File

@@ -0,0 +1,67 @@
{
"Avoma is an AI Meeting Assistant that automatically records, transcribes, and summarizes your meetings.": "Avoma é um Assistente de Reunião IA, que registra automaticamente, transcreve e resume suas reuniões.",
"Your Avoma API Key (Bearer token). Generate it from your Avoma API Integration settings: https://help.avoma.com/api-integration-for-avoma": "Sua chave de API Avoma (token Bearer). Gere a partir das suas configurações de integração da API Avoma: https://help.avoma.com/api-integration-for-avoma",
"Create Call": "Criar Ligação",
"Get Meeting Recording": "Obter Gravação de Reunião",
"Get Meeting Transcription": "Obter transmissão de reuniões",
"Creates a new call in Avoma": "Cria uma nova chamada em Avoma",
"Returns video and audio recording URLs for a given meeting": "Retorna URLs de gravação de vídeo e áudio para uma determinada reunião",
"Returns transcription with speakers, timestamps, and VTT file URL": "Retorna transcrição com palestrantes, carimbos de tempo e URL de arquivo VTT",
"External ID": "ID Externo",
"User Email": "Email do Usuário",
"Source": "fonte",
"Direction": "Direção",
"Start Time": "Hora de início",
"From Phone Number": "De número de telefone",
"To Phone Number": "Para número de telefone",
"Recording URL": "URL de gravação",
"Participants": "Participantes",
"End Time": "Hora de término",
"From Name": "Nome do Remetente",
"To Name": "Para o Nome",
"Answered": "Respondido",
"Is Voicemail": "É Voicemail",
"Additional Details": "Detalhes Adicionais",
"Meeting": "Reunião",
"Transcription": "Transcrição",
"Unique id of the call from the dialer system like hubspot, twilio, zoom, etc.": "Identificação única da chamada do sistema discador como hubspot, twilio, zoom, etc.",
"Email of the user who made or received the call. This should be an Avoma user's email.": "E-mail do usuário que fez ou recebeu a chamada. Este deve ser um e-mail de usuário da Avoma.",
"Source of the call": "Fonte da chamada",
"Direction of the call": "Direção da chamada",
"Start time of the call": "Horário de início da chamada",
"Phone number from which call was made (e.g., +11234567890)": "Número de telefone de qual chamada foi feita (por exemplo, 11234567890)",
"Phone number to which call was made (e.g., +12234567890)": "Número de telefone para o qual a chamada foi feita (por exemplo, +12234567890)",
"URL of the recording of the call. This should be a public URL that Avoma can access.": "URL da gravação da chamada. Esta deve ser uma URL pública que o Avoma pode acessar.",
"List of participants in the call. First entry should be the prospect/lead.": "Lista de participantes na chamada. A primeira entrada deve ser uma perspectiva/lead.",
"End time of the call": "Hora de término da chamada",
"Name of the caller who made the call": "Nome do chamador que fez a chamada",
"Name of the person to whom call was made": "Nome da pessoa a quem foi chamada",
"Whether the call was answered": "Se a chamada foi atendida",
"Indicates if the call is a voicemail": "Indica se a chamada é um correio de voz",
"Additional details of the call (JSON object as string)": "Detalhes adicionais da chamada (objeto JSON como string)",
"Select a meeting from your Avoma account": "Selecione uma reunião da sua conta Avoma",
"Select a transcription from your Avoma meetings": "Selecione uma transcrição das suas reuniões da Avoma",
"Zoom": "Ampliar",
"Zoom Phone": "Ampliar telefone",
"Twilio": "Twilio",
"PhoneBurner": "PhoneBurner",
"RingCentral": "RingCentral",
"Aircall": "Aeronave",
"HubSpot": "HubSpot",
"Other": "Outros",
"Inbound": "Entrada",
"Outbound": "Saída",
"New Note": "Nova anotação",
"New Meeting Scheduled": "Nova reunião agendada",
"Meeting Rescheduled": "Reunião reagendada",
"Meeting Cancelled": "Reunião cancelada",
"Triggers when notes are successfully generated for meetings or calls": "Disparos quando notas são geradas com sucesso para reuniões ou chamadas",
"Triggers when a meeting is booked via one of your Avoma scheduling pages": "Acionar quando uma reunião for reservada em uma das suas páginas de agendamento da Avoma",
"Triggers when a scheduled meeting is rescheduled": "Dispara quando uma reunião agendada é reagendada",
"Triggers when a meeting booked via the scheduling page is cancelled": "Disparar quando uma reunião reservada por meio da página de agendamento for cancelada",
"Markdown": "Markdown",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"AINOTE\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "**Instalação Rápida**\n\n1. No Avoma: **Configurações > Integrações > Webhooks**\n2. **Webhook URL:** '{{webhookUrl}}'\n3. **Tipo de evento:** Select **AINOTE**\n4. **Método HTTP:** POST\n5. **Tipo de Conteúdo:** application/json\n\n**Observação:\"** Requer permissões de administrador no Avoma.",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "**Instalação Rápida**\n\n1. No Avoma: **Configurações > Integrações > Webhooks**\n2. **Webhook URL:** '{{webhookUrl}}'\n3. **Tipo de evento:** Select **MEETING_BOOKED_VIA_SCHEDULER**\n4. **Método HTTP:** POST\n5. **Tipo de Conteúdo:** application/json\n\n**Observação:\"** Requer permissões de administrador no Avoma.",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "**Instalação Rápida**\n\n1. No Avoma: **Configurações > Integrações > Webhooks**\n2. **Webhook URL:** '{{webhookUrl}}'\n3. **Tipo de evento:** Select **MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED**\n4. **Método HTTP:** POST\n5. **Tipo de Conteúdo:** application/json\n\n**Observação:\"** Requer permissões de administrador no Avoma.",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "**Instalação Rápida**\n\n1. No Avoma: **Configurações > Integrações > Webhooks**\n2. **Webhook URL:** '{{webhookUrl}}'\n3. **Tipo de evento:** Select **MEETING_BOOKED_VIA_SCHEDULER_CANCELED**\n4. **Método HTTP:** POST\n5. **Tipo de Conteúdo:** application/json\n\n**Observação:\"** Requer permissões de administrador no Avoma."
}

View File

@@ -0,0 +1,67 @@
{
"Avoma is an AI Meeting Assistant that automatically records, transcribes, and summarizes your meetings.": "Avoma is an AI Meeting Assistant that automatically records, transcribes, and summarizes your meetings.",
"Your Avoma API Key (Bearer token). Generate it from your Avoma API Integration settings: https://help.avoma.com/api-integration-for-avoma": "Your Avoma API Key (Bearer token). Generate it from your Avoma API Integration settings: https://help.avoma.com/api-integration-for-avoma",
"Create Call": "Create Call",
"Get Meeting Recording": "Get Meeting Recording",
"Get Meeting Transcription": "Get Meeting Transcription",
"Creates a new call in Avoma": "Creates a new call in Avoma",
"Returns video and audio recording URLs for a given meeting": "Returns video and audio recording URLs for a given meeting",
"Returns transcription with speakers, timestamps, and VTT file URL": "Returns transcription with speakers, timestamps, and VTT file URL",
"External ID": "External ID",
"User Email": "User Email",
"Source": "Source",
"Direction": "Direction",
"Start Time": "Start Time",
"From Phone Number": "From Phone Number",
"To Phone Number": "To Phone Number",
"Recording URL": "Recording URL",
"Participants": "Participants",
"End Time": "End Time",
"From Name": "From Name",
"To Name": "To Name",
"Answered": "Answered",
"Is Voicemail": "Is Voicemail",
"Additional Details": "Additional Details",
"Meeting": "Meeting",
"Transcription": "Transcription",
"Unique id of the call from the dialer system like hubspot, twilio, zoom, etc.": "Unique id of the call from the dialer system like hubspot, twilio, zoom, etc.",
"Email of the user who made or received the call. This should be an Avoma user's email.": "Email of the user who made or received the call. This should be an Avoma user's email.",
"Source of the call": "Source of the call",
"Direction of the call": "Direction of the call",
"Start time of the call": "Start time of the call",
"Phone number from which call was made (e.g., +11234567890)": "Phone number from which call was made (e.g., +11234567890)",
"Phone number to which call was made (e.g., +12234567890)": "Phone number to which call was made (e.g., +12234567890)",
"URL of the recording of the call. This should be a public URL that Avoma can access.": "URL of the recording of the call. This should be a public URL that Avoma can access.",
"List of participants in the call. First entry should be the prospect/lead.": "List of participants in the call. First entry should be the prospect/lead.",
"End time of the call": "End time of the call",
"Name of the caller who made the call": "Name of the caller who made the call",
"Name of the person to whom call was made": "Name of the person to whom call was made",
"Whether the call was answered": "Whether the call was answered",
"Indicates if the call is a voicemail": "Indicates if the call is a voicemail",
"Additional details of the call (JSON object as string)": "Additional details of the call (JSON object as string)",
"Select a meeting from your Avoma account": "Select a meeting from your Avoma account",
"Select a transcription from your Avoma meetings": "Select a transcription from your Avoma meetings",
"Zoom": "Zoom",
"Zoom Phone": "Zoom Phone",
"Twilio": "Twilio",
"PhoneBurner": "PhoneBurner",
"RingCentral": "RingCentral",
"Aircall": "Aircall",
"HubSpot": "HubSpot",
"Other": "Other",
"Inbound": "Inbound",
"Outbound": "Outbound",
"New Note": "New Note",
"New Meeting Scheduled": "New Meeting Scheduled",
"Meeting Rescheduled": "Meeting Rescheduled",
"Meeting Cancelled": "Meeting Cancelled",
"Triggers when notes are successfully generated for meetings or calls": "Triggers when notes are successfully generated for meetings or calls",
"Triggers when a meeting is booked via one of your Avoma scheduling pages": "Triggers when a meeting is booked via one of your Avoma scheduling pages",
"Triggers when a scheduled meeting is rescheduled": "Triggers when a scheduled meeting is rescheduled",
"Triggers when a meeting booked via the scheduling page is cancelled": "Triggers when a meeting booked via the scheduling page is cancelled",
"Markdown": "Markdown",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"AINOTE\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"AINOTE\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n "
}

View File

@@ -0,0 +1,67 @@
{
"Avoma is an AI Meeting Assistant that automatically records, transcribes, and summarizes your meetings.": "Avoma is an AI Meeting Assistant that automatically records, transcribes, and summarizes your meetings.",
"Your Avoma API Key (Bearer token). Generate it from your Avoma API Integration settings: https://help.avoma.com/api-integration-for-avoma": "Your Avoma API Key (Bearer token). Generate it from your Avoma API Integration settings: https://help.avoma.com/api-integration-for-avoma",
"Create Call": "Create Call",
"Get Meeting Recording": "Get Meeting Recording",
"Get Meeting Transcription": "Get Meeting Transcription",
"Creates a new call in Avoma": "Creates a new call in Avoma",
"Returns video and audio recording URLs for a given meeting": "Returns video and audio recording URLs for a given meeting",
"Returns transcription with speakers, timestamps, and VTT file URL": "Returns transcription with speakers, timestamps, and VTT file URL",
"External ID": "外部ID",
"User Email": "User Email",
"Source": "来源",
"Direction": "Direction",
"Start Time": "开始时间",
"From Phone Number": "From Phone Number",
"To Phone Number": "To Phone Number",
"Recording URL": "Recording URL",
"Participants": "Participants",
"End Time": "End Time",
"From Name": "From Name",
"To Name": "To Name",
"Answered": "Answered",
"Is Voicemail": "Is Voicemail",
"Additional Details": "Additional Details",
"Meeting": "Meeting",
"Transcription": "Transcription",
"Unique id of the call from the dialer system like hubspot, twilio, zoom, etc.": "Unique id of the call from the dialer system like hubspot, twilio, zoom, etc.",
"Email of the user who made or received the call. This should be an Avoma user's email.": "Email of the user who made or received the call. This should be an Avoma user's email.",
"Source of the call": "Source of the call",
"Direction of the call": "Direction of the call",
"Start time of the call": "Start time of the call",
"Phone number from which call was made (e.g., +11234567890)": "Phone number from which call was made (e.g., +11234567890)",
"Phone number to which call was made (e.g., +12234567890)": "Phone number to which call was made (e.g., +12234567890)",
"URL of the recording of the call. This should be a public URL that Avoma can access.": "URL of the recording of the call. This should be a public URL that Avoma can access.",
"List of participants in the call. First entry should be the prospect/lead.": "List of participants in the call. First entry should be the prospect/lead.",
"End time of the call": "End time of the call",
"Name of the caller who made the call": "Name of the caller who made the call",
"Name of the person to whom call was made": "Name of the person to whom call was made",
"Whether the call was answered": "Whether the call was answered",
"Indicates if the call is a voicemail": "Indicates if the call is a voicemail",
"Additional details of the call (JSON object as string)": "Additional details of the call (JSON object as string)",
"Select a meeting from your Avoma account": "Select a meeting from your Avoma account",
"Select a transcription from your Avoma meetings": "Select a transcription from your Avoma meetings",
"Zoom": "Zoom",
"Zoom Phone": "Zoom Phone",
"Twilio": "Twilio",
"PhoneBurner": "PhoneBurner",
"RingCentral": "RingCentral",
"Aircall": "Aircall",
"HubSpot": "HubSpot",
"Other": "Other",
"Inbound": "Inbound",
"Outbound": "Outbound",
"New Note": "New Note",
"New Meeting Scheduled": "New Meeting Scheduled",
"Meeting Rescheduled": "Meeting Rescheduled",
"Meeting Cancelled": "Meeting Cancelled",
"Triggers when notes are successfully generated for meetings or calls": "Triggers when notes are successfully generated for meetings or calls",
"Triggers when a meeting is booked via one of your Avoma scheduling pages": "Triggers when a meeting is booked via one of your Avoma scheduling pages",
"Triggers when a scheduled meeting is rescheduled": "Triggers when a scheduled meeting is rescheduled",
"Triggers when a meeting booked via the scheduling page is cancelled": "Triggers when a meeting booked via the scheduling page is cancelled",
"Markdown": "Markdown",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"AINOTE\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"AINOTE\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ",
"\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n ": "\n**Quick Setup:**\n\n1. In Avoma: **Settings > Integrations > Webhooks**\n2. **Webhook URL:** `{{webhookUrl}}`\n3. **Event Type:** Select **\"MEETING_BOOKED_VIA_SCHEDULER_CANCELED\"**\n4. **HTTP Method:** POST\n5. **Content Type:** application/json\n\n**Note:** Requires admin permissions in Avoma.\n "
}

View File

@@ -0,0 +1,23 @@
import { createPiece } from "@activepieces/pieces-framework";
import { newNote } from "./lib/triggers/new-note";
import { createCall } from "./lib/actions/create-call";
import { getMeetingTranscription } from "./lib/actions/get-meeting-transcription";
import { getMeetingRecording } from "./lib/actions/get-meeting-recording";
import { newMeetingScheduled } from "./lib/triggers/new-meeting-scheduled";
import { meetingRescheduled } from "./lib/triggers/meeting-rescheduled";
import { meetingCancelled } from "./lib/triggers/meeting-cancelled";
import { avomaCommon } from "./lib/common";
export const avoma = createPiece({
displayName: 'Avoma',
description:
'Avoma is an AI Meeting Assistant that automatically records, transcribes, and summarizes your meetings.',
auth: avomaCommon.avomaAuth,
minimumSupportedRelease: '0.36.1',
logoUrl: 'https://cdn.activepieces.com/pieces/avoma.png',
authors: ["fortunamide", "onyedikachi-david"],
actions: [createCall, getMeetingRecording, getMeetingTranscription],
triggers: [newNote, newMeetingScheduled, meetingRescheduled, meetingCancelled]
});

View File

@@ -0,0 +1,231 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { avomaCommon } from '../common';
export const createCall = createAction({
auth: avomaCommon.avomaAuth,
name: 'create_call',
displayName: 'Create Call',
description: 'Creates a new call in Avoma',
props: {
external_id: Property.ShortText({
displayName: 'External ID',
description: 'Unique id of the call from the dialer system like hubspot, twilio, zoom, etc.',
required: true
}),
user_email: Property.ShortText({
displayName: 'User Email',
description: 'Email of the user who made or received the call. This should be an Avoma user\'s email.',
required: true
}),
source: Property.StaticDropdown({
displayName: 'Source',
description: 'Source of the call',
required: true,
options: {
options: [
{ label: 'Zoom', value: 'zoom' },
{ label: 'Zoom Phone', value: 'zoomphone' },
{ label: 'Twilio', value: 'twilio' },
{ label: 'PhoneBurner', value: 'phoneburner' },
{ label: 'RingCentral', value: 'ringcentral' },
{ label: 'Aircall', value: 'aircall' },
{ label: 'HubSpot', value: 'hubspot' },
{ label: 'Other', value: 'other' }
]
}
}),
direction: Property.StaticDropdown({
displayName: 'Direction',
description: 'Direction of the call',
required: true,
options: {
options: [
{ label: 'Inbound', value: 'Inbound' },
{ label: 'Outbound', value: 'Outbound' }
]
}
}),
start_at: Property.DateTime({
displayName: 'Start Time',
description: 'Start time of the call',
required: true
}),
frm: Property.ShortText({
displayName: 'From Phone Number',
description: 'Phone number from which call was made (e.g., +11234567890)',
required: true
}),
to: Property.ShortText({
displayName: 'To Phone Number',
description: 'Phone number to which call was made (e.g., +12234567890)',
required: true
}),
recording_url: Property.LongText({
displayName: 'Recording URL',
description: 'URL of the recording of the call. This should be a public URL that Avoma can access.',
required: true
}),
participants: Property.Array({
displayName: 'Participants',
description: 'List of participants in the call. First entry should be the prospect/lead.',
required: true,
properties: {
name: Property.ShortText({
displayName: 'Name',
description: 'Name of the participant',
required: true
}),
email: Property.ShortText({
displayName: 'Email',
description: 'Email of the participant',
required: true
}),
crm_id: Property.ShortText({
displayName: 'CRM Record ID',
description: 'CRM record ID for this participant (optional)',
required: false
}),
crm_type: Property.ShortText({
displayName: 'CRM Record Type',
description: 'Type of CRM record (e.g., contact, lead, opportunity)',
required: false
}),
crm_system: Property.ShortText({
displayName: 'CRM System',
description: 'CRM system name (e.g., hubspot, salesforce)',
required: false
})
}
}),
end_at: Property.DateTime({
displayName: 'End Time',
description: 'End time of the call',
required: false
}),
frm_name: Property.ShortText({
displayName: 'From Name',
description: 'Name of the caller who made the call',
required: false
}),
to_name: Property.ShortText({
displayName: 'To Name',
description: 'Name of the person to whom call was made',
required: false
}),
answered: Property.Checkbox({
displayName: 'Answered',
description: 'Whether the call was answered',
required: false
}),
is_voicemail: Property.Checkbox({
displayName: 'Is Voicemail',
description: 'Indicates if the call is a voicemail',
required: false,
defaultValue: false
}),
additional_details: Property.LongText({
displayName: 'Additional Details',
description: 'Additional details of the call (JSON object as string)',
required: false
})
},
async run(context) {
const { auth, propsValue } = context;
const participants = propsValue.participants?.map((participant: any) => {
const participantData: any = {
email: participant.email,
name: participant.name
};
if (participant.crm_id && participant.crm_type && participant.crm_system) {
participantData.associations = [{
id: participant.crm_id,
type: participant.crm_type,
system: participant.crm_system
}];
}
return participantData;
}) || [];
const requestBody: any = {
external_id: propsValue.external_id,
user_email: propsValue.user_email,
source: propsValue.source,
direction: propsValue.direction,
start_at: propsValue.start_at,
frm: propsValue.frm,
to: propsValue.to,
recording_url: propsValue.recording_url,
participants: participants
};
if (propsValue.end_at) {
requestBody.end_at = propsValue.end_at;
}
if (propsValue.frm_name) {
requestBody.frm_name = propsValue.frm_name;
}
if (propsValue.to_name) {
requestBody.to_name = propsValue.to_name;
}
if (propsValue.answered !== undefined) {
requestBody.answered = propsValue.answered;
}
if (propsValue.is_voicemail !== undefined) {
requestBody.is_voicemail = propsValue.is_voicemail;
}
if (propsValue.additional_details) {
try {
requestBody.additional_details = JSON.parse(propsValue.additional_details);
} catch (e) {
requestBody.additional_details = propsValue.additional_details;
}
}
try {
const response = await httpClient.sendRequest({
method: HttpMethod.POST,
url: 'https://api.avoma.com/v1/calls/',
headers: {
'Authorization': `Bearer ${auth.secret_text}`,
'Content-Type': 'application/json'
},
body: requestBody
});
if (response.status === 400) {
const errorDetails = response.body;
let errorMessage = 'Bad request: ';
if (typeof errorDetails === 'object') {
const fieldErrors = Object.entries(errorDetails)
.map(([field, errors]) => `${field}: ${Array.isArray(errors) ? errors.join(', ') : errors}`)
.join('; ');
errorMessage += fieldErrors;
} else {
errorMessage += JSON.stringify(errorDetails) || 'Invalid input data';
}
if (errorMessage.includes('external_id') && errorMessage.includes('source')) {
errorMessage += '. This may be due to a duplicate call (same external_id and source already exists)';
} else if (errorMessage.includes('user_email')) {
errorMessage += '. Check that the user exists, is active, belongs to your organization, and has dialer permissions';
}
throw new Error(errorMessage);
}
if (response.status >= 400) {
throw new Error(`API error (${response.status}): ${JSON.stringify(response.body) || 'Unknown error'}`);
}
return response.body;
} catch (error) {
const errorMessage = error instanceof Error ? error.message : String(error);
throw new Error(`Failed to create call: ${errorMessage}`);
}
}
});

View File

@@ -0,0 +1,73 @@
import { createAction } from '@activepieces/pieces-framework';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { avomaCommon } from '../common';
export const getMeetingRecording = createAction({
auth: avomaCommon.avomaAuth,
name: 'get_meeting_recording',
displayName: 'Get Meeting Recording',
description: 'Returns video and audio recording URLs for a given meeting',
props: {
meeting_uuid: avomaCommon.meetingDropdown
},
async run(context) {
const { auth, propsValue } = context;
const meetingUuid = propsValue.meeting_uuid;
if (!meetingUuid) {
throw new Error('Please select a meeting from the dropdown');
}
try {
const response = await httpClient.sendRequest({
method: HttpMethod.GET,
url: `https://api.avoma.com/v1/recordings/?meeting_uuid=${meetingUuid}`,
headers: {
'Authorization': `Bearer ${auth.secret_text}`,
'Content-Type': 'application/json'
}
});
if (response.status === 200) {
return {
success: true,
status: 'available',
meeting_uuid: response.body.meeting_uuid,
recording_uuid: response.body.uuid,
audio_url: response.body.audio_url,
video_url: response.body.video_url,
valid_till: response.body.valid_till,
urls_expire_in_days: 5
};
} else if (response.status === 202) {
return {
success: true,
status: 'processing',
meeting_uuid: response.body.meeting_uuid,
recording_uuid: response.body.uuid,
message: response.body.message || 'Recording is being processed and not yet available',
note: 'Check audio_ready and video_ready parameters in the meeting details to verify recording status'
};
} else if (response.status === 403) {
throw new Error(`Permission denied: ${response.body.detail || 'You do not have permission to access this recording'}`);
} else if (response.status === 404) {
throw new Error(`Recording not found: ${response.body.detail || 'No recording exists for this meeting'}`);
} else if (response.status === 429) {
throw new Error(`Rate limit exceeded: ${response.body.detail || 'Too many requests. Please try again later'}`);
} else if (response.status >= 400) {
throw new Error(`API error (${response.status}): ${JSON.stringify(response.body) || 'Unknown error'}`);
}
return {
success: false,
status: 'unknown',
meeting_uuid: meetingUuid,
error: 'Unexpected response from API'
};
} catch (error) {
const errorMessage = error instanceof Error ? error.message : String(error);
throw new Error(`Failed to retrieve meeting recording for UUID ${meetingUuid}: ${errorMessage}`);
}
}
});

View File

@@ -0,0 +1,57 @@
import { createAction } from '@activepieces/pieces-framework';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { avomaCommon } from '../common';
export const getMeetingTranscription = createAction({
auth: avomaCommon.avomaAuth,
name: 'get_meeting_transcription',
displayName: 'Get Meeting Transcription',
description: 'Returns transcription with speakers, timestamps, and VTT file URL',
props: {
transcription_uuid: avomaCommon.transcriptionDropdown
},
async run(context) {
const { auth, propsValue } = context;
const transcriptionUuid = propsValue.transcription_uuid;
if (!transcriptionUuid) {
throw new Error('Please select a transcription from the dropdown');
}
try {
const response = await httpClient.sendRequest({
method: HttpMethod.GET,
url: `https://api.avoma.com/v1/transcriptions/${transcriptionUuid}`,
headers: {
'Authorization': `Bearer ${auth}`,
'Content-Type': 'application/json'
}
});
if (response.status === 404) {
const errorDetail = response.body?.detail || 'Transcription not found';
throw new Error(`Transcription not found: ${errorDetail}`);
} else if (response.status >= 400) {
const errorDetail = response.body?.detail || JSON.stringify(response.body) || 'Unknown error';
throw new Error(`API error (${response.status}): ${errorDetail}`);
}
const transcription = response.body;
return {
success: true,
meeting_uuid: transcription.meeting_uuid,
transcription_uuid: transcription.uuid,
transcription_vtt_url: transcription.transcription_vtt_url,
speakers: transcription.speakers || [],
transcript: transcription.transcript || [],
transcript_paragraphs_count: transcription.transcript?.length || 0,
speakers_count: transcription.speakers?.length || 0,
note: 'Use transcription_vtt_url to download the VTT subtitle file for the meeting'
};
} catch (error) {
const errorMessage = error instanceof Error ? error.message : String(error);
throw new Error(`Failed to retrieve transcription: ${errorMessage}`);
}
}
});

View File

@@ -0,0 +1,3 @@
export { createCall } from './create-call';
export { getMeetingRecording } from './get-meeting-recording';
export { getMeetingTranscription } from './get-meeting-transcription';

View File

@@ -0,0 +1,155 @@
import { PieceAuth, Property } from '@activepieces/pieces-framework';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
const avomaAuth = PieceAuth.SecretText({
displayName: 'API Key',
description:
'Your Avoma API Key (Bearer token). Generate it from your Avoma API Integration settings: https://help.avoma.com/api-integration-for-avoma',
required: true
});
export const avomaCommon = {
avomaAuth: avomaAuth,
meetingDropdown: Property.Dropdown({
auth: avomaAuth,
displayName: 'Meeting',
description: 'Select a meeting from your Avoma account',
required: true,
refreshers: [],
options: async ({ auth }) => {
if (!auth) {
return {
disabled: true,
placeholder: 'Please connect your Avoma account first',
options: []
};
}
try {
const toDate = new Date().toISOString();
const fromDate = new Date(Date.now() - 30 * 24 * 60 * 60 * 1000).toISOString();
const response = await httpClient.sendRequest({
method: HttpMethod.GET,
url: `https://api.avoma.com/v1/meetings/?page_size=100&from_date=${encodeURIComponent(fromDate)}&to_date=${encodeURIComponent(toDate)}`,
headers: {
'Authorization': `Bearer ${auth.secret_text}`,
'Content-Type': 'application/json'
}
});
const meetings = response.body?.results || response.body?.data || response.body || [];
if (!Array.isArray(meetings)) {
return {
disabled: true,
placeholder: 'No meetings found or unexpected response format',
options: []
};
}
return {
disabled: false,
options: meetings.map((meeting: any) => {
const subject = meeting.subject || meeting.title || 'Untitled Meeting';
const startTime = meeting.start_time || meeting.startTime || meeting.created_at;
const dateStr = startTime ? new Date(startTime).toLocaleDateString() : 'Unknown date';
const uuid = meeting.uuid || meeting.id;
return {
label: `${subject} - ${dateStr}`,
value: uuid
};
})
};
} catch (error) {
console.error('Error fetching meetings:', error);
return {
disabled: true,
placeholder: 'Failed to load meetings. Please check your API key.',
options: []
};
}
}
}),
transcriptionDropdown: Property.Dropdown({
auth: avomaAuth,
displayName: 'Transcription',
description: 'Select a transcription from your Avoma meetings',
required: true,
refreshers: [],
options: async ({ auth }) => {
if (!auth) {
return {
disabled: true,
placeholder: 'Please connect your Avoma account first',
options: []
};
}
try {
const toDate = new Date().toISOString();
const fromDate = new Date(Date.now() - 30 * 24 * 60 * 60 * 1000).toISOString();
const response = await httpClient.sendRequest({
method: HttpMethod.GET,
url: `https://api.avoma.com/v1/transcriptions/?page_size=100&from_date=${encodeURIComponent(fromDate)}&to_date=${encodeURIComponent(toDate)}`,
headers: {
'Authorization': `Bearer ${auth.secret_text}`,
'Content-Type': 'application/json'
}
});
let transcriptions = [];
if (response.body?.results) {
transcriptions = response.body.results;
} else if (Array.isArray(response.body)) {
transcriptions = response.body;
} else if (response.body && typeof response.body === 'object') {
transcriptions = [response.body];
}
if (!Array.isArray(transcriptions)) {
return {
disabled: true,
placeholder: 'Unexpected response format from API',
options: []
};
}
return {
disabled: false,
options: transcriptions.map((transcription: any) => {
const transcriptionUuid = transcription.uuid;
const speakersCount = transcription.speakers?.length || 0;
const transcriptLength = transcription.transcript?.length || 0;
return {
label: `Transcription ${transcriptionUuid.substring(0, 8)}... - ${speakersCount} speakers, ${transcriptLength} paragraphs`,
value: transcriptionUuid
};
})
};
} catch (error) {
console.error('Error fetching transcriptions:', error);
return {
disabled: true,
placeholder: 'Failed to load transcriptions. Please check your API key.',
options: []
};
}
}
}),
meetingUuidProperty: Property.ShortText({
displayName: 'Meeting UUID',
description: 'Enter the meeting UUID directly, or use the dropdown below to select from your meetings',
required: false
}),
transcriptionUuidProperty: Property.ShortText({
displayName: 'Transcription UUID',
description: 'Enter the transcription UUID directly, or use the dropdown below to select from available transcriptions',
required: false
})
};

View File

@@ -0,0 +1,4 @@
export { newNote } from './new-note';
export { newMeetingScheduled } from './new-meeting-scheduled';
export { meetingRescheduled } from './meeting-rescheduled';
export { meetingCancelled } from './meeting-cancelled';

View File

@@ -0,0 +1,67 @@
import { createTrigger, TriggerStrategy, Property } from '@activepieces/pieces-framework';
export const meetingCancelled = createTrigger({
name: 'meeting_cancelled',
displayName: 'Meeting Cancelled',
description: 'Triggers when a meeting booked via the scheduling page is cancelled',
type: TriggerStrategy.WEBHOOK,
props: {
setupInstructions: Property.MarkDown({
value: `
**Quick Setup:**
1. In Avoma: **Settings > Integrations > Webhooks**
2. **Webhook URL:** \`{{webhookUrl}}\`
3. **Event Type:** Select **"MEETING_BOOKED_VIA_SCHEDULER_CANCELED"**
4. **HTTP Method:** POST
5. **Content Type:** application/json
**Note:** Requires admin permissions in Avoma.
`,
}),
},
sampleData: {
booker_email: 'client@example.com',
cancel_reason: 'Schedule conflict - need to reschedule for next week',
conference_link: 'https://zoom.us/j/123456789',
created: '2019-08-24T14:15:22Z',
event_end_time: '2019-08-24T15:15:22Z',
event_start_time: '2019-08-24T14:15:22Z',
event_type: 'MEETING_BOOKED_VIA_SCHEDULER_CANCELED',
invitee_details: {
email: 'client@example.com',
locale: 'en-US',
name: 'John Client',
tz: 'America/New_York'
},
invitee_responses: [
{
question: 'What would you like to discuss?',
response: 'Product demo and pricing discussion'
},
{
question: 'Company size?',
response: '50-100 employees'
}
],
meeting_uuid: '65fb768c-30b9-4a9a-999f-5dab85e66635',
modified: '2019-08-24T16:30:22Z',
organizer_email: 'sales@company.com',
organizer_timezone: 'America/New_York',
purpose: 'Sales Demo',
scheduling_page_link: 'https://meet.avoma.com/sales-demo',
subject: 'Product Demo - John Client (Cancelled)',
uuid: '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'
},
async onEnable(context) {
// Manual setup - no programmatic registration needed
},
async onDisable(context) {
// Manual setup - users manage webhooks in Avoma UI
},
async run(context) {
return [context.payload.body];
}
});

View File

@@ -0,0 +1,67 @@
import { createTrigger, TriggerStrategy, Property } from '@activepieces/pieces-framework';
export const meetingRescheduled = createTrigger({
name: 'meeting_rescheduled',
displayName: 'Meeting Rescheduled',
description: 'Triggers when a scheduled meeting is rescheduled',
type: TriggerStrategy.WEBHOOK,
props: {
setupInstructions: Property.MarkDown({
value: `
**Quick Setup:**
1. In Avoma: **Settings > Integrations > Webhooks**
2. **Webhook URL:** \`{{webhookUrl}}\`
3. **Event Type:** Select **"MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED"**
4. **HTTP Method:** POST
5. **Content Type:** application/json
**Note:** Requires admin permissions in Avoma.
`,
}),
},
sampleData: {
booker_email: 'client@example.com',
cancel_reason: null,
conference_link: 'https://zoom.us/j/123456789',
created: '2019-08-24T14:15:22Z',
event_end_time: '2019-08-25T15:15:22Z',
event_start_time: '2019-08-25T14:15:22Z',
event_type: 'MEETING_BOOKED_VIA_SCHEDULER_RESCHEDULED',
invitee_details: {
email: 'client@example.com',
locale: 'en-US',
name: 'John Client',
tz: 'America/New_York'
},
invitee_responses: [
{
question: 'What would you like to discuss?',
response: 'Product demo and pricing discussion'
},
{
question: 'Company size?',
response: '50-100 employees'
}
],
meeting_uuid: '65fb768c-30b9-4a9a-999f-5dab85e66635',
modified: '2019-08-24T16:30:22Z',
organizer_email: 'sales@company.com',
organizer_timezone: 'America/New_York',
purpose: 'Sales Demo',
scheduling_page_link: 'https://meet.avoma.com/sales-demo',
subject: 'Product Demo - John Client (Rescheduled)',
uuid: '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'
},
async onEnable(context) {
// Manual setup - no programmatic registration needed
},
async onDisable(context) {
// Manual setup - users manage webhooks in Avoma UI
},
async run(context) {
return [context.payload.body];
}
});

View File

@@ -0,0 +1,67 @@
import { createTrigger, TriggerStrategy, Property } from '@activepieces/pieces-framework';
export const newMeetingScheduled = createTrigger({
name: 'new_meeting_scheduled',
displayName: 'New Meeting Scheduled',
description: 'Triggers when a meeting is booked via one of your Avoma scheduling pages',
type: TriggerStrategy.WEBHOOK,
props: {
setupInstructions: Property.MarkDown({
value: `
**Quick Setup:**
1. In Avoma: **Settings > Integrations > Webhooks**
2. **Webhook URL:** \`{{webhookUrl}}\`
3. **Event Type:** Select **"MEETING_BOOKED_VIA_SCHEDULER"**
4. **HTTP Method:** POST
5. **Content Type:** application/json
**Note:** Requires admin permissions in Avoma.
`,
}),
},
sampleData: {
booker_email: 'client@example.com',
cancel_reason: null,
conference_link: 'https://zoom.us/j/123456789',
created: '2019-08-24T14:15:22Z',
event_end_time: '2019-08-24T15:15:22Z',
event_start_time: '2019-08-24T14:15:22Z',
event_type: 'MEETING_BOOKED_VIA_SCHEDULER',
invitee_details: {
email: 'client@example.com',
locale: 'en-US',
name: 'John Client',
tz: 'America/New_York'
},
invitee_responses: [
{
question: 'What would you like to discuss?',
response: 'Product demo and pricing discussion'
},
{
question: 'Company size?',
response: '50-100 employees'
}
],
meeting_uuid: '65fb768c-30b9-4a9a-999f-5dab85e66635',
modified: '2019-08-24T14:15:22Z',
organizer_email: 'sales@company.com',
organizer_timezone: 'America/New_York',
purpose: 'Sales Demo',
scheduling_page_link: 'https://meet.avoma.com/sales-demo',
subject: 'Product Demo - John Client',
uuid: '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'
},
async onEnable(context) {
// Manual setup - no programmatic registration needed
},
async onDisable(context) {
// Manual setup - users manage webhooks in Avoma UI
},
async run(context) {
return [context.payload.body];
}
});

View File

@@ -0,0 +1,94 @@
import { createTrigger, TriggerStrategy, Property } from '@activepieces/pieces-framework';
export const newNote = createTrigger({
name: 'new_note',
displayName: 'New Note',
description:
'Triggers when notes are successfully generated for meetings or calls',
type: TriggerStrategy.WEBHOOK,
props: {
setupInstructions: Property.MarkDown({
value: `
**Quick Setup:**
1. In Avoma: **Settings > Integrations > Webhooks**
2. **Webhook URL:** \`{{webhookUrl}}\`
3. **Event Type:** Select **"AINOTE"**
4. **HTTP Method:** POST
5. **Content Type:** application/json
**Note:** Requires admin permissions in Avoma.
`,
}),
},
sampleData: {
action_items: [
{
action_item: 'Follow up with client on project timeline',
company: 'Avoma',
email: 'john.doe@avoma.com',
name: 'John Doe'
}
],
ai_notes: '<h2>Participants</h2><ul><li><p>Avoma: John Doe</p></li></ul>',
ai_notes_txt: 'Participants: Avoma: John Doe',
attendees: [
{
email: 'user@example.com',
name: 'John Doe',
response_status: 'accepted',
uuid: '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'
}
],
audio_ready: true,
audio_url: 'http://example.com',
created: '2019-08-24T14:15:22Z',
duration: 3600,
end_at: '2019-08-24T14:15:22Z',
event_type: 'AINOTE',
is_call: true,
is_internal: false,
meeting_url:
'https://app.avoma.com/meeting/aa380fc2-725d-4ef8-909c-c595c0e62bcd',
modified: '2019-08-24T14:15:22Z',
notes_ready: true,
organizer_email: 'user@example.com',
organizer_name: 'John Doe',
privacy: 'private',
processing_status: 'completed',
insights: {
filler_wpm: [],
longest_monologue: {},
patience: [],
sentiment: {},
speaker_mapping: {},
talk_stats: {},
wpm: []
},
purpose: {
label: 'Sales Call',
uuid: '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'
},
recording_uuid: '3e256a03-2cdd-4fe9-823b-2b61bb25d916',
start_at: '2019-08-24T14:15:22Z',
state: 'completed',
subject: 'Weekly Team Meeting',
transcript_ready: true,
transcription_uuid: '4753c6bf-25a6-45a1-8d86-0af7c8bde615',
transcription_vtt_url: 'http://example.com',
uuid: '095be615-a8ad-4c33-8e9c-c7612fbf6c9f',
video_ready: true,
video_url: 'http://example.com'
},
async onEnable(context) {
// Manual setup - no programmatic registration needed
},
async onDisable(context) {
// Manual setup - users manage webhooks in Avoma UI
},
async run(context) {
return [context.payload.body];
}
});