Add Activepieces integration for workflow automation
- Add Activepieces fork with SmoothSchedule custom piece - Create integrations app with Activepieces service layer - Add embed token endpoint for iframe integration - Create Automations page with embedded workflow builder - Add sidebar visibility fix for embed mode - Add list inactive customers endpoint to Public API - Include SmoothSchedule triggers: event created/updated/cancelled - Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"Twitter": "Twitter",
|
||||
"Social media platform with over 500 million user": "Social media platform with over 500 million user",
|
||||
"Api Key": "Api Key",
|
||||
"Api Key Secret": "Api Key Secret",
|
||||
"Access Token": "Access Token",
|
||||
"Access Token Secret": "Access Token Secret",
|
||||
"The api key": "The api key",
|
||||
"The api key secret": "The api key secret",
|
||||
"The access token": "The access token",
|
||||
"The access token secret": "The access token secret",
|
||||
"\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type": "\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type of App\", fill in your website url and let the **Callback URI / Redirect URL** be **(your_website_url)/redirect** .\n\n4. Go back to your app settings page and click the **Keys and tokens** tab.\n\n5. Next to **API key and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Api Key**\n\n **Api Key Secret**\n\n6. Next to **Access token and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Access Token**\n\n **Access Token Secret**\n\n\n",
|
||||
"Create Tweet": "Create Tweet",
|
||||
"Create Reply": "Create Reply",
|
||||
"Create a tweet": "Create a tweet",
|
||||
"Reply to a tweet.": "Reply to a tweet.",
|
||||
"Text": "Text",
|
||||
"Media (1)": "Media (1)",
|
||||
"Media (2)": "Media (2)",
|
||||
"Media (3)": "Media (3)",
|
||||
"Tweet ID": "Tweet ID",
|
||||
"The text of the tweet": "The text of the tweet",
|
||||
"An image, video or GIF url or base64 to attach to the tweet": "An image, video or GIF url or base64 to attach to the tweet",
|
||||
"The ID of the tweet to reply too.": "The ID of the tweet to reply too."
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"Social media platform with over 500 million user": "Social Media Plattform mit über 500 Millionen Nutzern",
|
||||
"Api Key": "Api-Schlüssel",
|
||||
"Api Key Secret": "Api Schlüssel Geheimnis",
|
||||
"Access Token": "Zugangs-Token",
|
||||
"Access Token Secret": "Zugangs-Token Geheimnis",
|
||||
"The api key": "Die Api Taste",
|
||||
"The api key secret": "Das Api-Schlüssel Geheimnis",
|
||||
"The access token": "Das Zugriffstoken",
|
||||
"The access token secret": "Das Access Token Secret",
|
||||
"\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type": "\nWenn Sie die Anmeldedaten unten nicht haben, folgen Sie bitte diesen Schritten, um die erforderlichen Anmeldedaten zu erhalten:\n\n. Gehe zu [https://developer.twitter.com/en/portal/projects-and-apps](https://developer. witter.com/de/portal/projects-and-apps) und klicken Sie auf Ihre App-Einstellungen.\n\n2. Unter der Registerkarte **Einstellungen** klicken Sie unter **Benutzerauthentifizierungseinstellungen** auf \"Einrichten\".\n\n3. **Dieser Schritt muss vor dem Generieren der Schlüssel abgeschlossen sein**, überprüfe **Lesen und schreiben** für \"App-Berechtigungen\" und **Native App** für \"App-Typ\", Füllen Sie Ihre Website-URL aus und lassen Sie die **Callback URI / Redirect URL** **(your_website_url)/redirect** sein.\n\n4. Gehen Sie zurück zu Ihren App-Einstellungen und klicken Sie auf den Tab **Keys und Tokens**\n\n5. Neben dem **API-Schlüssel und Geheimnis**, Klicken Sie auf \"Regenerieren\" und kopieren Sie die folgenden Werte in die Eingaben unten:\n\n **Api Schlüssel**\n\n **Api Schlüsselgeheimnis**\n\n6. Neben dem **Zugangs-Token und Geheimnis**, klicken Sie auf \"Regenerieren\" und kopieren Sie die folgenden Werte in die Eingaben unten:\n\n **Access Token** \n\n **Access Token Secret**\n\n\n",
|
||||
"Create Tweet": "Tweet erstellen",
|
||||
"Create Reply": "Antwort erstellen",
|
||||
"Create a tweet": "Tweet erstellen",
|
||||
"Reply to a tweet.": "Auf einen Tweet antworten.",
|
||||
"Text": "Text",
|
||||
"Media (1)": "Medien (1)",
|
||||
"Media (2)": "Medien (2)",
|
||||
"Media (3)": "Medien (3)",
|
||||
"Tweet ID": "Tweet-ID",
|
||||
"The text of the tweet": "Der Text des Tweets",
|
||||
"An image, video or GIF url or base64 to attach to the tweet": "Eine Bild-, Video-oder GIF-URL oder Base64, die an den Tweet angehängt werden soll",
|
||||
"The ID of the tweet to reply too.": "Die ID des zu beantwortenden Tweets."
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"Social media platform with over 500 million user": "Plataforma de redes sociales con más de 500 millones de usuarios",
|
||||
"Api Key": "Clave Api",
|
||||
"Api Key Secret": "Clave Api secreta",
|
||||
"Access Token": "Token de acceso",
|
||||
"Access Token Secret": "Acceso al secreto del token",
|
||||
"The api key": "La tecla api",
|
||||
"The api key secret": "El secreto de la clave api",
|
||||
"The access token": "El token de acceso",
|
||||
"The access token secret": "El secreto del token de acceso",
|
||||
"\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type": "\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type of App\", fill in your website url and let the **Callback URI / Redirect URL** be **(your_website_url)/redirect** .\n\n4. Go back to your app settings page and click the **Keys and tokens** tab.\n\n5. Next to **API key and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Api Key**\n\n **Api Key Secret**\n\n6. Next to **Access token and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Access Token**\n\n **Access Token Secret**\n\n\n",
|
||||
"Create Tweet": "Crear Tweet",
|
||||
"Create Reply": "Crear respuesta",
|
||||
"Create a tweet": "Crear un tweet",
|
||||
"Reply to a tweet.": "Responder a un tweet.",
|
||||
"Text": "Texto",
|
||||
"Media (1)": "Medios (1)",
|
||||
"Media (2)": "Medios (2)",
|
||||
"Media (3)": "Medios (3)",
|
||||
"Tweet ID": "Tweet ID",
|
||||
"The text of the tweet": "El texto del tweet",
|
||||
"An image, video or GIF url or base64 to attach to the tweet": "Una imagen, video o url GIF o base64 para adjuntar al tweet",
|
||||
"The ID of the tweet to reply too.": "El ID del tweet para responder también."
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"Social media platform with over 500 million user": "Plateforme de médias sociaux avec plus de 500 millions d'utilisateurs",
|
||||
"Api Key": "Clé Api",
|
||||
"Api Key Secret": "Secret de la clé API",
|
||||
"Access Token": "Jeton d'accès",
|
||||
"Access Token Secret": "Secret du jeton d'accès",
|
||||
"The api key": "La clé api",
|
||||
"The api key secret": "Le secret de la clé api",
|
||||
"The access token": "Le jeton d'accès",
|
||||
"The access token secret": "Le secret du jeton d'accès",
|
||||
"\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type": "\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type of App\", fill in your website url and let the **Callback URI / Redirect URL** be **(your_website_url)/redirect** .\n\n4. Go back to your app settings page and click the **Keys and tokens** tab.\n\n5. Next to **API key and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Api Key**\n\n **Api Key Secret**\n\n6. Next to **Access token and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Access Token**\n\n **Access Token Secret**\n\n\n",
|
||||
"Create Tweet": "Créer un Tweet",
|
||||
"Create Reply": "Créer une réponse",
|
||||
"Create a tweet": "Créer un tweet",
|
||||
"Reply to a tweet.": "Répondre à un tweet.",
|
||||
"Text": "Texte du texte",
|
||||
"Media (1)": "Média (1)",
|
||||
"Media (2)": "Média (2)",
|
||||
"Media (3)": "Média (3)",
|
||||
"Tweet ID": "ID du Tweet",
|
||||
"The text of the tweet": "Le texte du tweet",
|
||||
"An image, video or GIF url or base64 to attach to the tweet": "Une image, une vidéo ou une URL GIF ou base64 à attacher au tweet",
|
||||
"The ID of the tweet to reply too.": "L'ID du tweet à répondre aussi."
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"Twitter": "Twitter",
|
||||
"Social media platform with over 500 million user": "Social media platform with over 500 million user",
|
||||
"Api Key": "Api Key",
|
||||
"Api Key Secret": "Api Key Secret",
|
||||
"Access Token": "Access Token",
|
||||
"Access Token Secret": "Access Token Secret",
|
||||
"The api key": "The api key",
|
||||
"The api key secret": "The api key secret",
|
||||
"The access token": "The access token",
|
||||
"The access token secret": "The access token secret",
|
||||
"\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type": "\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type of App\", fill in your website url and let the **Callback URI / Redirect URL** be **(your_website_url)/redirect** .\n\n4. Go back to your app settings page and click the **Keys and tokens** tab.\n\n5. Next to **API key and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Api Key**\n\n **Api Key Secret**\n\n6. Next to **Access token and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Access Token**\n\n **Access Token Secret**\n\n\n",
|
||||
"Create Tweet": "Create Tweet",
|
||||
"Create Reply": "Create Reply",
|
||||
"Create a tweet": "Create a tweet",
|
||||
"Reply to a tweet.": "Reply to a tweet.",
|
||||
"Text": "Text",
|
||||
"Media (1)": "Media (1)",
|
||||
"Media (2)": "Media (2)",
|
||||
"Media (3)": "Media (3)",
|
||||
"Tweet ID": "Tweet ID",
|
||||
"The text of the tweet": "The text of the tweet",
|
||||
"An image, video or GIF url or base64 to attach to the tweet": "An image, video or GIF url or base64 to attach to the tweet",
|
||||
"The ID of the tweet to reply too.": "The ID of the tweet to reply too."
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"Twitter": "Twitter",
|
||||
"Social media platform with over 500 million user": "Social media platform with over 500 million user",
|
||||
"Api Key": "Api Key",
|
||||
"Api Key Secret": "Api Key Secret",
|
||||
"Access Token": "Access Token",
|
||||
"Access Token Secret": "Access Token Secret",
|
||||
"The api key": "The api key",
|
||||
"The api key secret": "The api key secret",
|
||||
"The access token": "The access token",
|
||||
"The access token secret": "The access token secret",
|
||||
"\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type": "\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type of App\", fill in your website url and let the **Callback URI / Redirect URL** be **(your_website_url)/redirect** .\n\n4. Go back to your app settings page and click the **Keys and tokens** tab.\n\n5. Next to **API key and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Api Key**\n\n **Api Key Secret**\n\n6. Next to **Access token and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Access Token**\n\n **Access Token Secret**\n\n\n",
|
||||
"Create Tweet": "Create Tweet",
|
||||
"Create Reply": "Create Reply",
|
||||
"Create a tweet": "Create a tweet",
|
||||
"Reply to a tweet.": "Reply to a tweet.",
|
||||
"Text": "Text",
|
||||
"Media (1)": "Media (1)",
|
||||
"Media (2)": "Media (2)",
|
||||
"Media (3)": "Media (3)",
|
||||
"Tweet ID": "Tweet ID",
|
||||
"The text of the tweet": "The text of the tweet",
|
||||
"An image, video or GIF url or base64 to attach to the tweet": "An image, video or GIF url or base64 to attach to the tweet",
|
||||
"The ID of the tweet to reply too.": "The ID of the tweet to reply too."
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"Social media platform with over 500 million user": "5億人以上のユーザーを持つソーシャルメディアプラットフォーム。",
|
||||
"Api Key": "API キー",
|
||||
"Api Key Secret": "Api キーシークレット",
|
||||
"Access Token": "アクセストークン",
|
||||
"Access Token Secret": "アクセストークンシークレット",
|
||||
"The api key": "APIキー",
|
||||
"The api key secret": "API キーの秘密",
|
||||
"The access token": "アクセストークン",
|
||||
"The access token secret": "アクセストークンの秘密",
|
||||
"\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type": "\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type of App\", fill in your website url and let the **Callback URI / Redirect URL** be **(your_website_url)/redirect** .\n\n4. Go back to your app settings page and click the **Keys and tokens** tab.\n\n5. Next to **API key and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Api Key**\n\n **Api Key Secret**\n\n6. Next to **Access token and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Access Token**\n\n **Access Token Secret**\n\n\n",
|
||||
"Create Tweet": "ツイートを作成",
|
||||
"Create Reply": "返信を作成",
|
||||
"Create a tweet": "ツイートを作成",
|
||||
"Reply to a tweet.": "ツイートに返信する",
|
||||
"Text": "テキスト",
|
||||
"Media (1)": "メディア (1)",
|
||||
"Media (2)": "メディア (2)",
|
||||
"Media (3)": "メディア (3)",
|
||||
"Tweet ID": "ツイートID",
|
||||
"The text of the tweet": "ツイートのテキスト",
|
||||
"An image, video or GIF url or base64 to attach to the tweet": "ツイートに添付する画像、ビデオ、または GIF URL または base64",
|
||||
"The ID of the tweet to reply too.": "あまりにも返信するツイートのID。"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"Social media platform with over 500 million user": "Sociale media platform met meer dan 500 miljoen gebruikers",
|
||||
"Api Key": "API sleutel",
|
||||
"Api Key Secret": "Api-sleutel geheim",
|
||||
"Access Token": "Toegangs-token",
|
||||
"Access Token Secret": "Toegang Token Geheim",
|
||||
"The api key": "De API sleutel",
|
||||
"The api key secret": "De API key secret",
|
||||
"The access token": "De toegangstoken",
|
||||
"The access token secret": "Het toegangstoken geheim",
|
||||
"\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type": "\nAls u niet onderstaande inloggegevens hebt, volg dan deze stappen om de vereiste inloggegevens te verkrijgen:\n\n. Ga naar [https://developer.twitter.com/en/portal/projects-and-apps](https://developer. witter.com/en/portal/projects-and-apps) en klik op je app-instellingen.\n\n2. Onder het **Instellingen** tabblad dan onder **Gebruikersauthenticatie** sectie, klik op \"Stel op\".\n\n3. **Deze stap moet worden voltooid voordat de sleutels worden gegenereerd**, controleer **Lees en schrijven** voor \"App rechten\" en **Inheemse App** voor \"Type App\", vul je website url in en laat de **Callback URI / Redirect URL** **(your_website_url)/redirect** zijn.\n\n4. Ga terug naar de instellingen pagina van je app en klik op het tabblad **sleutels en tokens**.\n\n5. Naast **API key en geheim**, klik op \"Hergenereren\" en kopieer de volgende waarden naar de onderstaande invoergegevens:\n\n **Api Key**\n\n **Api Key Secret**\n\n6. Naast **Toegangstoken en geheim**, klik op \"Hergenereren\" en kopieer de volgende waarden naar de onderstaande invoer:\n\n **Access Token** \n\n **Access Token Secret**\n\n\n",
|
||||
"Create Tweet": "Tweet aanmaken",
|
||||
"Create Reply": "Maak een antwoord",
|
||||
"Create a tweet": "Een tweet maken",
|
||||
"Reply to a tweet.": "Antwoord op tweet.",
|
||||
"Text": "Tekstveld",
|
||||
"Media (1)": "Media (1)",
|
||||
"Media (2)": "Media (2)",
|
||||
"Media (3)": "Media (3)",
|
||||
"Tweet ID": "Tweet ID",
|
||||
"The text of the tweet": "De tekst van de tweet",
|
||||
"An image, video or GIF url or base64 to attach to the tweet": "Een afbeelding, video of GIF url of base64 om aan de tweet toe te voegen",
|
||||
"The ID of the tweet to reply too.": "De ID van de tweet om te beantwoorden."
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"Social media platform with over 500 million user": "Plataforma de mídia social com mais de 500 milhões de usuários",
|
||||
"Api Key": "Chave de API",
|
||||
"Api Key Secret": "Segredo da Chave Api",
|
||||
"Access Token": "Token de acesso",
|
||||
"Access Token Secret": "Token secreto de acesso",
|
||||
"The api key": "A chave da api",
|
||||
"The api key secret": "O segredo da chave API",
|
||||
"The access token": "O token de acesso",
|
||||
"The access token secret": "O segredo do token de acesso",
|
||||
"\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type": "\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type of App\", fill in your website url and let the **Callback URI / Redirect URL** be **(your_website_url)/redirect** .\n\n4. Go back to your app settings page and click the **Keys and tokens** tab.\n\n5. Next to **API key and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Api Key**\n\n **Api Key Secret**\n\n6. Next to **Access token and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Access Token**\n\n **Access Token Secret**\n\n\n",
|
||||
"Create Tweet": "Criar Tweet",
|
||||
"Create Reply": "Criar resposta",
|
||||
"Create a tweet": "Criar um tweet",
|
||||
"Reply to a tweet.": "Responda a um tweet.",
|
||||
"Text": "texto",
|
||||
"Media (1)": "Mídia (1)",
|
||||
"Media (2)": "Mídia (2)",
|
||||
"Media (3)": "Mídia (3)",
|
||||
"Tweet ID": "ID do Tweet",
|
||||
"The text of the tweet": "O texto do tweet",
|
||||
"An image, video or GIF url or base64 to attach to the tweet": "Uma imagem, vídeo ou URL de GIF ou base64 para anexar ao tweet",
|
||||
"The ID of the tweet to reply too.": "O ID do tweet para responder também."
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"Twitter": "Твиттер",
|
||||
"Social media platform with over 500 million user": "Платформа социальных сетей с более чем 500 миллионами пользователей",
|
||||
"Api Key": "Api Ключ",
|
||||
"Api Key Secret": "Секретный ключ Api",
|
||||
"Access Token": "Маркер доступа",
|
||||
"Access Token Secret": "Секрет Маркера Доступа",
|
||||
"The api key": "Ключ api",
|
||||
"The api key secret": "Секретный ключ api",
|
||||
"The access token": "Токен доступа",
|
||||
"The access token secret": "Секретный ключ доступа",
|
||||
"\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type": "\nЕсли у вас нет данных ниже, выполните следующие действия, чтобы получить необходимые учетные данные:\n\n. Перейдите к [https://developer.twitter.com/en/portal/projects-and-apps](https://developer. witter.com/ru/portal/projects-and-apps) и нажмите на настройки вашего приложения.\n\n2. В закладке **Настройки** затем в разделе **Настройки аутентификации пользователя** нажмите \"Настроить\".\n\n3. **Этот шаг должен быть завершен перед созданием ключей**, проверьте **Чтение и запись** на \"Права приложения\" и **Нативное приложение** для \"Типа приложения\", введите адрес вашего сайта и пусть **Callback URI / Redirect URL** будет **(ваш_сайт_url)/redirect** .\n\n4. Вернитесь на страницу настроек приложения и нажмите на вкладку **Ключи и токен**. Оformat@@6 5. Рядом с **API ключом и секретом**, нажмите «Регенерировать» и скопируйте следующие значения в данные ниже:\n\n **Api Key**\n\n **Api Key Secret**\n\n\n\n. Рядом с **Access token и секрет**, нажмите «Перегенерировать» и скопируйте следующие значения в данные ниже:\n\n **Маркер доступа** \n\n **Маркер доступа**\n\n\n",
|
||||
"Create Tweet": "Создать твит",
|
||||
"Create Reply": "Создать ответ",
|
||||
"Create a tweet": "Создать твит",
|
||||
"Reply to a tweet.": "Ответить на твит.",
|
||||
"Text": "Текст",
|
||||
"Media (1)": "Средства массовой информации (1)",
|
||||
"Media (2)": "Средства массовой информации (2)",
|
||||
"Media (3)": "Средства массовой информации (3)",
|
||||
"Tweet ID": "Tweet ID",
|
||||
"The text of the tweet": "Текст твита",
|
||||
"An image, video or GIF url or base64 to attach to the tweet": "Изображение, видео или GIF url или base64 для прикрепления к твиту",
|
||||
"The ID of the tweet to reply too.": "ID твита для ответа тоже."
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"Social media platform with over 500 million user": "Social media platform with over 500 million user",
|
||||
"Api Key": "Api Key",
|
||||
"Api Key Secret": "Api Key Secret",
|
||||
"Access Token": "Access Token",
|
||||
"Access Token Secret": "Access Token Secret",
|
||||
"The api key": "The api key",
|
||||
"The api key secret": "The api key secret",
|
||||
"The access token": "The access token",
|
||||
"The access token secret": "The access token secret",
|
||||
"\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type": "\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type of App\", fill in your website url and let the **Callback URI / Redirect URL** be **(your_website_url)/redirect** .\n\n4. Go back to your app settings page and click the **Keys and tokens** tab.\n\n5. Next to **API key and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Api Key**\n\n **Api Key Secret**\n\n6. Next to **Access token and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Access Token**\n\n **Access Token Secret**\n\n\n",
|
||||
"Create Tweet": "Create Tweet",
|
||||
"Create Reply": "Create Reply",
|
||||
"Create a tweet": "Create a tweet",
|
||||
"Reply to a tweet.": "Reply to a tweet.",
|
||||
"Text": "Text",
|
||||
"Media (1)": "Media (1)",
|
||||
"Media (2)": "Media (2)",
|
||||
"Media (3)": "Media (3)",
|
||||
"Tweet ID": "Tweet ID",
|
||||
"The text of the tweet": "The text of the tweet",
|
||||
"An image, video or GIF url or base64 to attach to the tweet": "An image, video or GIF url or base64 to attach to the tweet",
|
||||
"The ID of the tweet to reply too.": "The ID of the tweet to reply too."
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"Twitter": "Twitter",
|
||||
"Social media platform with over 500 million user": "Social media platform with over 500 million user",
|
||||
"Api Key": "Api Key",
|
||||
"Api Key Secret": "Api Key Secret",
|
||||
"Access Token": "Access Token",
|
||||
"Access Token Secret": "Access Token Secret",
|
||||
"The api key": "The api key",
|
||||
"The api key secret": "The api key secret",
|
||||
"The access token": "The access token",
|
||||
"The access token secret": "The access token secret",
|
||||
"\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type": "\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type of App\", fill in your website url and let the **Callback URI / Redirect URL** be **(your_website_url)/redirect** .\n\n4. Go back to your app settings page and click the **Keys and tokens** tab.\n\n5. Next to **API key and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Api Key**\n\n **Api Key Secret**\n\n6. Next to **Access token and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Access Token**\n\n **Access Token Secret**\n\n\n",
|
||||
"Create Tweet": "Create Tweet",
|
||||
"Create Reply": "Create Reply",
|
||||
"Create a tweet": "Create a tweet",
|
||||
"Reply to a tweet.": "Reply to a tweet.",
|
||||
"Text": "Text",
|
||||
"Media (1)": "Media (1)",
|
||||
"Media (2)": "Media (2)",
|
||||
"Media (3)": "Media (3)",
|
||||
"Tweet ID": "Tweet ID",
|
||||
"The text of the tweet": "The text of the tweet",
|
||||
"An image, video or GIF url or base64 to attach to the tweet": "An image, video or GIF url or base64 to attach to the tweet",
|
||||
"The ID of the tweet to reply too.": "The ID of the tweet to reply too."
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"Social media platform with over 500 million user": "Social media platform with over 500 million user",
|
||||
"Api Key": "Api Key",
|
||||
"Api Key Secret": "Api Key Secret",
|
||||
"Access Token": "Access Token",
|
||||
"Access Token Secret": "Access Token Secret",
|
||||
"The api key": "The api key",
|
||||
"The api key secret": "The api key secret",
|
||||
"The access token": "The access token",
|
||||
"The access token secret": "The access token secret",
|
||||
"\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type": "\nIf you don't have the credentials down below, please follow these steps to obtain the required credentials:\n\n1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.\n\n2. Under the **Settings** tab then under **User authentication settings** section, click \"Set up\".\n\n3. **This step must be completed before generating the keys**, check on **Read and write** for \"App permissions\" and **Native App** for \"Type of App\", fill in your website url and let the **Callback URI / Redirect URL** be **(your_website_url)/redirect** .\n\n4. Go back to your app settings page and click the **Keys and tokens** tab.\n\n5. Next to **API key and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Api Key**\n\n **Api Key Secret**\n\n6. Next to **Access token and secret**, click \"Regenerate\" and copy the following values to the inputs below:\n\n **Access Token**\n\n **Access Token Secret**\n\n\n",
|
||||
"Create Tweet": "Create Tweet",
|
||||
"Create Reply": "Create Reply",
|
||||
"Create a tweet": "Create a tweet",
|
||||
"Reply to a tweet.": "Reply to a tweet.",
|
||||
"Text": "文本",
|
||||
"Media (1)": "Media (1)",
|
||||
"Media (2)": "Media (2)",
|
||||
"Media (3)": "Media (3)",
|
||||
"Tweet ID": "Tweet ID",
|
||||
"The text of the tweet": "The text of the tweet",
|
||||
"An image, video or GIF url or base64 to attach to the tweet": "An image, video or GIF url or base64 to attach to the tweet",
|
||||
"The ID of the tweet to reply too.": "The ID of the tweet to reply too."
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
import {
|
||||
PieceAuth,
|
||||
Property,
|
||||
createPiece,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { PieceCategory } from '@activepieces/shared';
|
||||
import { TwitterApi } from 'twitter-api-v2';
|
||||
import { createTweet } from './lib/actions/create-tweet';
|
||||
import { createReply } from './lib/actions/create-reply';
|
||||
|
||||
const markdownDescription = `
|
||||
If you don't have the credentials down below, please follow these steps to obtain the required credentials:
|
||||
|
||||
1. Go to [https://developer.twitter.com/en/portal/projects-and-apps](https://developer.twitter.com/en/portal/projects-and-apps) and click on your app settings.
|
||||
|
||||
2. Under the **Settings** tab then under **User authentication settings** section, click "Set up".
|
||||
|
||||
3. **This step must be completed before generating the keys**, check on **Read and write** for "App permissions" and **Native App** for "Type of App", fill in your website url and let the **Callback URI / Redirect URL** be **(your_website_url)/redirect** .
|
||||
|
||||
4. Go back to your app settings page and click the **Keys and tokens** tab.
|
||||
|
||||
5. Next to **API key and secret**, click "Regenerate" and copy the following values to the inputs below:
|
||||
|
||||
**Api Key**
|
||||
|
||||
**Api Key Secret**
|
||||
|
||||
6. Next to **Access token and secret**, click "Regenerate" and copy the following values to the inputs below:
|
||||
|
||||
**Access Token**
|
||||
|
||||
**Access Token Secret**
|
||||
|
||||
|
||||
`;
|
||||
|
||||
export const twitterAuth = PieceAuth.CustomAuth({
|
||||
description: markdownDescription,
|
||||
props: {
|
||||
consumerKey: Property.ShortText({
|
||||
displayName: 'Api Key',
|
||||
description: 'The api key',
|
||||
required: true,
|
||||
}),
|
||||
consumerSecret: Property.ShortText({
|
||||
displayName: 'Api Key Secret',
|
||||
description: 'The api key secret',
|
||||
required: true,
|
||||
}),
|
||||
accessToken: Property.ShortText({
|
||||
displayName: 'Access Token',
|
||||
description: 'The access token',
|
||||
required: true,
|
||||
}),
|
||||
accessTokenSecret: Property.ShortText({
|
||||
displayName: 'Access Token Secret',
|
||||
description: 'The access token secret',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
validate: async ({ auth }) => {
|
||||
const { consumerKey, consumerSecret, accessToken, accessTokenSecret } =
|
||||
auth;
|
||||
const userClient = new TwitterApi({
|
||||
appKey: consumerKey,
|
||||
appSecret: consumerSecret,
|
||||
accessToken: accessToken,
|
||||
accessSecret: accessTokenSecret,
|
||||
});
|
||||
try {
|
||||
await userClient.v2.me();
|
||||
return { valid: true };
|
||||
} catch (e) {
|
||||
return {
|
||||
valid: false,
|
||||
error:
|
||||
'Please make sure you have followed steps carefully and that your app is placed in a project.',
|
||||
};
|
||||
}
|
||||
},
|
||||
required: true,
|
||||
});
|
||||
|
||||
export const twitter = createPiece({
|
||||
displayName: 'Twitter',
|
||||
description: 'Social media platform with over 500 million user',
|
||||
minimumSupportedRelease: '0.36.1',
|
||||
logoUrl: 'https://cdn.activepieces.com/pieces/twitter.png',
|
||||
categories: [PieceCategory.COMMUNICATION],
|
||||
authors: ["Abdallah-Alwarawreh","Salem-Alaa","kishanprmr","AbdulTheActivePiecer","khaledmashaly","abuaboud"],
|
||||
auth: twitterAuth,
|
||||
actions: [createTweet, createReply],
|
||||
triggers: [],
|
||||
});
|
||||
@@ -0,0 +1,78 @@
|
||||
import {
|
||||
ApFile,
|
||||
Property,
|
||||
createAction,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { TwitterApi } from 'twitter-api-v2';
|
||||
import { twitterAuth } from '../..';
|
||||
import { twitterCommon } from '../common';
|
||||
import { z } from 'zod';
|
||||
import { propsValidation } from '@activepieces/pieces-common';
|
||||
|
||||
export const createReply = createAction({
|
||||
auth: twitterAuth,
|
||||
|
||||
name: 'create-reply',
|
||||
displayName: 'Create Reply',
|
||||
description: 'Reply to a tweet.',
|
||||
props: {
|
||||
tweet_id: Property.LongText({
|
||||
displayName: 'Tweet ID',
|
||||
description: 'The ID of the tweet to reply too.',
|
||||
required: true,
|
||||
}),
|
||||
text: twitterCommon.text,
|
||||
image_1: twitterCommon.image_1,
|
||||
image_2: twitterCommon.image_2,
|
||||
image_3: twitterCommon.image_3,
|
||||
},
|
||||
async run(context) {
|
||||
await propsValidation.validateZod(context.propsValue, {
|
||||
text: z.string().min(1),
|
||||
});
|
||||
|
||||
const { consumerKey, consumerSecret, accessToken, accessTokenSecret } =
|
||||
context.auth.props;
|
||||
const userClient = new TwitterApi({
|
||||
appKey: consumerKey,
|
||||
appSecret: consumerSecret,
|
||||
accessToken: accessToken,
|
||||
accessSecret: accessTokenSecret,
|
||||
});
|
||||
|
||||
try {
|
||||
const media: ApFile[] = [
|
||||
context.propsValue.image_1,
|
||||
context.propsValue.image_2,
|
||||
context.propsValue.image_3,
|
||||
].filter((m): m is ApFile => !!m);
|
||||
const uploadedMedia: Promise<string>[] = [];
|
||||
media.forEach((m) => {
|
||||
uploadedMedia.push(
|
||||
userClient.v1.uploadMedia(Buffer.from(m.base64, 'base64'), {
|
||||
mimeType: 'image/png',
|
||||
target: 'tweet',
|
||||
})
|
||||
);
|
||||
});
|
||||
const uploaded = await Promise.all(uploadedMedia);
|
||||
|
||||
const response =
|
||||
uploaded.length > 0
|
||||
? await userClient.v2.reply(context.propsValue.text, context.propsValue.tweet_id, {
|
||||
media: {
|
||||
media_ids: [...uploaded],
|
||||
},
|
||||
})
|
||||
: await userClient.v2.reply(context.propsValue.text, context.propsValue.tweet_id);
|
||||
return response || { success: true };
|
||||
} catch (error: any) {
|
||||
throw new Error(
|
||||
JSON.stringify({
|
||||
code: error.code,
|
||||
errors: error.errors,
|
||||
})
|
||||
);
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,73 @@
|
||||
import {
|
||||
ApFile,
|
||||
createAction,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { TwitterApi } from 'twitter-api-v2';
|
||||
import { twitterAuth } from '../..';
|
||||
import { twitterCommon } from '../common';
|
||||
import { z } from 'zod';
|
||||
import { propsValidation } from '@activepieces/pieces-common';
|
||||
import mime from 'mime-types';
|
||||
|
||||
export const createTweet = createAction({
|
||||
auth: twitterAuth,
|
||||
|
||||
name: 'create-tweet',
|
||||
displayName: 'Create Tweet',
|
||||
description: 'Create a tweet',
|
||||
props: {
|
||||
text: twitterCommon.text,
|
||||
image_1: twitterCommon.image_1,
|
||||
image_2: twitterCommon.image_2,
|
||||
image_3: twitterCommon.image_3,
|
||||
},
|
||||
async run(context) {
|
||||
await propsValidation.validateZod(context.propsValue, {
|
||||
text: z.string().min(1),
|
||||
});
|
||||
|
||||
const { consumerKey, consumerSecret, accessToken, accessTokenSecret } =
|
||||
context.auth.props;
|
||||
const userClient = new TwitterApi({
|
||||
appKey: consumerKey,
|
||||
appSecret: consumerSecret,
|
||||
accessToken: accessToken,
|
||||
accessSecret: accessTokenSecret,
|
||||
});
|
||||
|
||||
try {
|
||||
const media: ApFile[] = [
|
||||
context.propsValue.image_1,
|
||||
context.propsValue.image_2,
|
||||
context.propsValue.image_3,
|
||||
].filter((m): m is ApFile => !!m);
|
||||
const uploadedMedia: Promise<string>[] = [];
|
||||
media.forEach((m) => {
|
||||
uploadedMedia.push(
|
||||
userClient.v1.uploadMedia(Buffer.from(m.base64, 'base64'), {
|
||||
mimeType: m.extension ?mime.lookup(m.extension)|| 'image/png':'image/png',
|
||||
target: 'tweet',
|
||||
})
|
||||
);
|
||||
});
|
||||
const uploaded = await Promise.all(uploadedMedia);
|
||||
|
||||
const response =
|
||||
uploaded.length > 0
|
||||
? await userClient.v2.tweet(context.propsValue.text, {
|
||||
media: {
|
||||
media_ids: [...uploaded],
|
||||
},
|
||||
})
|
||||
: await userClient.v2.tweet(context.propsValue.text);
|
||||
return response || { success: true };
|
||||
} catch (error: any) {
|
||||
throw new Error(
|
||||
JSON.stringify({
|
||||
code: error.code,
|
||||
errors: error.errors,
|
||||
})
|
||||
);
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,27 @@
|
||||
import { Property } from '@activepieces/pieces-framework';
|
||||
|
||||
export const twitterCommon = {
|
||||
text: Property.LongText({
|
||||
displayName: 'Text',
|
||||
description: 'The text of the tweet',
|
||||
required: true,
|
||||
}),
|
||||
image_1: Property.File({
|
||||
displayName: 'Media (1)',
|
||||
description:
|
||||
'An image, video or GIF url or base64 to attach to the tweet',
|
||||
required: false,
|
||||
}),
|
||||
image_2: Property.File({
|
||||
displayName: 'Media (2)',
|
||||
description:
|
||||
'An image, video or GIF url or base64 to attach to the tweet',
|
||||
required: false,
|
||||
}),
|
||||
image_3: Property.File({
|
||||
displayName: 'Media (3)',
|
||||
description:
|
||||
'An image, video or GIF url or base64 to attach to the tweet',
|
||||
required: false,
|
||||
}),
|
||||
};
|
||||
Reference in New Issue
Block a user