Add Activepieces integration for workflow automation

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

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

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

View File

@@ -0,0 +1,39 @@
{
"\n To get your Access Key:\n 1. Sign up at SocialKit Dashboard\n 2. Copy your Access Key from the project Access Keys tab.\n **Important:** Keep your Access Key confidential.\n ": "\n Um Ihren Zugangsschlüssel zu erhalten:\n 1. Melden Sie sich bei SocialKit Dashboard\n 2. Kopieren Sie Ihren Zugangsschlüssel aus der Registerkarte Projektzugriff.\n **Wichtig:** Bewahren Sie Ihren Zugangsschlüssel vertraulich.\n ",
"Get YouTube Details": "YouTube Details erhalten",
"Get YouTube Transcript": "YouTube-Transkript erhalten",
"Get YouTube Summary": "YouTube-Zusammenfassung",
"Get YouTube Comments": "YouTube-Kommentare erhalten",
"Custom API Call": "Eigener API-Aufruf",
"Get detailed information about any YouTube video including title, description, view count, likes, dislikes, duration, and channel information.": "Erhalten Sie detaillierte Informationen über jedes YouTube-Video, einschließlich Titel, Beschreibung, Anzeigeanzahl, Likes, Dislikes, Dauer und Kanal-Informationen.",
"Extract the full transcript with timestamps from any YouTube video that has captions or subtitles available.": "Entpacken Sie das vollständige Transkript mit Zeitstempeln aus jedem YouTube-Video, das Bildunterschriften oder Untertitel zur Verfügung hat.",
"Generates an AI-powered summary of a YouTube video.": "Erzeugt eine AI-basierte Zusammenfassung eines YouTube-Videos.",
"Fetch comments from YouTube video with options to sort and limit results.": "Kommentare von YouTube-Video mit Optionen abrufen, um Ergebnisse zu sortieren und zu begrenzen.",
"Make a custom API call to a specific endpoint": "Einen benutzerdefinierten API-Aufruf an einen bestimmten Endpunkt machen",
"YouTube Video URL": "YouTube-Video-URL",
"Limit": "Limit",
"Sort By": "Sortieren nach",
"Method": "Methode",
"Headers": "Kopfzeilen",
"Query Parameters": "Abfrageparameter",
"Body": "Körper",
"Response is Binary ?": "Antwort ist binär?",
"No Error on Failure": "Kein Fehler bei Fehler",
"Timeout (in seconds)": "Timeout (in Sekunden)",
"The URL of the YouTube video you want to get details from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "Die URL des YouTube-Videos, von dem du Details erhalten möchtest. (z.B. https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to get the transcript from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "Die URL des YouTube-Videos, von dem das Transkript abgerufen werden soll. (z.B. https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to summarize. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "Die URL des zu treffenden YouTube-Videos (z.B. https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to fetch comments from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "Die URL des YouTube-Videos, von dem Kommentare abgerufen werden sollen. (z.B. https://www.youtube.com/watch?v=VIDEO_ID)",
"The number of comments to retrieve (default is 10, maximum is 100).": "Die Anzahl der abzurufenden Kommentare (Standard ist 10, Maximum ist 100).",
"The sorting order for the comments.": "Die Sortierreihenfolge für die Kommentare.",
"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..",
"Newest": "Neueste",
"Top": "Oben",
"GET": "ERHALTEN",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "LÖSCHEN",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,39 @@
{
"\n To get your Access Key:\n 1. Sign up at SocialKit Dashboard\n 2. Copy your Access Key from the project Access Keys tab.\n **Important:** Keep your Access Key confidential.\n ": "\n Para obtener su clave de acceso:\n 1. Regístrate en SocialKit Dashboard\n 2. Copie su clave de acceso desde la pestaña de claves de acceso del proyecto.\n **Importante:** Mantenga su clave de acceso confidencial.\n ",
"Get YouTube Details": "Obtener detalles de YouTube",
"Get YouTube Transcript": "Obtener Transcripción de YouTube",
"Get YouTube Summary": "Obtener Resumen de YouTube",
"Get YouTube Comments": "Obtener comentarios de YouTube",
"Custom API Call": "Llamada API personalizada",
"Get detailed information about any YouTube video including title, description, view count, likes, dislikes, duration, and channel information.": "Obtén información detallada sobre cualquier video de YouTube, incluyendo título, descripción, recuento de visualización, gustos, disgustos, duración e información del canal.",
"Extract the full transcript with timestamps from any YouTube video that has captions or subtitles available.": "Extraiga la transcripción completa con marcas de tiempo de cualquier video de YouTube que tenga subtítulos o subtítulos disponibles.",
"Generates an AI-powered summary of a YouTube video.": "Genera un resumen de un vídeo de YouTube.",
"Fetch comments from YouTube video with options to sort and limit results.": "Obtener comentarios del vídeo de YouTube con opciones para ordenar y limitar los resultados.",
"Make a custom API call to a specific endpoint": "Hacer una llamada API personalizada a un extremo específico",
"YouTube Video URL": "URL del vídeo de YouTube",
"Limit": "Límite",
"Sort By": "Ordenar por",
"Method": "Método",
"Headers": "Encabezados",
"Query Parameters": "Parámetros de consulta",
"Body": "Cuerpo",
"Response is Binary ?": "¿Respuesta es binaria?",
"No Error on Failure": "No hay ningún error en fallo",
"Timeout (in seconds)": "Tiempo de espera (en segundos)",
"The URL of the YouTube video you want to get details from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "La URL del vídeo de YouTube del que quieres obtener detalles. (por ejemplo, https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to get the transcript from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "La URL del vídeo de YouTube desde donde obtener la transcripción. (por ejemplo, https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to summarize. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "La URL del vídeo de YouTube a resumir. (por ejemplo, https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to fetch comments from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "La URL del vídeo de YouTube desde donde obtener comentarios. (por ejemplo, https://www.youtube.com/watch?v=VIDEO_ID)",
"The number of comments to retrieve (default is 10, maximum is 100).": "El número de comentarios a recuperar (el valor por defecto es 10, el máximo es 100).",
"The sorting order for the comments.": "La orden de clasificación de los comentarios.",
"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.",
"Newest": "Más reciente",
"Top": "Subir",
"GET": "RECOGER",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "BORRAR",
"HEAD": "LIMPIO"
}

View File

@@ -0,0 +1,39 @@
{
"\n To get your Access Key:\n 1. Sign up at SocialKit Dashboard\n 2. Copy your Access Key from the project Access Keys tab.\n **Important:** Keep your Access Key confidential.\n ": "\n To get your Access Key:\n 1. Sign up at SocialKit Dashboard\n 2. Copy your Access Key from the project Access Keys tab.\n **Important:** Keep your Access Key confidential.\n ",
"Get YouTube Details": "Obtenir les détails de YouTube",
"Get YouTube Transcript": "Obtenir une transcription YouTube",
"Get YouTube Summary": "Obtenir un résumé YouTube",
"Get YouTube Comments": "Recevoir des commentaires sur YouTube",
"Custom API Call": "Appel d'API personnalisé",
"Get detailed information about any YouTube video including title, description, view count, likes, dislikes, duration, and channel information.": "Obtenez des informations détaillées sur n'importe quelle vidéo YouTube, y compris le titre, la description, le nombre de vues, les J'aime, n'aime, la durée, et les informations sur les chaînes.",
"Extract the full transcript with timestamps from any YouTube video that has captions or subtitles available.": "Extrayez la transcription complète avec les horodatages de toute vidéo YouTube qui a des légendes ou des sous-titres disponibles.",
"Generates an AI-powered summary of a YouTube video.": "Génère un résumé d'une vidéo YouTube.",
"Fetch comments from YouTube video with options to sort and limit results.": "Récupérer les commentaires de la vidéo YouTube avec des options pour trier et limiter les résultats.",
"Make a custom API call to a specific endpoint": "Passer un appel API personnalisé à un endpoint spécifique",
"YouTube Video URL": "URL de la vidéo YouTube",
"Limit": "Limite",
"Sort By": "Trier par",
"Method": "Méthode",
"Headers": "Headers",
"Query Parameters": "Paramètres de requête",
"Body": "Body",
"Response is Binary ?": "La réponse est Binaire ?",
"No Error on Failure": "Aucune erreur en cas d'échec",
"Timeout (in seconds)": "Délai d'expiration (en secondes)",
"The URL of the YouTube video you want to get details from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "L'URL de la vidéo YouTube dont vous voulez obtenir des détails. (par exemple, https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to get the transcript from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "L'URL de la vidéo YouTube pour obtenir la transcription. (par exemple, https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to summarize. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "L'URL de la vidéo YouTube à résumer. (par exemple, https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to fetch comments from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "L'URL de la vidéo YouTube à partir de laquelle récupérer les commentaires. (par exemple, https://www.youtube.com/watch?v=VIDEO_ID)",
"The number of comments to retrieve (default is 10, maximum is 100).": "Le nombre de commentaires à récupérer (par défaut 10, maximum 100).",
"The sorting order for the comments.": "L'ordre de tri des commentaires.",
"Authorization headers are injected automatically from your connection.": "Les Headers 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.",
"Newest": "Plus récent",
"Top": "En haut",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,39 @@
{
"\n To get your Access Key:\n 1. Sign up at SocialKit Dashboard\n 2. Copy your Access Key from the project Access Keys tab.\n **Important:** Keep your Access Key confidential.\n ": "\n To get your Access Key:\n 1. Sign up at SocialKit Dashboard\n 2. Copy your Access Key from the project Access Keys tab.\n **Important:** Keep your Access Key confidential.\n ",
"Get YouTube Details": "YouTubeの詳細を取得",
"Get YouTube Transcript": "YouTubeのトランスクリプトを取得",
"Get YouTube Summary": "YouTubeの概要を取得する",
"Get YouTube Comments": "YouTubeのコメントを取得",
"Custom API Call": "カスタムAPI通話",
"Get detailed information about any YouTube video including title, description, view count, likes, dislikes, duration, and channel information.": "タイトル、説明、ビュー数、いいね、嫌い、期間、チャンネル情報など、YouTube動画に関する詳細情報を取得します。",
"Extract the full transcript with timestamps from any YouTube video that has captions or subtitles available.": "字幕または字幕の付いたYouTube動画のタイムスタンプを使用して完全な記録を抽出します。",
"Generates an AI-powered summary of a YouTube video.": "YouTube 動画の概要を生成します。",
"Fetch comments from YouTube video with options to sort and limit results.": "YouTubeビデオからのコメントを取得し、結果を並べ替えて制限するオプションがあります。",
"Make a custom API call to a specific endpoint": "特定のエンドポイントへのカスタム API コールを実行します。",
"YouTube Video URL": "YouTube 動画の URL",
"Limit": "制限",
"Sort By": "並び替え",
"Method": "方法",
"Headers": "ヘッダー",
"Query Parameters": "クエリパラメータ",
"Body": "本文",
"Response is Binary ?": "応答はバイナリですか?",
"No Error on Failure": "失敗時にエラーはありません",
"Timeout (in seconds)": "タイムアウト(秒)",
"The URL of the YouTube video you want to get details from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "詳細を取得したいYouTube動画のURLhttps://www.youtube.com/watch?v=VIDEO_ID",
"The URL of the YouTube video to get the transcript from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "転写を取得するYouTube動画のURL。https://www.youtube.com/watch?v=VIDEO_ID",
"The URL of the YouTube video to summarize. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "要約するYouTube動画のURL。https://www.youtube.com/watch?v=VIDEO_ID",
"The URL of the YouTube video to fetch comments from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "コメントを取得するYouTube動画のURL。https://www.youtube.com/watch?v=VIDEO_ID",
"The number of comments to retrieve (default is 10, maximum is 100).": "取得するコメント数デフォルトは10、最大は100です。",
"The sorting order for the comments.": "コメントのソート順",
"Authorization headers are injected automatically from your connection.": "認証ヘッダは接続から自動的に注入されます。",
"Enable for files like PDFs, images, etc..": "PDF、画像などのファイルを有効にします。",
"Newest": "最新",
"Top": "上",
"GET": "取得",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "削除",
"HEAD": "頭"
}

View File

@@ -0,0 +1,39 @@
{
"\n To get your Access Key:\n 1. Sign up at SocialKit Dashboard\n 2. Copy your Access Key from the project Access Keys tab.\n **Important:** Keep your Access Key confidential.\n ": "\n Om je toegangscode te krijgen:\n 1. Meld je aan bij SocialKit Dashboard\n 2. Kopieer uw toegangssleutel vanuit het tabblad projecttoegangstoetsen.\n **Belangrijk:** Houd uw toegangssleutel vertrouwelijk.\n ",
"Get YouTube Details": "Krijg YouTube Details",
"Get YouTube Transcript": "Download YouTube Transcript",
"Get YouTube Summary": "Krijg YouTube samenvatting",
"Get YouTube Comments": "Krijg YouTube reacties",
"Custom API Call": "Custom API Call",
"Get detailed information about any YouTube video including title, description, view count, likes, dislikes, duration, and channel information.": "Krijg gedetailleerde informatie over alle YouTube-video met titel, beschrijving, weergavetelling, likes, afspraken, duur en informatie over kanalen.",
"Extract the full transcript with timestamps from any YouTube video that has captions or subtitles available.": "Haal de volledige transcript uit met tijdstempels van elke YouTube video met ondertiteling of ondertiteling.",
"Generates an AI-powered summary of a YouTube video.": "Genereert een AI-powered samenvatting van een YouTube video.",
"Fetch comments from YouTube video with options to sort and limit results.": "Ophalen reacties uit YouTube video met opties om resultaten te sorteren en te beperken.",
"Make a custom API call to a specific endpoint": "Maak een aangepaste API call naar een specifiek eindpunt",
"YouTube Video URL": "YouTube Video URL",
"Limit": "Limiet",
"Sort By": "Sorteren op",
"Method": "Methode",
"Headers": "Kopteksten",
"Query Parameters": "Query parameters",
"Body": "Lichaam",
"Response is Binary ?": "Antwoord is binair?",
"No Error on Failure": "Geen fout bij fout",
"Timeout (in seconds)": "Time-out (in seconden)",
"The URL of the YouTube video you want to get details from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "De URL van de YouTube-video waarvan u meer informatie wilt krijgen. (bijv. https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to get the transcript from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "De URL van de YouTube-video waar de transcript vandaan moet komen (bijv. https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to summarize. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "De URL van de YouTube-video naar samenvatting. (bijv. https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to fetch comments from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "De URL van de YouTube-video om reacties van op te halen. (bijv. https://www.youtube.com/watch?v=VIDEO_ID)",
"The number of comments to retrieve (default is 10, maximum is 100).": "Het aantal op te halen reacties (standaard is 10, maximum is 100).",
"The sorting order for the comments.": "De sorteervolgorde van de commentaren.",
"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..",
"Newest": "Nieuwste",
"Top": "Bovenkant",
"GET": "KRIJG",
"POST": "POSTE",
"PATCH": "BEKIJK",
"PUT": "PUT",
"DELETE": "VERWIJDEREN",
"HEAD": "HOOFD"
}

View File

@@ -0,0 +1,39 @@
{
"\n To get your Access Key:\n 1. Sign up at SocialKit Dashboard\n 2. Copy your Access Key from the project Access Keys tab.\n **Important:** Keep your Access Key confidential.\n ": "\n To get your Access Key:\n 1. Sign up at SocialKit Dashboard\n 2. Copy your Access Key from the project Access Keys tab.\n **Important:** Keep your Access Key confidential.\n ",
"Get YouTube Details": "Obter detalhes do YouTube",
"Get YouTube Transcript": "Obter Transcrição do YouTube",
"Get YouTube Summary": "Obter Resumo do YouTube",
"Get YouTube Comments": "Obter comentários do YouTube",
"Custom API Call": "Chamada de API personalizada",
"Get detailed information about any YouTube video including title, description, view count, likes, dislikes, duration, and channel information.": "Obtenha informações detalhadas sobre qualquer vídeo do YouTube, incluindo título, descrição, contagem de visualização, curtidas, descurtidas, duração e informações de canal.",
"Extract the full transcript with timestamps from any YouTube video that has captions or subtitles available.": "Extrair a transcrição completa com timestamps de qualquer vídeo do YouTube que tenha legendas ou legendas disponíveis.",
"Generates an AI-powered summary of a YouTube video.": "Gera um resumo de um vídeo do YouTube baseado em AI.",
"Fetch comments from YouTube video with options to sort and limit results.": "Buscar comentários no vídeo do YouTube com opções para ordenar e limitar resultados.",
"Make a custom API call to a specific endpoint": "Faça uma chamada de API personalizada para um ponto de extremidade específico",
"YouTube Video URL": "URL do Vídeo do YouTube",
"Limit": "Limitar",
"Sort By": "Classificar por",
"Method": "Método",
"Headers": "Cabeçalhos",
"Query Parameters": "Parâmetros da consulta",
"Body": "Conteúdo",
"Response is Binary ?": "A resposta é binária ?",
"No Error on Failure": "Nenhum erro no Failure",
"Timeout (in seconds)": "Tempo limite (em segundos)",
"The URL of the YouTube video you want to get details from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "A URL do vídeo do YouTube que você deseja obter detalhes (ex.: https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to get the transcript from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "A URL do vídeo do YouTube para obter a transcrição de. (ex.: https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to summarize. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "A URL do vídeo do YouTube para resumir. (ex.: https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to fetch comments from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "A URL do vídeo do YouTube para buscar comentários (ex: https://www.youtube.com/watch?v=VIDEO_ID)",
"The number of comments to retrieve (default is 10, maximum is 100).": "O número de comentários a serem recuperados (o padrão é 10, máximo é 100).",
"The sorting order for the comments.": "A ordem de classificação dos comentários.",
"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..",
"Newest": "Recentes",
"Top": "Superior",
"GET": "OBTER",
"POST": "POSTAR",
"PATCH": "COMPRAR",
"PUT": "COLOCAR",
"DELETE": "EXCLUIR",
"HEAD": "CABEÇA"
}

View File

@@ -0,0 +1,39 @@
{
"\n To get your Access Key:\n 1. Sign up at SocialKit Dashboard\n 2. Copy your Access Key from the project Access Keys tab.\n **Important:** Keep your Access Key confidential.\n ": "\n To get your Access Key:\n 1. Sign up at SocialKit Dashboard\n 2. Copy your Access Key from the project Access Keys tab.\n **Important:** Keep your Access Key confidential.\n ",
"Get YouTube Details": "Get YouTube Details",
"Get YouTube Transcript": "Get YouTube Transcript",
"Get YouTube Summary": "Get YouTube Summary",
"Get YouTube Comments": "Get YouTube Comments",
"Custom API Call": "Custom API Call",
"Get detailed information about any YouTube video including title, description, view count, likes, dislikes, duration, and channel information.": "Get detailed information about any YouTube video including title, description, view count, likes, dislikes, duration, and channel information.",
"Extract the full transcript with timestamps from any YouTube video that has captions or subtitles available.": "Extract the full transcript with timestamps from any YouTube video that has captions or subtitles available.",
"Generates an AI-powered summary of a YouTube video.": "Generates an AI-powered summary of a YouTube video.",
"Fetch comments from YouTube video with options to sort and limit results.": "Fetch comments from YouTube video with options to sort and limit results.",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"YouTube Video URL": "YouTube Video URL",
"Limit": "Limit",
"Sort By": "Sort By",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
"Body": "Body",
"Response is Binary ?": "Response is Binary ?",
"No Error on Failure": "No Error on Failure",
"Timeout (in seconds)": "Timeout (in seconds)",
"The URL of the YouTube video you want to get details from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "The URL of the YouTube video you want to get details from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to get the transcript from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "The URL of the YouTube video to get the transcript from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to summarize. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "The URL of the YouTube video to summarize. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to fetch comments from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "The URL of the YouTube video to fetch comments from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)",
"The number of comments to retrieve (default is 10, maximum is 100).": "The number of comments to retrieve (default is 10, maximum is 100).",
"The sorting order for the comments.": "The sorting order for the comments.",
"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..",
"Newest": "Newest",
"Top": "Top",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,39 @@
{
"\n To get your Access Key:\n 1. Sign up at SocialKit Dashboard\n 2. Copy your Access Key from the project Access Keys tab.\n **Important:** Keep your Access Key confidential.\n ": "\n To get your Access Key:\n 1. Sign up at SocialKit Dashboard\n 2. Copy your Access Key from the project Access Keys tab.\n **Important:** Keep your Access Key confidential.\n ",
"Get YouTube Details": "Get YouTube Details",
"Get YouTube Transcript": "Get YouTube Transcript",
"Get YouTube Summary": "Get YouTube Summary",
"Get YouTube Comments": "Get YouTube Comments",
"Custom API Call": "自定义 API 呼叫",
"Get detailed information about any YouTube video including title, description, view count, likes, dislikes, duration, and channel information.": "Get detailed information about any YouTube video including title, description, view count, likes, dislikes, duration, and channel information.",
"Extract the full transcript with timestamps from any YouTube video that has captions or subtitles available.": "Extract the full transcript with timestamps from any YouTube video that has captions or subtitles available.",
"Generates an AI-powered summary of a YouTube video.": "Generates an AI-powered summary of a YouTube video.",
"Fetch comments from YouTube video with options to sort and limit results.": "Fetch comments from YouTube video with options to sort and limit results.",
"Make a custom API call to a specific endpoint": "将一个自定义 API 调用到一个特定的终点",
"YouTube Video URL": "YouTube Video URL",
"Limit": "Limit",
"Sort By": "Sort By",
"Method": "方法",
"Headers": "信头",
"Query Parameters": "查询参数",
"Body": "正文内容",
"Response is Binary ?": "Response is Binary ?",
"No Error on Failure": "失败时没有错误",
"Timeout (in seconds)": "超时(秒)",
"The URL of the YouTube video you want to get details from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "The URL of the YouTube video you want to get details from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to get the transcript from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "The URL of the YouTube video to get the transcript from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to summarize. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "The URL of the YouTube video to summarize. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)",
"The URL of the YouTube video to fetch comments from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)": "The URL of the YouTube video to fetch comments from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)",
"The number of comments to retrieve (default is 10, maximum is 100).": "The number of comments to retrieve (default is 10, maximum is 100).",
"The sorting order for the comments.": "The sorting order for the comments.",
"Authorization headers are injected automatically from your connection.": "授权头自动从您的连接中注入。",
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
"Newest": "Newest",
"Top": "Top",
"GET": "获取",
"POST": "帖子",
"PATCH": "PATCH",
"PUT": "弹出",
"DELETE": "删除",
"HEAD": "黑色"
}

View File

@@ -0,0 +1,64 @@
import { createPiece, PieceAuth } from "@activepieces/pieces-framework";
import { httpClient, HttpMethod, createCustomApiCallAction, HttpHeaders } from '@activepieces/pieces-common';
import { PieceCategory } from "@activepieces/shared";
import { getYoutubeDetails } from './lib/actions/get-youtube-details';
import { getYoutubeTranscript } from './lib/actions/get-youtube-transcript';
import { getYoutubeSummary } from './lib/actions/get-youtube-summary';
import { getYoutubeComments } from "./lib/actions/get-youtube-comment";
const socialkitApiUrl = 'https://api.socialkit.dev';
export const socialkitAuth = PieceAuth.SecretText({
displayName: 'Access Key',
description: `
To get your Access Key:
1. Sign up at SocialKit Dashboard
2. Copy your Access Key from the project Access Keys tab.
**Important:** Keep your Access Key confidential.
`,
required: true,
validate: async ({ auth }) => {
try {
await httpClient.sendRequest({
method: HttpMethod.GET,
url: `${socialkitApiUrl}/youtube/stats?access_key=${auth}&url=https://youtube.com/watch?v=dQw4w9WgXcQ`,
});
return {
valid: true,
};
} catch (e) {
return {
valid: false,
error: 'Invalid Access Key.',
};
}
},
});
export const socialkit = createPiece({
displayName: "Socialkit",
auth: socialkitAuth,
minimumSupportedRelease: '0.36.1',
logoUrl: "https://cdn.activepieces.com/pieces/socialkit.png",
authors: ['david-oluwaseun420'],
categories: [PieceCategory.CONTENT_AND_FILES],
actions: [
getYoutubeDetails,
getYoutubeTranscript,
getYoutubeSummary,
getYoutubeComments,
createCustomApiCallAction({
auth: socialkitAuth,
baseUrl: () => socialkitApiUrl,
authMapping: async (auth) => {
return {
'x-access-key': auth.secret_text
} as HttpHeaders;
}
})
],
triggers: [
],
});

View File

@@ -0,0 +1,67 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
import { socialkitAuth } from '../..';
const socialkitApiUrl = 'https://api.socialkit.dev';
export const getYoutubeComments = createAction({
auth: socialkitAuth,
name: 'get_youtube_comments',
displayName: 'Get YouTube Comments',
description:
'Fetch comments from YouTube video with options to sort and limit results.',
props: {
url: Property.ShortText({
displayName: 'YouTube Video URL',
description:
'The URL of the YouTube video to fetch comments from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)',
required: true,
}),
limit: Property.Number({
displayName: 'Limit',
description:
'The number of comments to retrieve (default is 10, maximum is 100).',
required: false,
defaultValue: 10,
}),
sortBy: Property.StaticDropdown({
displayName: 'Sort By',
description: 'The sorting order for the comments.',
required: false,
options: {
options: [
{ label: 'Newest', value: 'new' },
{ label: 'Top', value: 'top' },
],
},
defaultValue: 'new',
}),
},
async run(context) {
const { url, limit, sortBy } = context.propsValue;
const accessKey = context.auth;
const queryParams: Record<string, string> = {
access_key: accessKey.secret_text,
url: url,
};
if (limit) {
queryParams['limit'] = limit.toString();
}
if (sortBy) {
queryParams['sortBy'] = sortBy;
}
const response = await httpClient.sendRequest<{
success: boolean;
data: unknown;
}>({
method: HttpMethod.GET,
url: `${socialkitApiUrl}/youtube/comments`,
queryParams: queryParams,
});
return response.body.data;
},
});

View File

@@ -0,0 +1,39 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
import { socialkitAuth } from '../../index';
const socialkitApiUrl = 'https://api.socialkit.dev';
export const getYoutubeDetails = createAction({
auth: socialkitAuth,
name: 'get_youtube_details',
displayName: 'Get YouTube Details',
description:
'Get detailed information about any YouTube video including title, description, view count, likes, dislikes, duration, and channel information.',
props: {
url: Property.ShortText({
displayName: 'YouTube Video URL',
description:
'The URL of the YouTube video you want to get details from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)',
required: true,
}),
},
async run(context) {
const { url } = context.propsValue;
const accessKey = context.auth;
const response = await httpClient.sendRequest<{
success: boolean;
data: unknown;
}>({
method: HttpMethod.GET,
url: `${socialkitApiUrl}/youtube/stats`,
queryParams: {
access_key: accessKey.secret_text,
url: url,
},
});
return response.body.data;
},
});

View File

@@ -0,0 +1,37 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
import { socialkitAuth } from '../..';
const socialkitApiUrl = 'https://api.socialkit.dev';
export const getYoutubeSummary = createAction({
auth: socialkitAuth,
name: 'get_youtube_summary',
displayName: 'Get YouTube Summary',
description: 'Generates an AI-powered summary of a YouTube video.',
props: {
url: Property.ShortText({
displayName: 'YouTube Video URL',
description: 'The URL of the YouTube video to summarize. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)',
required: true,
}),
},
async run(context) {
const { url } = context.propsValue;
const accessKey = context.auth;
const response = await httpClient.sendRequest<{
success: boolean;
data: unknown;
}>({
method: HttpMethod.GET,
url: `${socialkitApiUrl}/youtube/summarize`,
queryParams: {
access_key: accessKey.secret_text,
url: url,
},
});
return response.body.data;
},
});

View File

@@ -0,0 +1,38 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
import { socialkitAuth } from '../..';
const socialkitApiUrl = 'https://api.socialkit.dev';
export const getYoutubeTranscript = createAction({
name: 'get_youtube_transcript',
auth: socialkitAuth,
displayName: 'Get YouTube Transcript',
description:
'Extract the full transcript with timestamps from any YouTube video that has captions or subtitles available.',
props: {
url: Property.ShortText({
displayName: 'YouTube Video URL',
description:
'The URL of the YouTube video to get the transcript from. (e.g., https://www.youtube.com/watch?v=VIDEO_ID)',
required: true,
}),
},
async run(context) {
const { url } = context.propsValue;
const accessKey = context.auth;
const response = await httpClient.sendRequest<{
success: boolean;
data: unknown;
}>({
method: HttpMethod.GET,
url: `${socialkitApiUrl}/youtube/transcript`,
queryParams: {
access_key: accessKey.secret_text,
url: url,
},
});
return response.body.data;
},
});