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,84 @@
{
"Build and manage AI chatbots with custom sources.": "Erstelle und verwalte KI-Chatbots mit benutzerdefinierten Quellen.",
"You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).": "Du kannst deinen API-Schlüssel von deinem [Chatbase Account](https://www.chatbase.co/dashboard).",
"Create Chatbot": "Chatbot erstellen",
"Send Prompt to Chatbot": "Anfrage an Chatbot senden",
"Search Conversations by Query": "Unterhaltungen nach Abfrage suchen",
"List All Chatbots": "Alle Chatbots auflisten",
"Custom API Call": "Eigener API-Aufruf",
"Creates a new chatbot.": "Erstellt einen neuen Chatbot.",
"Sends a prompt to the chatbot to generate a response.": "Sendet eine Aufforderung an den Chatbot, um eine Antwort zu generieren.",
"Searches for conversations from a specific chatbot.": "Sucht nach Unterhaltungen von einem bestimmten Chatbot.",
"Retrieves a list of all chatbots.": "Ruft eine Liste aller Chatbots ab.",
"Make a custom API call to a specific endpoint": "Einen benutzerdefinierten API-Aufruf an einen bestimmten Endpunkt machen",
"Chatbot Name": "Chatbot-Name",
"Source Text": "Quelltext",
"Chatbot": "Chatbot",
"Prompt": "Prompt",
"Temperature": "Temperatur",
"Conversation ID": "Konversations-ID",
"Model (Optional)": "Modell (optional)",
"Sources": "Quellen",
"Start Date": "Startdatum",
"End Date": "Enddatum",
"Page": "Seite",
"Page Size": "Einträge pro Seite",
"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)",
"Optional text data for training the chatbot.": "Optionale Textdaten für die Schulung des Chatbots.",
"Higher values = more random output. Between 0 and 1.": "Höhere Werte = mehr zufällige Ausgabe. Zwischen 0 und 1.",
"Unique ID for saving this conversation in Chatbase dashboard.": "Eindeutige ID zum Speichern dieser Unterhaltung im Chatbase-Dashboard.",
"Filter by one or more conversation sources.": "Filtern Sie nach einer oder mehreren Konversationsquellen.",
"Pagination page number (default = 1)": "Seitenzahl der Paginierung (Standard = 1)",
"Number of results per page (default = 10, max = 100)": "Anzahl der Ergebnisse pro Seite (Standard = 10, max = 100)",
"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..",
"o4-mini": "o4-mini",
"o3": "o3",
"gpt-4": "gpt-4",
"gpt-4o": "gpt-4o",
"gpt-4o-mini": "gpt-4o-mini",
"gpt-4.1-mini": "gpt-4.1-mini",
"gpt-4.1-nano": "gpt-4.1-nano",
"gpt-4-turbo": "gpt-4-turbo",
"o3-mini": "o3-mini",
"gpt-4.1": "gpt-4.1",
"gpt-4.5": "gpt-4.5",
"claude-sonnet-4": "claude-sonnet-4",
"claude-3-7-sonnet": "claude-3-7-sonnet",
"claude-3-5-sonnet": "claude-3-5-sonnet",
"claude-3-opus": "claude-3-opus",
"claude-opus-4": "claude-opus-4",
"claude-3-haiku": "klausel-3-haiku",
"gemini-2.0-flash": "gemini-2.0-Blitz",
"gemini-1.5-flash": "gemini-1.5-Blitz",
"gemini-1.5-pro": "gemini-1.5-pro",
"gemini-2.0-pro": "gemini-2.0-pro",
"command-r": "kommando-r",
"command-r-plus": "command-r-plus",
"DeepSeek-V3": "DeepSeek-V3",
"DeepSeek-R1": "DeepSeek-R1",
"Llama-4-Scout-17B-16E-Instruct": "Llama-4-Scout-17B-16E-Instruct",
"Llama-4-Maverick-17B-128E-Instruct-FP8": "Llama-4-Maverick-17B-128E-Instruct-FP8",
"grok-3": "grok-3",
"grok-3-mini": "grok-3-mini",
"API": "API",
"Chatbase site": "Chatbase-Seite",
"Instagram": "Instagram",
"Messenger": "Messenger",
"Slack": "Slack",
"Unspecified": "Nicht angegeben",
"WhatsApp": "WhatsApp",
"Widget or Iframe": "Widget oder Iframe",
"GET": "ERHALTEN",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "LÖSCHEN",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,84 @@
{
"Build and manage AI chatbots with custom sources.": "Construye y administra chatbots de IA con fuentes personalizadas.",
"You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).": "Puedes obtener tu clave API de tu [cuenta de Chatbase](https://www.chatbase.co/dashboard).",
"Create Chatbot": "Crear Chatbot",
"Send Prompt to Chatbot": "Enviar aviso a Chatbot",
"Search Conversations by Query": "Buscar conversaciones por consulta",
"List All Chatbots": "Listar todos los chatbots",
"Custom API Call": "Llamada API personalizada",
"Creates a new chatbot.": "Crea un nuevo chatbot.",
"Sends a prompt to the chatbot to generate a response.": "Envía un mensaje al chatbot para generar una respuesta.",
"Searches for conversations from a specific chatbot.": "Busca conversaciones desde un chatbot específico.",
"Retrieves a list of all chatbots.": "Recuperar una lista de todos los chatbots.",
"Make a custom API call to a specific endpoint": "Hacer una llamada API personalizada a un extremo específico",
"Chatbot Name": "Nombre del Chatbot",
"Source Text": "Texto de origen",
"Chatbot": "Chatbot",
"Prompt": "Petición",
"Temperature": "Temperatura",
"Conversation ID": "ID de conversación",
"Model (Optional)": "Modelo (opcional)",
"Sources": "Fuentes",
"Start Date": "Fecha de inicio",
"End Date": "Fecha de fin",
"Page": "Pgina",
"Page Size": "Tamaño 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)",
"Optional text data for training the chatbot.": "Datos opcionales de texto para entrenar el chatbot.",
"Higher values = more random output. Between 0 and 1.": "Valores más altos = más salida aleatoria. Entre 0 y 1.",
"Unique ID for saving this conversation in Chatbase dashboard.": "ID único para guardar esta conversación en el tablero de Chatbase.",
"Filter by one or more conversation sources.": "Filtrar por una o más fuentes de conversación.",
"Pagination page number (default = 1)": "Número de página de paginación (por defecto = 1)",
"Number of results per page (default = 10, max = 100)": "Número de resultados por página (por defecto = 10, max = 100)",
"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.",
"o4-mini": "o4-mini",
"o3": "o3",
"gpt-4": "gpt-4",
"gpt-4o": "gpt-4o",
"gpt-4o-mini": "gpt-4o-mini",
"gpt-4.1-mini": "gpt-4.1-mini",
"gpt-4.1-nano": "gpt-4.1-nano",
"gpt-4-turbo": "gpt-4-turbo",
"o3-mini": "o3-mini",
"gpt-4.1": "gpt-4.1",
"gpt-4.5": "gpt-4.5",
"claude-sonnet-4": "claude-sonnet-4",
"claude-3-7-sonnet": "claude-3-7-sonnet",
"claude-3-5-sonnet": "claude-3-5-sonnet",
"claude-3-opus": "claude-3-opus",
"claude-opus-4": "claude-opus-4",
"claude-3-haiku": "claude-3",
"gemini-2.0-flash": "gemini-2.0-flash",
"gemini-1.5-flash": "gemini-1.5-flash",
"gemini-1.5-pro": "gemini-1.5-pro",
"gemini-2.0-pro": "gemini-2.0-pro",
"command-r": "comando-r",
"command-r-plus": "r-+ de comando",
"DeepSeek-V3": "Vista profunda-V3",
"DeepSeek-R1": "Ver a fondo R1",
"Llama-4-Scout-17B-16E-Instruct": "Llama-4-Scout-17B-16E-Instruct",
"Llama-4-Maverick-17B-128E-Instruct-FP8": "Llama-4-Maverick-17B-128E-Instruct-FP8",
"grok-3": "grok-3",
"grok-3-mini": "grok-3-mini",
"API": "API",
"Chatbase site": "Sitio base de chat",
"Instagram": "Instagrama",
"Messenger": "Mensajero",
"Slack": "Slack",
"Unspecified": "Sin especificar",
"WhatsApp": "WhatsApp",
"Widget or Iframe": "Widget o Iframe",
"GET": "RECOGER",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "BORRAR",
"HEAD": "LIMPIO"
}

View File

@@ -0,0 +1,84 @@
{
"Build and manage AI chatbots with custom sources.": "Construisez et gérez des chatbots AI avec des sources personnalisées.",
"You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).": "Vous pouvez obtenir votre clé API depuis votre [Compte de Chatbase](https://www.chatbase.co/dashboard).",
"Create Chatbot": "Créer un Chatbot",
"Send Prompt to Chatbot": "Envoyer une invitation à Chatbot",
"Search Conversations by Query": "Rechercher des conversations par requête",
"List All Chatbots": "Lister tous les Chatbots",
"Custom API Call": "Appel API personnalisé",
"Creates a new chatbot.": "Crée un nouveau chatbot.",
"Sends a prompt to the chatbot to generate a response.": "Envoie une invite au chatbot pour générer une réponse.",
"Searches for conversations from a specific chatbot.": "Recherche des conversations depuis un chatbot spécifique.",
"Retrieves a list of all chatbots.": "Récupère une liste de tous les chatbots.",
"Make a custom API call to a specific endpoint": "Passez un appel API personnalisé à un point de terminaison spécifique",
"Chatbot Name": "Nom du Chatbot",
"Source Text": "Texte source",
"Chatbot": "Chatbot",
"Prompt": "Prompt",
"Temperature": "Température",
"Conversation ID": "ID de la conversation",
"Model (Optional)": "Modèle (facultatif)",
"Sources": "Sources",
"Start Date": "Date de début",
"End Date": "Date de fin",
"Page": "Page",
"Page Size": "Nombre d'élément",
"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)",
"Optional text data for training the chatbot.": "Données de texte optionnelles pour l'entraînement du chatbot.",
"Higher values = more random output. Between 0 and 1.": "Valeurs plus élevées = plus de résultats aléatoires. Entre 0 et 1.",
"Unique ID for saving this conversation in Chatbase dashboard.": "ID unique pour enregistrer cette conversation dans le tableau de bord de la base de discussion.",
"Filter by one or more conversation sources.": "Filtrer par une ou plusieurs sources de conversation.",
"Pagination page number (default = 1)": "Numéro de page de pagination (par défaut = 1)",
"Number of results per page (default = 10, max = 100)": "Nombre de résultats par page (par défaut = 10, max = 100)",
"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.",
"o4-mini": "o4-mini",
"o3": "on3",
"gpt-4": "gpt-4",
"gpt-4o": "gpt-4o",
"gpt-4o-mini": "gpt-4o-mini",
"gpt-4.1-mini": "gpt-4.1-mini",
"gpt-4.1-nano": "gpt-4.1-nano",
"gpt-4-turbo": "gpt-4-turbo",
"o3-mini": "o3-mini",
"gpt-4.1": "gpt-4.1",
"gpt-4.5": "gpt-4.5",
"claude-sonnet-4": "claude-sonnet-4",
"claude-3-7-sonnet": "claude-3-7-sonnet",
"claude-3-5-sonnet": "claude-3-5-sonnet",
"claude-3-opus": "claude-3-opus",
"claude-opus-4": "claude-opus-4",
"claude-3-haiku": "claude-3-haïku",
"gemini-2.0-flash": "format@@0 gemini-2.0-flash",
"gemini-1.5-flash": "format@@0 gemini-1.5-flash",
"gemini-1.5-pro": "gemini-1.5-pro",
"gemini-2.0-pro": "gemini-2.0-pro",
"command-r": "commande-r",
"command-r-plus": "commande-r-plus",
"DeepSeek-V3": "DeepSeek-V3",
"DeepSeek-R1": "DeepSeek-R1",
"Llama-4-Scout-17B-16E-Instruct": "Llama-4-Scout-17B-16E-Instruct",
"Llama-4-Maverick-17B-128E-Instruct-FP8": "Llama-4-Maverick-17B-128E-Instruct-FP8",
"grok-3": "grok-3",
"grok-3-mini": "grok-3-mini",
"API": "API",
"Chatbase site": "Site de base de discussion",
"Instagram": "Instagram",
"Messenger": "Messager",
"Slack": "Slack",
"Unspecified": "Non spécifié",
"WhatsApp": "WhatsApp",
"Widget or Iframe": "Widget ou Iframe",
"GET": "OBTENIR",
"POST": "POSTER",
"PATCH": "PATCH",
"PUT": "EFFACER",
"DELETE": "SUPPRIMER",
"HEAD": "TÊTE"
}

View File

@@ -0,0 +1,84 @@
{
"Build and manage AI chatbots with custom sources.": "カスタムソースを使用してAIチャットボットを構築および管理します。",
"You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).": "You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).",
"Create Chatbot": "チャットボットを作成",
"Send Prompt to Chatbot": "チャットボットにプロンプトを送信する",
"Search Conversations by Query": "クエリで会話を検索",
"List All Chatbots": "すべてのチャットボットの一覧",
"Custom API Call": "カスタムAPI通話",
"Creates a new chatbot.": "新しいチャットボットを作成します。",
"Sends a prompt to the chatbot to generate a response.": "応答を生成するためにチャットボットにプロンプトを送信します。",
"Searches for conversations from a specific chatbot.": "特定のチャットボットから会話を検索します。",
"Retrieves a list of all chatbots.": "すべてのチャットボットのリストを取得します。",
"Make a custom API call to a specific endpoint": "特定のエンドポイントへのカスタム API コールを実行します。",
"Chatbot Name": "チャットボット名",
"Source Text": "ソーステキスト",
"Chatbot": "チャットボット",
"Prompt": "Prompt",
"Temperature": "温度",
"Conversation ID": "会話ID",
"Model (Optional)": "モデル (オプション)",
"Sources": "ソース",
"Start Date": "開始日",
"End Date": "終了日",
"Page": "ページ",
"Page Size": "ページサイズ",
"Method": "方法",
"Headers": "ヘッダー",
"Query Parameters": "クエリパラメータ",
"Body": "本文",
"Response is Binary ?": "応答はバイナリですか?",
"No Error on Failure": "失敗時にエラーはありません",
"Timeout (in seconds)": "タイムアウト(秒)",
"Optional text data for training the chatbot.": "チャットボットを訓練するための任意のテキストデータ。",
"Higher values = more random output. Between 0 and 1.": "値が大きい=ランダム出力が多い。0から1の間。",
"Unique ID for saving this conversation in Chatbase dashboard.": "チャットベースダッシュボードでこの会話を保存するためのユニークなID。",
"Filter by one or more conversation sources.": "1 つ以上の会話ソースでフィルタリングします。",
"Pagination page number (default = 1)": "ページネーションページ番号 (デフォルト = 1)",
"Number of results per page (default = 10, max = 100)": "Number of results per page (default = 10, max = 100)",
"Authorization headers are injected automatically from your connection.": "認証ヘッダは接続から自動的に注入されます。",
"Enable for files like PDFs, images, etc..": "PDF、画像などのファイルを有効にします。",
"o4-mini": "o4-mini",
"o3": "o3",
"gpt-4": "gpt-4",
"gpt-4o": "gpt-4o",
"gpt-4o-mini": "gpt-4o-mini",
"gpt-4.1-mini": "gpt-4.1-mini",
"gpt-4.1-nano": "gpt-4.1-nano",
"gpt-4-turbo": "gpt-4-turbo",
"o3-mini": "o3-mini",
"gpt-4.1": "gpt-4.1",
"gpt-4.5": "gpt-4.5",
"claude-sonnet-4": "claude-sonnet-4",
"claude-3-7-sonnet": "claude-3-7-sonnet",
"claude-3-5-sonnet": "claude-3-5-sonnet",
"claude-3-opus": "claude-3-opus",
"claude-opus-4": "claude-opus-4",
"claude-3-haiku": "claude-3-haiku",
"gemini-2.0-flash": "gemini-2.0-flash",
"gemini-1.5-flash": "gemini-1.5-flash",
"gemini-1.5-pro": "gemini-1.5-pro",
"gemini-2.0-pro": "gemini-2.0-pro",
"command-r": "command-r",
"command-r-plus": "command-r-plus",
"DeepSeek-V3": "DeepSeek-V3",
"DeepSeek-R1": "DeepSeek-R1",
"Llama-4-Scout-17B-16E-Instruct": "Llama-4-Scout-17B-16E-Instruct",
"Llama-4-Maverick-17B-128E-Instruct-FP8": "Llama-4-Maverick-17B-128E-Instruct-FP8",
"grok-3": "grok-3",
"grok-3-mini": "grok-3-mini",
"API": "API",
"Chatbase site": "チャットベースサイト",
"Instagram": "Instagram",
"Messenger": "Messenger",
"Slack": "Slack",
"Unspecified": "未指定",
"WhatsApp": "WhatsApp",
"Widget or Iframe": "ウィジェットまたはiframe",
"GET": "取得",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "削除",
"HEAD": "頭"
}

View File

@@ -0,0 +1,84 @@
{
"Build and manage AI chatbots with custom sources.": "Bouw en beheer AI chatbots met aangepaste bronnen.",
"You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).": "U kunt de API-sleutel verkrijgen van uw [Chatbase Account](https://www.chatbase.co/dashboard).",
"Create Chatbot": "Chatbot maken",
"Send Prompt to Chatbot": "Stuur vraag naar Chatbot",
"Search Conversations by Query": "Zoeken naar conversaties op zoekopdracht",
"List All Chatbots": "Lijst van alle Chatbots",
"Custom API Call": "Custom API Call",
"Creates a new chatbot.": "Maakt een nieuwe chatbot.",
"Sends a prompt to the chatbot to generate a response.": "Stuurt een prompt naar de chatbot om een antwoord te genereren.",
"Searches for conversations from a specific chatbot.": "Zoekt naar gesprekken van een specifieke chatbot.",
"Retrieves a list of all chatbots.": "Haal een lijst op van alle chatbots.",
"Make a custom API call to a specific endpoint": "Maak een aangepaste API call naar een specifiek eindpunt",
"Chatbot Name": "Chatbot Naam",
"Source Text": "Bron tekst",
"Chatbot": "Chatbot",
"Prompt": "Prompt",
"Temperature": "Temperatuur",
"Conversation ID": "Conversatie ID",
"Model (Optional)": "Model (optioneel)",
"Sources": "Bronnen",
"Start Date": "Start datum",
"End Date": "Eind datum",
"Page": "Pagina",
"Page Size": "Paginagrootte",
"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)",
"Optional text data for training the chatbot.": "Optionele tekst data voor het trainen van de chatbot.",
"Higher values = more random output. Between 0 and 1.": "Hogere waarden = meer willekeurige uitvoer. Tussen 0 en 1.",
"Unique ID for saving this conversation in Chatbase dashboard.": "Unieke ID voor het opslaan van dit gesprek op Chatbase dashboard.",
"Filter by one or more conversation sources.": "Filter op één of meer gespreksbronnen.",
"Pagination page number (default = 1)": "Paginering paginanummer (standaard = 1)",
"Number of results per page (default = 10, max = 100)": "Aantal resultaten per pagina (standaard = 10, max = 100)",
"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..",
"o4-mini": "o4-mini",
"o3": "u3",
"gpt-4": "gpt-4",
"gpt-4o": "gpt-4o",
"gpt-4o-mini": "gpt-4o-mini",
"gpt-4.1-mini": "gpt-4.1-mini",
"gpt-4.1-nano": "gpt-4.1-nano",
"gpt-4-turbo": "Gpt-4-turbo",
"o3-mini": "o3-min",
"gpt-4.1": "gpt-4.1",
"gpt-4.5": "gpt-4.5",
"claude-sonnet-4": "claude-sonnet-4",
"claude-3-7-sonnet": "claude-3-7-sonnet",
"claude-3-5-sonnet": "claude-3-5-sonnet",
"claude-3-opus": "claude-3-opus",
"claude-opus-4": "claude-opus-4",
"claude-3-haiku": "3-haiku",
"gemini-2.0-flash": "gemini-2.0-flash",
"gemini-1.5-flash": "gemini-1.5-flash",
"gemini-1.5-pro": "gemini-1.5-pro",
"gemini-2.0-pro": "gemini-2.0-pro",
"command-r": "command-r",
"command-r-plus": "command-r-plus",
"DeepSeek-V3": "DeepSeek-V3",
"DeepSeek-R1": "DeepSeek-R1",
"Llama-4-Scout-17B-16E-Instruct": "Llama-4-Scout-17B-16E-Instruct",
"Llama-4-Maverick-17B-128E-Instruct-FP8": "Llama-4-Maverick-17B-128E-Instruct-FP8",
"grok-3": "grok-3",
"grok-3-mini": "grok-3-mini",
"API": "API",
"Chatbase site": "Chatbase site",
"Instagram": "Instagram",
"Messenger": "Messenger",
"Slack": "Slack",
"Unspecified": "Ongespecificeerd",
"WhatsApp": "WhatsApp",
"Widget or Iframe": "Widget of Iframe",
"GET": "KRIJG",
"POST": "POSTE",
"PATCH": "BEKIJK",
"PUT": "PUT",
"DELETE": "VERWIJDEREN",
"HEAD": "HOOFD"
}

View File

@@ -0,0 +1,84 @@
{
"Build and manage AI chatbots with custom sources.": "Crie e gerencie chatbots de IA com fontes personalizadas.",
"You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).": "Você pode obter sua chave de API de sua [Conta do Chatbase](https://www.chatbase.co/dashboard).",
"Create Chatbot": "Criar Chatbot",
"Send Prompt to Chatbot": "Enviar Prompt para Chatbot",
"Search Conversations by Query": "Pesquisar conversas por consulta",
"List All Chatbots": "Listar todos os Chatbots",
"Custom API Call": "Chamada de API personalizada",
"Creates a new chatbot.": "Cria um novo Chatbot.",
"Sends a prompt to the chatbot to generate a response.": "Envia um prompt para o ChatBot para gerar uma resposta.",
"Searches for conversations from a specific chatbot.": "Procura por conversas de um ChatBot específico.",
"Retrieves a list of all chatbots.": "Recupera uma lista de todos os chatbots.",
"Make a custom API call to a specific endpoint": "Faça uma chamada de API personalizada para um ponto de extremidade específico",
"Chatbot Name": "Nome do Chatbot",
"Source Text": "Texto de origem",
"Chatbot": "Chatbot",
"Prompt": "Aviso",
"Temperature": "Temperatura",
"Conversation ID": "ID da conversa",
"Model (Optional)": "Modelo (opcional)",
"Sources": "Fontes",
"Start Date": "Data Inicial",
"End Date": "Data de Término",
"Page": "Página",
"Page Size": "Tamanho da 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)",
"Optional text data for training the chatbot.": "Dados de texto opcionais para treinar o Chatbot.",
"Higher values = more random output. Between 0 and 1.": "Valores maiores = mais saídas aleatórias. Entre 0 e 1.",
"Unique ID for saving this conversation in Chatbase dashboard.": "ID exclusivo para salvar esta conversa no Painel Chatbase.",
"Filter by one or more conversation sources.": "Filtrar por uma ou mais fontes de conversação.",
"Pagination page number (default = 1)": "Número de página de paginação (padrão = 1)",
"Number of results per page (default = 10, max = 100)": "Número de resultados por página (padrão = 10, máximo = 100)",
"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..",
"o4-mini": "o4-mini",
"o3": "o3",
"gpt-4": "gpt-4",
"gpt-4o": "gpt-4o",
"gpt-4o-mini": "pt-4-mini",
"gpt-4.1-mini": "gpt-4.1-mini",
"gpt-4.1-nano": "gpt-4.1-nano",
"gpt-4-turbo": "gpt-4-turbo",
"o3-mini": "o3-mini",
"gpt-4.1": "gpt-4.1",
"gpt-4.5": "gpt-4.5",
"claude-sonnet-4": "claude-sonnet-4",
"claude-3-7-sonnet": "claude-3-7-sonnet",
"claude-3-5-sonnet": "claude-3-5-sonnet",
"claude-3-opus": "claude-3-opus",
"claude-opus-4": "claude-opus-4",
"claude-3-haiku": "claude-3-haiku",
"gemini-2.0-flash": "gemina-2.0-flash",
"gemini-1.5-flash": "gemin-1.5-flash",
"gemini-1.5-pro": "gemini-1.5-pro",
"gemini-2.0-pro": "gemini-2.0-pro",
"command-r": "comando-r",
"command-r-plus": "comando-r-mais",
"DeepSeek-V3": "DeepSeek-V3",
"DeepSeek-R1": "DeepSeek-R1",
"Llama-4-Scout-17B-16E-Instruct": "Llama-4-Scout-17B-16E-Instruct",
"Llama-4-Maverick-17B-128E-Instruct-FP8": "Llama-4-Maverick-17B-128E-Instruct-FP8",
"grok-3": "grok-3",
"grok-3-mini": "grok-3-mini",
"API": "API",
"Chatbase site": "Base do chat",
"Instagram": "Instagram",
"Messenger": "Mensageiro",
"Slack": "Slack",
"Unspecified": "Não-especificado",
"WhatsApp": "WhatsApp",
"Widget or Iframe": "Widget ou Iframe",
"GET": "OBTER",
"POST": "POSTAR",
"PATCH": "COMPRAR",
"PUT": "COLOCAR",
"DELETE": "EXCLUIR",
"HEAD": "CABEÇA"
}

View File

@@ -0,0 +1,83 @@
{
"Chatbase": "База чатов",
"Build and manage AI chatbots with custom sources.": "Создавайте и управляйте чатботами ИИ с помощью пользовательских источников.",
"You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).": "Вы можете получить ваш ключ API из [Chatbase Account](https://www.chatbase.co/dashboard).",
"Create Chatbot": "Создать Чатбота",
"Send Prompt to Chatbot": "Отправить запрос чатботу",
"Search Conversations by Query": "Искать в диалогах по запросу",
"List All Chatbots": "Список всех чатботов",
"Custom API Call": "Пользовательский вызов API",
"Creates a new chatbot.": "Создает новый чатбот.",
"Sends a prompt to the chatbot to generate a response.": "Отправляет запрос в чат-бот, чтобы генерировать ответ.",
"Searches for conversations from a specific chatbot.": "Ищет разговоры из определенного чатбота.",
"Retrieves a list of all chatbots.": "Извлекает список всех чатботов.",
"Make a custom API call to a specific endpoint": "Сделать пользовательский API вызов к определенной конечной точке",
"Chatbot Name": "Имя бота Чата",
"Source Text": "Исходный текст",
"Chatbot": "Чатбот",
"Prompt": "Prompt",
"Temperature": "Температура",
"Conversation ID": "ID разговора",
"Model (Optional)": "Модель (необязательно)",
"Sources": "Источники",
"Start Date": "Дата начала",
"End Date": "Дата окончания",
"Page": "Страница",
"Page Size": "Размер страницы",
"Method": "Метод",
"Headers": "Заголовки",
"Query Parameters": "Параметры запроса",
"Body": "Тело",
"No Error on Failure": "Нет ошибок при ошибке",
"Timeout (in seconds)": "Таймаут (в секундах)",
"Optional text data for training the chatbot.": "Дополнительные текстовые данные для обучения чатботу.",
"Higher values = more random output. Between 0 and 1.": "Высокие значения = более случайный вывод. между 0 и 1.",
"Unique ID for saving this conversation in Chatbase dashboard.": "Уникальный ID для сохранения этого разговора в панели управления Chatbase.",
"Filter by one or more conversation sources.": "Фильтровать по одному или нескольким источникам диалога.",
"Pagination page number (default = 1)": "Номер страницы страницы (по умолчанию = 1)",
"Number of results per page (default = 10, max = 100)": "Количество результатов на странице (по умолчанию = 10, макс. = 100)",
"Authorization headers are injected automatically from your connection.": "Заголовки авторизации включаются автоматически из вашего соединения.",
"o4-mini": "o4-мини",
"o3": "о3",
"gpt-4": "gpt-4",
"gpt-4o": "gpt-4o",
"gpt-4o-mini": "gpt-4o-mini",
"gpt-4.1-mini": "gpt-4.1-мини",
"gpt-4.1-nano": "gpt-4.1-nano",
"gpt-4-turbo": "gpt-4-turbo",
"o3-mini": "o3-мини",
"gpt-4.1": "gpt-4.1",
"gpt-4.5": "gpt-4.5",
"claude-sonnet-4": "claude-sonnet-4",
"claude-3-7-sonnet": "claude-3-7-sonnet",
"claude-3-5-sonnet": "claude-3-5-sonnet",
"claude-3-opus": "claude-3-opus",
"claude-opus-4": "claude-opus-4",
"claude-3-haiku": "клауд-3-хайку",
"gemini-2.0-flash": "gemini-2.0-вспышка",
"gemini-1.5-flash": "gemini-1.5-вспышка",
"gemini-1.5-pro": "gemini-1.5-pro",
"gemini-2.0-pro": "gemini-2.0-pro",
"command-r": "команда-r",
"command-r-plus": "команда-r-plus",
"DeepSeek-V3": "DeepSeek-V3",
"DeepSeek-R1": "Глубокий искатель-R1",
"Llama-4-Scout-17B-16E-Instruct": "Llama-4-Scout-17B-16E-Instruct",
"Llama-4-Maverick-17B-128E-Instruct-FP8": "Llama-4-Maverick-17B-128E-Instruct-FP8",
"grok-3": "паук-3",
"grok-3-mini": "роук-3-мини",
"API": "API",
"Chatbase site": "Сайт Chatbase",
"Instagram": "Инстаграмма",
"Messenger": "Посланник",
"Slack": "Slack",
"Unspecified": "Не указано",
"WhatsApp": "WhatsApp",
"Widget or Iframe": "Виджет или Iframe",
"GET": "ПОЛУЧИТЬ",
"POST": "ПОСТ",
"PATCH": "ПАТЧ",
"PUT": "ПОКУПИТЬ",
"DELETE": "УДАЛИТЬ",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,84 @@
{
"Build and manage AI chatbots with custom sources.": "Build and manage AI chatbots with custom sources.",
"You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).": "You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).",
"Create Chatbot": "Create Chatbot",
"Send Prompt to Chatbot": "Send Prompt to Chatbot",
"Search Conversations by Query": "Search Conversations by Query",
"List All Chatbots": "List All Chatbots",
"Custom API Call": "Custom API Call",
"Creates a new chatbot.": "Creates a new chatbot.",
"Sends a prompt to the chatbot to generate a response.": "Sends a prompt to the chatbot to generate a response.",
"Searches for conversations from a specific chatbot.": "Searches for conversations from a specific chatbot.",
"Retrieves a list of all chatbots.": "Retrieves a list of all chatbots.",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Chatbot Name": "Chatbot Name",
"Source Text": "Source Text",
"Chatbot": "Chatbot",
"Prompt": "Prompt",
"Temperature": "Temperature",
"Conversation ID": "Conversation ID",
"Model (Optional)": "Model (Optional)",
"Sources": "Sources",
"Start Date": "Start Date",
"End Date": "End Date",
"Page": "Page",
"Page Size": "Page Size",
"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)",
"Optional text data for training the chatbot.": "Optional text data for training the chatbot.",
"Higher values = more random output. Between 0 and 1.": "Higher values = more random output. Between 0 and 1.",
"Unique ID for saving this conversation in Chatbase dashboard.": "Unique ID for saving this conversation in Chatbase dashboard.",
"Filter by one or more conversation sources.": "Filter by one or more conversation sources.",
"Pagination page number (default = 1)": "Pagination page number (default = 1)",
"Number of results per page (default = 10, max = 100)": "Number of results per page (default = 10, max = 100)",
"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..",
"o4-mini": "o4-mini",
"o3": "o3",
"gpt-4": "gpt-4",
"gpt-4o": "gpt-4o",
"gpt-4o-mini": "gpt-4o-mini",
"gpt-4.1-mini": "gpt-4.1-mini",
"gpt-4.1-nano": "gpt-4.1-nano",
"gpt-4-turbo": "gpt-4-turbo",
"o3-mini": "o3-mini",
"gpt-4.1": "gpt-4.1",
"gpt-4.5": "gpt-4.5",
"claude-sonnet-4": "claude-sonnet-4",
"claude-3-7-sonnet": "claude-3-7-sonnet",
"claude-3-5-sonnet": "claude-3-5-sonnet",
"claude-3-opus": "claude-3-opus",
"claude-opus-4": "claude-opus-4",
"claude-3-haiku": "claude-3-haiku",
"gemini-2.0-flash": "gemini-2.0-flash",
"gemini-1.5-flash": "gemini-1.5-flash",
"gemini-1.5-pro": "gemini-1.5-pro",
"gemini-2.0-pro": "gemini-2.0-pro",
"command-r": "command-r",
"command-r-plus": "command-r-plus",
"DeepSeek-V3": "DeepSeek-V3",
"DeepSeek-R1": "DeepSeek-R1",
"Llama-4-Scout-17B-16E-Instruct": "Llama-4-Scout-17B-16E-Instruct",
"Llama-4-Maverick-17B-128E-Instruct-FP8": "Llama-4-Maverick-17B-128E-Instruct-FP8",
"grok-3": "grok-3",
"grok-3-mini": "grok-3-mini",
"API": "API",
"Chatbase site": "Chatbase site",
"Instagram": "Instagram",
"Messenger": "Messenger",
"Slack": "Slack",
"Unspecified": "Unspecified",
"WhatsApp": "WhatsApp",
"Widget or Iframe": "Widget or Iframe",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,83 @@
{
"Chatbase": "Chatbase",
"Build and manage AI chatbots with custom sources.": "Build and manage AI chatbots with custom sources.",
"You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).": "You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).",
"Create Chatbot": "Create Chatbot",
"Send Prompt to Chatbot": "Send Prompt to Chatbot",
"Search Conversations by Query": "Search Conversations by Query",
"List All Chatbots": "List All Chatbots",
"Custom API Call": "Custom API Call",
"Creates a new chatbot.": "Creates a new chatbot.",
"Sends a prompt to the chatbot to generate a response.": "Sends a prompt to the chatbot to generate a response.",
"Searches for conversations from a specific chatbot.": "Searches for conversations from a specific chatbot.",
"Retrieves a list of all chatbots.": "Retrieves a list of all chatbots.",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Chatbot Name": "Chatbot Name",
"Source Text": "Source Text",
"Chatbot": "Chatbot",
"Prompt": "Prompt",
"Temperature": "Temperature",
"Conversation ID": "Conversation ID",
"Model (Optional)": "Model (Optional)",
"Sources": "Sources",
"Start Date": "Start Date",
"End Date": "End Date",
"Page": "Page",
"Page Size": "Phân trang",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
"Body": "Body",
"No Error on Failure": "No Error on Failure",
"Timeout (in seconds)": "Timeout (in seconds)",
"Optional text data for training the chatbot.": "Optional text data for training the chatbot.",
"Higher values = more random output. Between 0 and 1.": "Higher values = more random output. Between 0 and 1.",
"Unique ID for saving this conversation in Chatbase dashboard.": "Unique ID for saving this conversation in Chatbase dashboard.",
"Filter by one or more conversation sources.": "Filter by one or more conversation sources.",
"Pagination page number (default = 1)": "Pagination page number (default = 1)",
"Number of results per page (default = 10, max = 100)": "Number of results per page (default = 10, max = 100)",
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
"o4-mini": "o4-mini",
"o3": "o3",
"gpt-4": "gpt-4",
"gpt-4o": "gpt-4o",
"gpt-4o-mini": "gpt-4o-mini",
"gpt-4.1-mini": "gpt-4.1-mini",
"gpt-4.1-nano": "gpt-4.1-nano",
"gpt-4-turbo": "gpt-4-turbo",
"o3-mini": "o3-mini",
"gpt-4.1": "gpt-4.1",
"gpt-4.5": "gpt-4.5",
"claude-sonnet-4": "claude-sonnet-4",
"claude-3-7-sonnet": "claude-3-7-sonnet",
"claude-3-5-sonnet": "claude-3-5-sonnet",
"claude-3-opus": "claude-3-opus",
"claude-opus-4": "claude-opus-4",
"claude-3-haiku": "claude-3-haiku",
"gemini-2.0-flash": "gemini-2.0-flash",
"gemini-1.5-flash": "gemini-1.5-flash",
"gemini-1.5-pro": "gemini-1.5-pro",
"gemini-2.0-pro": "gemini-2.0-pro",
"command-r": "command-r",
"command-r-plus": "command-r-plus",
"DeepSeek-V3": "DeepSeek-V3",
"DeepSeek-R1": "DeepSeek-R1",
"Llama-4-Scout-17B-16E-Instruct": "Llama-4-Scout-17B-16E-Instruct",
"Llama-4-Maverick-17B-128E-Instruct-FP8": "Llama-4-Maverick-17B-128E-Instruct-FP8",
"grok-3": "grok-3",
"grok-3-mini": "grok-3-mini",
"API": "API",
"Chatbase site": "Chatbase site",
"Instagram": "Instagram",
"Messenger": "Messenger",
"Slack": "Slack",
"Unspecified": "Unspecified",
"WhatsApp": "WhatsApp",
"Widget or Iframe": "Widget or Iframe",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,84 @@
{
"Build and manage AI chatbots with custom sources.": "Build and manage AI chatbots with custom sources.",
"You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).": "You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).",
"Create Chatbot": "Create Chatbot",
"Send Prompt to Chatbot": "Send Prompt to Chatbot",
"Search Conversations by Query": "Search Conversations by Query",
"List All Chatbots": "List All Chatbots",
"Custom API Call": "自定义 API 呼叫",
"Creates a new chatbot.": "Creates a new chatbot.",
"Sends a prompt to the chatbot to generate a response.": "Sends a prompt to the chatbot to generate a response.",
"Searches for conversations from a specific chatbot.": "Searches for conversations from a specific chatbot.",
"Retrieves a list of all chatbots.": "Retrieves a list of all chatbots.",
"Make a custom API call to a specific endpoint": "将一个自定义 API 调用到一个特定的终点",
"Chatbot Name": "Chatbot Name",
"Source Text": "Source Text",
"Chatbot": "Chatbot",
"Prompt": "Prompt",
"Temperature": "Temperature",
"Conversation ID": "Conversation ID",
"Model (Optional)": "Model (Optional)",
"Sources": "Sources",
"Start Date": "Start Date",
"End Date": "End Date",
"Page": "Page",
"Page Size": "Page Size",
"Method": "方法",
"Headers": "信头",
"Query Parameters": "查询参数",
"Body": "正文内容",
"Response is Binary ?": "Response is Binary ?",
"No Error on Failure": "失败时没有错误",
"Timeout (in seconds)": "超时(秒)",
"Optional text data for training the chatbot.": "Optional text data for training the chatbot.",
"Higher values = more random output. Between 0 and 1.": "Higher values = more random output. Between 0 and 1.",
"Unique ID for saving this conversation in Chatbase dashboard.": "Unique ID for saving this conversation in Chatbase dashboard.",
"Filter by one or more conversation sources.": "Filter by one or more conversation sources.",
"Pagination page number (default = 1)": "Pagination page number (default = 1)",
"Number of results per page (default = 10, max = 100)": "Number of results per page (default = 10, max = 100)",
"Authorization headers are injected automatically from your connection.": "授权头自动从您的连接中注入。",
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
"o4-mini": "o4-mini",
"o3": "o3",
"gpt-4": "gpt-4",
"gpt-4o": "gpt-4o",
"gpt-4o-mini": "gpt-4o-mini",
"gpt-4.1-mini": "gpt-4.1-mini",
"gpt-4.1-nano": "gpt-4.1-nano",
"gpt-4-turbo": "gpt-4-turbo",
"o3-mini": "o3-mini",
"gpt-4.1": "gpt-4.1",
"gpt-4.5": "gpt-4.5",
"claude-sonnet-4": "claude-sonnet-4",
"claude-3-7-sonnet": "claude-3-7-sonnet",
"claude-3-5-sonnet": "claude-3-5-sonnet",
"claude-3-opus": "claude-3-opus",
"claude-opus-4": "claude-opus-4",
"claude-3-haiku": "claude-3-haiku",
"gemini-2.0-flash": "gemini-2.0-flash",
"gemini-1.5-flash": "gemini-1.5-flash",
"gemini-1.5-pro": "gemini-1.5-pro",
"gemini-2.0-pro": "gemini-2.0-pro",
"command-r": "command-r",
"command-r-plus": "command-r-plus",
"DeepSeek-V3": "DeepSeek-V3",
"DeepSeek-R1": "DeepSeek-R1",
"Llama-4-Scout-17B-16E-Instruct": "Llama-4-Scout-17B-16E-Instruct",
"Llama-4-Maverick-17B-128E-Instruct-FP8": "Llama-4-Maverick-17B-128E-Instruct-FP8",
"grok-3": "grok-3",
"grok-3-mini": "grok-3-mini",
"API": "API",
"Chatbase site": "Chatbase site",
"Instagram": "Instagram",
"Messenger": "Messenger",
"Slack": "Slack",
"Unspecified": "Unspecified",
"WhatsApp": "WhatsApp",
"Widget or Iframe": "Widget or Iframe",
"GET": "获取",
"POST": "帖子",
"PATCH": "PATCH",
"PUT": "弹出",
"DELETE": "删除",
"HEAD": "黑色"
}

View File

@@ -0,0 +1,40 @@
import { createCustomApiCallAction } from '@activepieces/pieces-common';
import { createPiece, PieceAuth } from '@activepieces/pieces-framework';
import { PieceCategory } from '@activepieces/shared';
import { createChatbotAction } from './lib/actions/create-chatbot';
import { listChatbotsAction } from './lib/actions/list-all-chatbots';
import { searchConversationsAction } from './lib/actions/search-conversations-by-query';
import { sendPromptToChatbotAction } from './lib/actions/send-prompt-to-chatbot';
const markdownDescription = `You can get your API key from your [Chatbase Account](https://www.chatbase.co/dashboard).`;
export const chatbaseAuth = PieceAuth.SecretText({
displayName: 'API Key',
description: markdownDescription,
required: true,
});
export const chatbase = createPiece({
displayName: 'Chatbase',
description: 'Build and manage AI chatbots with custom sources.',
auth: chatbaseAuth,
logoUrl: 'https://cdn.activepieces.com/pieces/chatbase.png',
categories: [PieceCategory.ARTIFICIAL_INTELLIGENCE],
authors: ['krushnarout'],
actions: [
createChatbotAction,
sendPromptToChatbotAction,
searchConversationsAction,
listChatbotsAction,
createCustomApiCallAction({
auth: chatbaseAuth,
baseUrl: () => 'https://www.chatbase.co/api/v1',
authMapping: async (auth) => {
return {
Authorization: `Bearer ${auth.secret_text}`,
};
},
}),
],
triggers: [],
});

View File

@@ -0,0 +1,38 @@
import { HttpMethod } from '@activepieces/pieces-common';
import { createAction, Property } from '@activepieces/pieces-framework';
import { chatbaseAuth } from '../../index';
import { makeRequest } from '../common';
export const createChatbotAction = createAction({
auth: chatbaseAuth,
name: 'create_chatbot',
displayName: 'Create Chatbot',
description: 'Creates a new chatbot.',
props: {
chatbotName: Property.ShortText({
displayName: 'Chatbot Name',
required: true,
}),
sourceText: Property.LongText({
displayName: 'Source Text',
description: 'Optional text data for training the chatbot.',
required: false,
}),
},
async run(context) {
const { chatbotName, sourceText } = context.propsValue;
const apiKey = context.auth.secret_text;
const body: Record<string, unknown> = {
chatbotName,
};
if (sourceText) {
body['sourceText'] = sourceText;
}
const response = await makeRequest(apiKey, HttpMethod.POST, '/create-chatbot', body);
return response;
},
});

View File

@@ -0,0 +1,20 @@
import { HttpMethod } from '@activepieces/pieces-common';
import { createAction } from '@activepieces/pieces-framework';
import { chatbaseAuth } from '../../index';
import { makeRequest } from '../common';
export const listChatbotsAction = createAction({
auth: chatbaseAuth,
name: 'list_chatbots',
displayName: 'List All Chatbots',
description: 'Retrieves a list of all chatbots.',
props: {},
async run(context) {
const apiKey = context.auth.secret_text;
const response = await makeRequest(apiKey, HttpMethod.GET, '/get-chatbots');
return response;
},
});

View File

@@ -0,0 +1,83 @@
import { HttpMethod } from '@activepieces/pieces-common';
import { createAction, Property } from '@activepieces/pieces-framework';
import { chatbaseAuth } from '../../index';
import { makeRequest } from '../common';
import { chatbotIdDropdown } from '../common/props';
export const searchConversationsAction = createAction({
auth: chatbaseAuth,
name: 'search_conversations',
displayName: 'Search Conversations by Query',
description: 'Searches for conversations from a specific chatbot.',
props: {
chatbotId: chatbotIdDropdown,
filteredSources: Property.StaticMultiSelectDropdown({
displayName: 'Sources',
description: 'Filter by one or more conversation sources.',
required: false,
options: {
disabled: false,
options: [
{ label: 'API', value: 'API' },
{ label: 'Chatbase site', value: 'Chatbase site' },
{ label: 'Instagram', value: 'Instagram' },
{ label: 'Messenger', value: 'Messenger' },
{ label: 'Slack', value: 'Slack' },
{ label: 'Unspecified', value: 'Unspecified' },
{ label: 'WhatsApp', value: 'WhatsApp' },
{ label: 'Widget or Iframe', value: 'Widget or Iframe' },
],
},
}),
startDate: Property.DateTime({
displayName: 'Start Date',
required: false,
}),
endDate: Property.DateTime({
displayName: 'End Date',
required: false,
}),
page: Property.Number({
displayName: 'Page',
description: 'Pagination page number (default = 1)',
required: false,
}),
size: Property.Number({
displayName: 'Page Size',
description: 'Number of results per page (default = 10, max = 100)',
required: false,
}),
},
async run(context) {
const { chatbotId, filteredSources, startDate, endDate, page, size } = context.propsValue;
const apiKey = context.auth.secret_text;
const queryParams = new URLSearchParams({ chatbotId });
if (filteredSources?.length) {
queryParams.append('filteredSources', filteredSources.join(','));
}
if (startDate) {
queryParams.append('startDate', startDate.toString().split('T')[0]);
}
if (endDate) {
queryParams.append('endDate', endDate.toString().split('T')[0]);
}
if (page) {
queryParams.append('page', page.toString());
}
if (size) {
queryParams.append('size', size.toString());
}
const response = await makeRequest(
apiKey,
HttpMethod.GET,
`/get-conversations?${queryParams.toString()}`,
);
return response;
},
});

View File

@@ -0,0 +1,93 @@
import { HttpMethod } from '@activepieces/pieces-common';
import { createAction, Property } from '@activepieces/pieces-framework';
import { chatbaseAuth } from '../../index';
import { makeRequest } from '../common';
import { chatbotIdDropdown } from '../common/props';
export const sendPromptToChatbotAction = createAction({
auth: chatbaseAuth,
name: 'message_chatbot',
displayName: 'Send Prompt to Chatbot',
description: 'Sends a prompt to the chatbot to generate a response.',
props: {
chatbotId: chatbotIdDropdown,
message: Property.LongText({
displayName: 'Prompt',
required: true,
}),
temperature: Property.Number({
displayName: 'Temperature',
description: 'Higher values = more random output. Between 0 and 1.',
required: false,
defaultValue: 0,
}),
conversationId: Property.ShortText({
displayName: 'Conversation ID',
description: 'Unique ID for saving this conversation in Chatbase dashboard.',
required: false,
}),
model: Property.StaticDropdown({
displayName: 'Model (Optional)',
required: false,
options: {
options: [
{ label: 'o4-mini', value: 'o4-mini' },
{ label: 'o3', value: 'o3' },
{ label: 'gpt-4', value: 'gpt-4' },
{ label: 'gpt-4o', value: 'gpt-4o' },
{ label: 'gpt-4o-mini', value: 'gpt-4o-mini' },
{ label: 'gpt-4.1-mini', value: 'gpt-4.1-mini' },
{ label: 'gpt-4.1-nano', value: 'gpt-4.1-nano' },
{ label: 'gpt-4-turbo', value: 'gpt-4-turbo' },
{ label: 'o3-mini', value: 'o3-mini' },
{ label: 'gpt-4.1', value: 'gpt-4.1' },
{ label: 'gpt-4.5', value: 'gpt-4.5' },
{ label: 'claude-sonnet-4', value: 'claude-sonnet-4' },
{ label: 'claude-3-7-sonnet', value: 'claude-3-7-sonnet' },
{ label: 'claude-3-5-sonnet', value: 'claude-3-5-sonnet' },
{ label: 'claude-3-opus', value: 'claude-3-opus' },
{ label: 'claude-opus-4', value: 'claude-opus-4' },
{ label: 'claude-3-haiku', value: 'claude-3-haiku' },
{ label: 'gemini-2.0-flash', value: 'gemini-2.0-flash' },
{ label: 'gemini-1.5-flash', value: 'gemini-1.5-flash' },
{ label: 'gemini-1.5-pro', value: 'gemini-1.5-pro' },
{ label: 'gemini-2.0-pro', value: 'gemini-2.0-pro' },
{ label: 'command-r', value: 'command-r' },
{ label: 'command-r-plus', value: 'command-r-plus' },
{ label: 'DeepSeek-V3', value: 'DeepSeek-V3' },
{ label: 'DeepSeek-R1', value: 'DeepSeek-R1' },
{
label: 'Llama-4-Scout-17B-16E-Instruct',
value: 'Llama-4-Scout-17B-16E-Instruct',
},
{
label: 'Llama-4-Maverick-17B-128E-Instruct-FP8',
value: 'Llama-4-Maverick-17B-128E-Instruct-FP8',
},
{ label: 'grok-3', value: 'grok-3' },
{ label: 'grok-3-mini', value: 'grok-3-mini' },
],
},
}),
},
async run(context) {
const { chatbotId, message, temperature, model, conversationId } = context.propsValue;
const apiKey = context.auth.secret_text;
const payload: Record<string, any> = {
chatbotId,
messages: [{ content: message, role: 'user' }],
};
if (temperature !== undefined) payload['temperature'] = temperature;
if (conversationId) payload['conversationId'] = conversationId;
if (model) payload['model'] = model;
const response = await makeRequest(apiKey, HttpMethod.POST, '/chat', payload);
return response;
},
});

View File

@@ -0,0 +1,22 @@
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
export async function makeRequest(
apiKey: string,
method: HttpMethod,
path: string,
body?: unknown,
) {
const url = `https://www.chatbase.co/api/v1${path}`;
const response = await httpClient.sendRequest({
method,
url,
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body,
});
return response.body;
}

View File

@@ -0,0 +1,33 @@
import { HttpMethod } from '@activepieces/pieces-common';
import { DropdownOption, Property } from '@activepieces/pieces-framework';
import { makeRequest } from './index';
import { chatbaseAuth } from '../../index';
export const chatbotIdDropdown = Property.Dropdown({
auth: chatbaseAuth,
displayName: 'Chatbot',
required: true,
refreshers: [],
options: async ({ auth }) => {
if (!auth) {
return {
disabled: true,
placeholder: 'Please connect your account first.',
options: [],
};
}
const apiKey = auth.secret_text;
const response = await makeRequest(apiKey, HttpMethod.GET, '/get-chatbots');
const options: DropdownOption<string>[] = response.chatbots.map((chatbot: any) => ({
label: chatbot.chatbotName,
value: chatbot.chatbotId,
}));
return {
disabled: false,
options,
};
},
});