Twitter Virtual AI Influencer

Automate the creation and scheduling of tweets for a virtual AI influencer profile, ensuring a consistent and engaging online presence. This workflow connects OpenAI to generate tweet content based on your configured influencer persona, then uses the Twitter/X integration to post these tweets automatically. It’s ideal for marketers, content creators, or businesses looking to maintain an active social media presence without constant manual intervention, solving the challenge of consistent content generation and scheduling. By leveraging a scheduled trigger to post every six hours, this automation frees up significant time and resources, allowing you to focus on broader strategic initiatives while your AI influencer continues to engage with its audience around the clock.

12 nodesschedule trigger73 views0 copiesSocial Media
OpenAITwitter/X

Workflow JSON

{"meta": {"instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"}, "nodes": [{"id": "ea9ddb4c-af49-480c-8b73-221b3741069d", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [920, 400], "parameters": {"width": 389, "height": 265, "content": "## Scheduled posting \nWrite a tweet every 6 hours and randomize the minutes that it's posted at to make it seem natural.\n"}, "typeVersion": 1}, {"id": "9650b047-7d5e-4ed2-948c-d5be77a94b5d", "name": "Post tweet", "type": "n8n-nodes-base.twitter", "position": [2940, 520], "parameters": {"text": "={{ $json.message.content.tweet }}", "additionalFields": {}}, "credentials": {"twitterOAuth2Api": {"id": "", "name": "[Your twitterOAuth2Api]"}}, "typeVersion": 2}, {"id": "fd7fc941-37de-4f88-87c0-f62ad1ebe2d6", "name": "Schedule posting every 6 hours", "type": "n8n-nodes-base.scheduleTrigger", "position": [1140, 500], "parameters": {"rule": {"interval": [{"field": "hours", "hoursInterval": 6, "triggerAtMinute": "={{ Math.floor(Math.random() * 60) }}"}]}}, "typeVersion": 1.1}, {"id": "107fd741-5c17-4cd6-98aa-088bf8df523d", "name": "Trigger posting manually", "type": "n8n-nodes-base.manualTrigger", "position": [1140, 820], "parameters": {}, "typeVersion": 1}, {"id": "831cd431-56e5-482e-a8a5-e5c5ac078ba4", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [1360, 400], "parameters": {"width": 389, "height": 265, "content": "## Configure influencer profile \nSet your target niche, writing style, and inspiration.\n"}, "typeVersion": 1}, {"id": "791c0be9-6396-4768-ab6b-3ca7fe49fbea", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [1800, 400], "parameters": {"width": 389, "height": 265, "content": "## Generate tweet\nGenerate a potentially viral tweet based on your configuration."}, "typeVersion": 1}, {"id": "3b2872cf-38f9-4cfd-befd-ad792219c313", "name": "Sticky Note4", "type": "n8n-nodes-base.stickyNote", "position": [2240, 400], "parameters": {"width": 389, "height": 265, "content": "## Validate tweet\nIf the generated tweet does not meet length constraints, regenerate it."}, "typeVersion": 1}, {"id": "364310a1-0367-4ce2-a91b-9a9c4d9387a0", "name": "Sticky Note5", "type": "n8n-nodes-base.stickyNote", "position": [2680, 400], "parameters": {"width": 389, "height": 265, "content": "## Post the tweet\nPost the tweet to your X account."}, "typeVersion": 1}, {"id": "c666ba9f-d28d-449b-8e20-65c0150cba5b", "name": "Verify tweet constraints", "type": "n8n-nodes-base.if", "position": [2480, 500], "parameters": {"options": {}, "conditions": {"options": {"leftValue": "", "caseSensitive": true, "typeValidation": "strict"}, "combinator": "and", "conditions": [{"id": "0a6ebbb6-4b14-4c7e-9390-215e32921663", "operator": {"type": "number", "operation": "gt"}, "leftValue": "={{ $json.message.content.tweet.length }}", "rightValue": 280}]}}, "typeVersion": 2}, {"id": "9bf25238-98ba-4201-aecc-22be27f095c8", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [920, 720], "parameters": {"width": 389, "height": 265, "content": "## On-demand posting \nWrite a tweet on demand, when you manually run your workflow.\n"}, "typeVersion": 1}, {"id": "4b95c041-a70e-42f9-9467-26de2abe6b7a", "name": "Generate tweet content", "type": "@n8n/n8n-nodes-langchain.openAi", "position": [1900, 500], "parameters": {"modelId": {"__rl": true, "mode": "list", "value": "gpt-4-turbo-preview", "cachedResultName": "GPT-4-TURBO-PREVIEW"}, "options": {}, "messages": {"values": [{"role": "system", "content": "=You are a successful modern Twitter influencer. Your tweets always go viral. "}, {"role": "system", "content": "=You have a specific writing style: {{ $json.style }}"}, {"role": "system", "content": "=You follow the principles described in your inspiration sources closely and you write your tweets based on that: {{ $json.inspiration }}"}, {"role": "system", "content": "=You have a very specific niche: {{ $json.niche }}"}, {"role": "system", "content": "=Answer with the viral tweet and nothing else as a response. Keep the tweet within 280 characters. Current date and time are {{DateTime.now()}}. Add hashtags and emojis where relevant."}, {"content": "Write a tweet that is certain to go viral. Take your time in writing it. Think. Use the vast knowledge you have."}]}, "jsonOutput": true}, "credentials": {"openAiApi": {"id": "", "name": "[Your openAiApi]"}}, "typeVersion": 1}, {"id": "18f1af3a-58b3-4a4d-a8ad-3657da9c41ba", "name": "Configure your influencer profile", "type": "n8n-nodes-base.set", "position": [1580, 500], "parameters": {"options": {}, "assignments": {"assignments": [{"id": "45268b04-68a1-420f-9ad2-950844d16af1", "name": "niche", "type": "string", "value": "Modern Stoicism. You tweet about the greatest stoics, their ideas, their quotes, and how their wisdom applies in today's modern life. You love sharing personal stories and experiences."}, {"id": "d95f4a1c-ab1c-4eca-8732-3d7a087f82d8", "name": "style", "type": "string", "value": "All of your tweets are very personal. "}, {"id": "1ee088f7-7021-48c0-bcb7-d1011eb0db3d", "name": "inspiration", "type": "string", "value": "Your inspiration comes from tens of books on stoicism, psychology, and how to influence people. Books such as \"Contagious\" by Jonah Bergen, \"How To Be Internet Famous\" by Brendan Cox, \"How to Win Friends and Influence People\" by Dale Carnegie, and \"Influencers and Creators\" by Robert V Kozinets, Ulrike Gretzel, Rossella Gambetti strongly influence the way you write your tweets. "}]}}, "typeVersion": 3.3}], "pinData": {}, "connections": {"Generate tweet content": {"main": [[{"node": "Verify tweet constraints", "type": "main", "index": 0}]]}, "Trigger posting manually": {"main": [[{"node": "Configure your influencer profile", "type": "main", "index": 0}]]}, "Verify tweet constraints": {"main": [[{"node": "Configure your influencer profile", "type": "main", "index": 0}], [{"node": "Post tweet", "type": "main", "index": 0}]]}, "Schedule posting every 6 hours": {"main": [[{"node": "Configure your influencer profile", "type": "main", "index": 0}]]}, "Configure your influencer profile": {"main": [[{"node": "Generate tweet content", "type": "main", "index": 0}]]}}}

How to Import This Workflow

  1. 1Copy the workflow JSON above using the Copy Workflow JSON button.
  2. 2Open your n8n instance and go to Workflows.
  3. 3Click Import from JSON and paste the copied workflow.

Don't have an n8n instance? Start your free trial at n8nautomation.cloud

Related Templates

Telegram AI multi-format chatbot

Automate a multi-format AI chatbot on Telegram, allowing users to interact via text or voice. This workflow connects Telegram for user input and replies with OpenAI for AI processing and voice-to-text conversion. It's ideal for customer support, content generation, or interactive learning platforms. This saves significant time and effort in managing diverse user interactions.

15 nodes

Angie, Personal AI Assistant with Telegram Voice and Text

Transform your Telegram into a powerful personal AI assistant with this n8n workflow. This automation connects Telegram, Gmail, Google Calendar, and OpenAI to process voice and text messages, allowing you to interact with an AI agent to manage your schedule, retrieve emails, and perform various tasks. When an incoming event is detected via the Telegram trigger, the workflow determines if it's a voice message, which is then processed by the Get Voice File node and transcribed using OpenAI's Speech to Text. The transcribed text or direct text input then feeds into the Angie, AI Assistant node, which leverages OpenAI Chat Model and memory for contextual conversations, and interacts with Google Calendar for scheduling, Gmail for email retrieval, and Baserow for managing tasks and contacts. This workflow empowers individuals and small teams to streamline personal and professional communication, reducing the time spent on administrative tasks and improving responsiveness by centralizing interaction with an intelligent assistant directly within Telegram.

15 nodes

Create dynamic Twitter profile banner

Automatically generate a personalized Twitter profile banner that updates with your latest followers, keeping your profile fresh and engaging. This n8n workflow connects to Twitter via an HTTP Request node to fetch new follower data, then uses a series of image manipulation nodes (Resize, Crop, Edit Image) to dynamically create a custom banner. It pulls background images and other visual assets using additional HTTP Request nodes, merging them with follower information processed by a Function node to produce a unique visual. This is ideal for influencers, brands, or community managers who want to showcase their growing audience and maintain an active, personalized online presence without manual design work. By automating the banner creation and update process, this workflow saves significant time and effort, ensuring your Twitter profile always reflects your most recent community growth.

12 nodes

Ready to automate with n8n?

Get affordable managed n8n hosting with 24/7 support.