Plex新闻通讯模板
高级
这是一个Social Media, Multimodal AI领域的自动化工作流,包含 16 个节点。主要使用 Code, Merge, EmailSend, HttpRequest, ScheduleTrigger 等节点。 通过电子邮件创建每周响应式Plex媒体新闻通讯(Tautulli替代方案)
前置要求
- •可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "iGZE7vnpUkEvf9us",
"meta": {
"instanceId": "993f4141bfea2bf952d27e11e13bcf9b997f96b739b8e7795b1035d7ae9d71a9",
"templateCredsSetupCompleted": true
},
"name": "Plex Newsletter template",
"tags": [],
"nodes": [
{
"id": "cab21c74-3d37-487f-a031-97a6a6fb09c5",
"name": "Note: Schedule",
"type": "n8n-nodes-base.stickyNote",
"position": [
-784,
240
],
"parameters": {
"content": "### ⏰ Schedule Trigger\nRuns weekly (Friday 08:00). Adjust day/hour to your liking."
},
"typeVersion": 1
},
{
"id": "2f749618-c51f-4b21-ab24-29ede323205b",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-720,
416
],
"parameters": {
"rule": {
"interval": [
{
"field": "weeks",
"triggerAtDay": [
5
],
"triggerAtHour": 8
}
]
}
},
"typeVersion": 1.2
},
{
"id": "55ed3b79-9f4d-48d0-853a-c230531ec31a",
"name": "Note: Movies",
"type": "n8n-nodes-base.stickyNote",
"position": [
-528,
128
],
"parameters": {
"content": "### 🎬 Fetch Recent Movies (Tautulli)\nReplace placeholders in the URL: `YOUR_TAUTULLI_URL`, `YOUR_API_KEY`."
},
"typeVersion": 1
},
{
"id": "c2e3658a-27b1-4bbf-87a1-474e2233393b",
"name": "Fetch Recent Movies",
"type": "n8n-nodes-base.httpRequest",
"position": [
-464,
304
],
"parameters": {
"url": "https://YOUR_TAUTULLI_URL/api/v2?apikey=YOUR_API_KEY&cmd=get_recently_added&count=10&media_type=movie",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "8887eda3-8948-4285-8d33-9772ffbcbb08",
"name": "Note: TV Shows",
"type": "n8n-nodes-base.stickyNote",
"position": [
-528,
672
],
"parameters": {
"content": "### 📺 Fetch Recent TV Shows (Tautulli)\nReplace placeholders in the URL: `YOUR_TAUTULLI_URL`, `YOUR_API_KEY`."
},
"typeVersion": 1
},
{
"id": "34dd3ee8-a8da-44b4-9434-c10110ed985b",
"name": "Fetch Recent TV Shows",
"type": "n8n-nodes-base.httpRequest",
"position": [
-464,
496
],
"parameters": {
"url": "https://YOUR_TAUTULLI_URL/api/v2?apikey=YOUR_API_KEY&cmd=get_recently_added&count=10&media_type=show",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "d5a85fe0-4252-4954-b24f-55387553e5cf",
"name": "Note: Merge",
"type": "n8n-nodes-base.stickyNote",
"position": [
-224,
208
],
"parameters": {
"content": "### 🔗 Merge\nJust combines Movies (input 1) and TV (input 2) before building the email."
},
"typeVersion": 1
},
{
"id": "1115cde1-64e4-4827-8f47-c0f4d2c79fbc",
"name": "Combine Movie & TV Data",
"type": "n8n-nodes-base.merge",
"position": [
-160,
400
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "11ad0211-6ca4-4583-929c-3ab22edb53b8",
"name": "Note: HTML",
"type": "n8n-nodes-base.stickyNote",
"position": [
48,
208
],
"parameters": {
"content": "### 📰 Build HTML Newsletter\nEdit the code and set:\n- `YOUR_TAUTULLI_URL`\n- `YOUR_PLEX_TOKEN`\n- `YOUR_PLEX_SERVER_ID`\nEverything else is template-safe."
},
"typeVersion": 1
},
{
"id": "a4713613-3047-4522-b771-ee91e793ad19",
"name": "Generate HTML Newsletter",
"type": "n8n-nodes-base.code",
"position": [
128,
400
],
"parameters": {
"jsCode": "// === HELPER FUNCTIONS (email-safe) ===\nfunction formatDuration(ms){ if(!ms||ms<=0) return ''; const m=Math.floor(ms/60000),h=Math.floor(m/60),r=m%60; return h>0?`${h}h ${r}m`:`${r}m`; }\nfunction pill(text){ if(!text) return ''; return `<span style=\\\"background:#2a4a6a;color:#ffffff;border:1px solid #4a6a8a;border-radius:999px;padding:4px 10px;font-size:12px;line-height:1;display:inline-block;margin:0 6px 6px 0;\\\">${String(text).toUpperCase()}</span>`; }\nfunction sectionHeader(label, emoji){ return `\\n <tr>\\n <td align=\\\"center\\\" style=\\\"padding:4px 24px 14px 24px;\\\">\\n <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\" style=\\\"background:#0f385b;border:1px solid #2a4a6a;border-radius:999px;\\\">\\n <tr>\\n <td style=\\\"padding:10px 18px;\\\">\\n <span style=\\\"font:600 18px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#ffffff;\\\">\\n ${emoji} ${label}\\n </span>\\n </td>\\n </tr>\\n </table>\\n </td>\\n </tr>`; }\n\n// === PLACEHOLDERS (replace these) ===\nconst tautulliUrl = 'https://YOUR_TAUTULLI_URL';\nconst plexApiToken = 'YOUR_PLEX_TOKEN';\nconst plexServerId = 'YOUR_PLEX_SERVER_ID';\n\n// === DATA (be tolerant to slightly different shapes) ===\nconst allRecentlyAdded = $input.all().flatMap(i => i.json?.response?.data?.recently_added || i.json?.data?.recently_added || []);\nconst movies = allRecentlyAdded.filter(i => i.media_type === 'movie');\nconst tvItems = allRecentlyAdded.filter(i => ['episode','show','season'].includes(i.media_type));\n\n// === RENDERERS ===\nfunction movieRow(item){\n const title=item.title||'Untitled';\n const year=item.year?` (${item.year})`:'';\n const rating=item.audience_rating?`⭐ ${item.audience_rating}`:'';\n const dur=item.duration?` 🕒 ${formatDuration(item.duration)}`:'';\n const genres=Array.isArray(item.genres)?item.genres:[];\n const contentRating=item.content_rating?pill(item.content_rating):'';\n const summary=item.summary||'No description provided.';\n const directors=Array.isArray(item.directors)?item.directors:[];\n const actors=Array.isArray(item.actors)?item.actors:[];\n const plexLink=`https://app.plex.tv/desktop/#!/server/${plexServerId}/details?key=/library/metadata/${item.rating_key}`;\n const thumbUrl=item.thumb?`${tautulliUrl}/pms_image_proxy?img=${encodeURIComponent(item.thumb)}&X-Plex-Token=${plexApiToken}`:'https://placehold.co/120x180/333333/ffffff?text=NO+IMAGE';\n return `\\n <tr>\\n <td style=\\\"padding:0 24px 22px 24px;\\\">\\n <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\" width=\\\"100%\\\" style=\\\"background:#0f385b;border:1px solid #2a4a6a;border-radius:12px;\\\">\\n <tr>\\n <td class=\\\"stack t-center\\\" width=\\\"120\\\" valign=\\\"top\\\" style=\\\"padding:18px;\\\">\\n <a href=\\\"${plexLink}\\\">\\n <img class=\\\"img-resp\\\" src=\\\"${thumbUrl}\\\" alt=\\\"${title}\\\" width=\\\"120\\\" style=\\\"display:block;width:120px;height:auto;border-radius:10px;\\\">\\n </a>\\n </td>\\n <td class=\\\"stack\\\" valign=\\\"top\\\" style=\\\"padding:18px 18px 18px 0;\\\">\\n <h4 style=\\\"margin:0 0 8px 0;font:700 18px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;\\\">\\n <a href=\\\"${plexLink}\\\" style=\\\"color:#ffffff;text-decoration:none;\\\">${title}${year}</a>\\n </h4>\\n <p style=\\\"margin:0 0 10px 0;font:13px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#cccccc;\\\">${rating}${dur}</p>\\n <div style=\\\"margin:0 0 12px 0;\\\">${contentRating}${genres.map(g=>pill(g)).join('')}</div>\\n <p style=\\\"margin:0 0 12px 0;font:14px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#dddddd;\\\">${summary}</p>\\n <p style=\\\"margin:0 0 14px 0;font:12px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#bbbbbb;border-top:1px solid #2a4a6a;padding-top:8px;\\\">\\n ${directors.length?`<strong style=\\\\\\\"color:#cccccc;\\\\\\\">Director:</strong> ${directors.join(', ')}<br>`:''}\\n ${actors.length?`<strong style=\\\\\\\"color:#cccccc;\\\\\\\">Starring:</strong> ${actors.slice(0,3).join(', ')}`:''}\\n </p>\\n <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\"><tr><td bgcolor=\\\"#e5a00d\\\" style=\\\"border-radius:10px;\\\"><a href=\\\"${plexLink}\\\" style=\\\"display:inline-block;padding:12px 18px;font:700 14px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#ffffff;text-decoration:none;border-radius:10px;\\\">Watch on Plex</a></td></tr></table>\\n </td>\\n </tr>\\n </table>\\n </td>\\n </tr>`;\n}\n\nfunction tvRow(item){\n let displayTitle=item.title||'Untitled', displaySubtitle='', thumb=item.thumb, key=item.rating_key;\n if(item.media_type==='episode'){\n displayTitle=item.grandparent_title||displayTitle;\n const s=item.parent_media_index?String(item.parent_media_index).padStart(2,'0'):'';\n const e=item.media_index?String(item.media_index).padStart(2,'0'):'';\n displaySubtitle=`S${s} E${e}${item.title?': '+item.title:''}`;\n thumb=item.grandparent_thumb||item.parent_thumb||item.thumb;\n key=item.grandparent_rating_key||key;\n } else if(item.media_type==='season'){\n displayTitle=item.parent_title||displayTitle;\n displaySubtitle=item.title||'';\n thumb=item.parent_thumb||item.thumb;\n key=item.parent_rating_key||key;\n }\n const year=item.year?` (${item.year})`:'';\n const rating=item.audience_rating?`⭐ ${item.audience_rating}`:'';\n const dur=(item.media_type==='episode'&&item.duration)?` 🕒 ${formatDuration(item.duration)}`:'';\n const genres=Array.isArray(item.genres)?item.genres:[];\n const contentRating=item.content_rating?pill(item.content_rating):'';\n const summary=item.summary||'No description provided.';\n const plexLink=`https://app.plex.tv/desktop/#!/server/${plexServerId}/details?key=/library/metadata/${key}`;\n const thumbUrl=thumb?`${tautulliUrl}/pms_image_proxy?img=${encodeURIComponent(thumb)}&X-Plex-Token=${plexApiToken}`:'https://placehold.co/120x180/333333/ffffff?text=NO+IMAGE';\n return `\\n <tr>\\n <td style=\\\"padding:0 24px 22px 24px;\\\">\\n <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\" width=\\\"100%\\\" style=\\\"background:#0f385b;border:1px solid #2a4a6a;border-radius:12px;\\\">\\n <tr>\\n <td class=\\\"stack t-center\\\" width=\\\"120\\\" valign=\\\"top\\\" style=\\\"padding:18px;\\\">\\n <a href=\\\"${plexLink}\\\">\\n <img class=\\\"img-resp\\\" src=\\\"${thumbUrl}\\\" alt=\\\"${displayTitle}\\\" width=\\\"120\\\" style=\\\"display:block;width:120px;height:auto;border-radius:10px;\\\">\\n </a>\\n </td>\\n <td class=\\\"stack\\\" valign=\\\"top\\\" style=\\\"padding:18px 18px 18px 0;\\\">\\n <h4 style=\\\"margin:0 0 6px 0;font:700 18px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;\\\">\\n <a href=\\\"${plexLink}\\\" style=\\\"color:#ffffff;text-decoration:none;\\\">${displayTitle}${year}</a>\\n </h4>\\n ${displaySubtitle?`<p style=\\\\\\\"margin:0 0 8px 0;font:13px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#cccccc;\\\\\\\">${displaySubtitle}</p>`:''}\\n <p style=\\\"margin:0 0 10px 0;font:13px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#cccccc;\\\">${rating}${dur}</p>\\n <div style=\\\"margin:0 0 12px 0;\\\">${contentRating}${genres.map(g=>pill(g)).join('')}</div>\\n <p style=\\\"margin:0 0 12px 0;font:14px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#dddddd;\\\">${summary}</p>\\n <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\"><tr><td bgcolor=\\\"#e5a00d\\\" style=\\\"border-radius:10px;\\\"><a href=\\\"${plexLink}\\\" style=\\\"display:inline-block;padding:12px 18px;font:700 14px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#ffffff;text-decoration:none;border-radius:10px;\\\">Watch on Plex</a></td></tr></table>\\n </td>\\n </tr>\\n </table>\\n </td>\\n </tr>`;\n}\n\n// === LIGHT CSS ===\nconst css = `@media only screen and (max-width:600px){ .w-650{width:100% !important} .stack{display:block !important;width:100% !important} .img-resp{width:55% !important;height:auto !important;max-width:200px !important;margin:0 auto !important} .t-center{text-align:center !important} }`;\n\n// === BUILD HTML ===\nlet html = `<!doctype html>\\n<html lang=\\\"en\\\">\\n<head>\\n<meta http-equiv=\\\"x-ua-compatible\\\" content=\\\"ie=edge\\\">\\n<meta charset=\\\"utf-8\\\">\\n<meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1\\\">\\n<title>Plex Newsletter</title>\\n<style type=\\\"text/css\\\">${css}</style>\\n</head>\\n<body style=\\\"margin:0;padding:0;background:#001f3f;\\\">\\n <center style=\\\"width:100%;background:#001f3f;\\\">\\n <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\" width=\\\"100%\\\">\\n <tr>\\n <td align=\\\"center\\\" style=\\\"padding:20px 10px;\\\">\\n <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\" width=\\\"650\\\" class=\\\"w-650\\\" style=\\\"width:650px;max-width:650px;\\\">\\n <tr><td style=\\\"padding:0;\\\"><img src=\\\"https://placehold.co/1200x300/001f3f/ffffff?text=Plex+Newsletter\\\" alt=\\\"Plex Weekly Newsletter\\\" width=\\\"650\\\" style=\\\"display:block;width:100%;height:auto;border-radius:12px;\\\"></td></tr>\\n <tr><td style=\\\"height:20px;font-size:1px;line-height:1px;\\\"> </td></tr>\\n <tr><td align=\\\"center\\\" style=\\\"padding:18px;border:1px solid #2a4a6a;background:#0d2c4a;border-radius:12px;\\\"><p style=\\\"margin:0;font:16px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#ffffff;\\\">Best Movies and Shows in one place!</p></td></tr>\\n <tr><td style=\\\"height:12px;font-size:1px;line-height:1px;\\\"> </td></tr>\\n <tr><td align=\\\"center\\\"><p style=\\\"margin:0;font:13px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#a9a9a9;\\\">Last Updated: ${new Date().toLocaleDateString('en-GB')}</p></td></tr>\\n <tr><td style=\\\"height:26px;font-size:1px;line-height:1px;\\\"> </td></tr>\\n <tr><td>\\n <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\" width=\\\"100%\\\" style=\\\"background:#0d2c4a;border-radius:15px;border:1px solid #2a4a6a;\\\">\\n <tr><td style=\\\"padding:22px 24px 6px 24px;\\\"><h2 style=\\\"margin:0 0 6px 0;text-align:center;font:700 22px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#ffffff;\\\">🆕 New This Week</h2><p style=\\\"margin:0 0 8px 0;text-align:center;font:14px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#a9a9a9;\\\">Freshly added Movies & TV from your Plex.</p></td></tr>\\n ${movies.length?sectionHeader('New Movies','🎞️'):''}\\n ${movies.map(movieRow).join('')}\\n ${tvItems.length?sectionHeader('New TV Shows','📺'):''}\\n ${tvItems.map(tvRow).join('')}\\n ${!movies.length && !tvItems.length ? `<tr><td style=\\\\\\\"padding:0 24px 24px 24px;\\\\\\\"><p style=\\\\\\\"margin:0;text-align:center;font:14px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#dddddd;\\\\\\\">No new items were added recently. Check back soon!</p></td></tr>`:``}\\n <tr><td style=\\\"height:10px;font-size:1px;line-height:1px;\\\"> </td></tr>\\n </table>\\n </td></tr>\\n <tr><td style=\\\"height:28px;font-size:1px;line-height:1px;\\\"> </td></tr>\\n </table>\\n </td>\\n </tr>\\n </table>\\n </center>\\n</body>\\n</html>`;\n\nreturn [{ json: { htmlBody: html } }];"
},
"typeVersion": 2
},
{
"id": "01812e45-e2ec-4aaa-a0ef-21cb2cd0e796",
"name": "Note: Recipients",
"type": "n8n-nodes-base.stickyNote",
"position": [
320,
208
],
"parameters": {
"content": "### 📧 Prepare Recipients\nReplace the example emails below with your list."
},
"typeVersion": 1
},
{
"id": "76b727c6-111f-40bd-8e54-a485353e365f",
"name": "Prepare Emails for Recipients",
"type": "n8n-nodes-base.code",
"position": [
384,
400
],
"parameters": {
"jsCode": "const recipients = [\\n 'example1@example.com',\\n 'example2@example.com'\\n];\\n\\nconst htmlBody = $input.item.json.htmlBody;\\nconst items = [];\\nfor (const email of recipients) {\\n items.push({ json: { htmlBody, recipientEmail: email } });\\n}\\nreturn items;"
},
"typeVersion": 2
},
{
"id": "6f583cb4-bcf5-4fac-8caa-0a099411ca00",
"name": "Note: Send",
"type": "n8n-nodes-base.stickyNote",
"position": [
592,
208
],
"parameters": {
"content": "### 📤 Send via SMTP\nSet `fromEmail` and attach your SMTP credentials in this node."
},
"typeVersion": 1
},
{
"id": "569fcce4-8129-4665-8efc-784c486eb45e",
"name": "Send Newsletter Emails",
"type": "n8n-nodes-base.emailSend",
"position": [
672,
400
],
"webhookId": "38c7bfdd-a1f1-4cfd-98bf-50aba1139f2d",
"parameters": {
"html": "={{ $json.htmlBody }}",
"options": {
"appendAttribution": false
},
"subject": "New Plex Content",
"toEmail": "={{ $json.recipientEmail }}",
"fromEmail": "Your Newsletter <newsletter@example.com>"
},
"credentials": {
"smtp": {
"id": "sbKqLj7cpLRlmpED",
"name": "SMTP account"
}
},
"typeVersion": 2.1
},
{
"id": "671519fc-9662-42fd-baa2-13204d68c3e7",
"name": "Note: Finish",
"type": "n8n-nodes-base.stickyNote",
"position": [
864,
208
],
"parameters": {
"content": "### ✅ Finish\nTiny summary of how many emails were sent."
},
"typeVersion": 1
},
{
"id": "dd329307-eb1a-489a-bc80-6767d55b42b2",
"name": "Finish",
"type": "n8n-nodes-base.code",
"position": [
944,
400
],
"parameters": {
"jsCode": "const sent = $input.all().length;\\nreturn [{ json: { status: 'OK', sentCount: sent, note: 'Newsletter sent successfully' } }];"
},
"typeVersion": 2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "1a3e382c-6ca8-40af-8205-a88f262f897a",
"connections": {
"2f749618-c51f-4b21-ab24-29ede323205b": {
"main": [
[
{
"node": "c2e3658a-27b1-4bbf-87a1-474e2233393b",
"type": "main",
"index": 0
}
]
]
},
"c2e3658a-27b1-4bbf-87a1-474e2233393b": {
"main": [
[
{
"node": "1115cde1-64e4-4827-8f47-c0f4d2c79fbc",
"type": "main",
"index": 0
}
]
]
},
"34dd3ee8-a8da-44b4-9434-c10110ed985b": {
"main": [
[
{
"node": "1115cde1-64e4-4827-8f47-c0f4d2c79fbc",
"type": "main",
"index": 1
}
]
]
},
"569fcce4-8129-4665-8efc-784c486eb45e": {
"main": [
[
{
"node": "dd329307-eb1a-489a-bc80-6767d55b42b2",
"type": "main",
"index": 0
}
]
]
},
"1115cde1-64e4-4827-8f47-c0f4d2c79fbc": {
"main": [
[
{
"node": "a4713613-3047-4522-b771-ee91e793ad19",
"type": "main",
"index": 0
}
]
]
},
"a4713613-3047-4522-b771-ee91e793ad19": {
"main": [
[
{
"node": "76b727c6-111f-40bd-8e54-a485353e365f",
"type": "main",
"index": 0
}
]
]
},
"76b727c6-111f-40bd-8e54-a485353e365f": {
"main": [
[
{
"node": "569fcce4-8129-4665-8efc-784c486eb45e",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 社交媒体, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
AI生成LinkedIn帖子含人工审批
使用GPT-4、GoToHuman和Blotato的AI生成LinkedIn帖子含人工审批
Code
Merge
Filter
+
Code
Merge
Filter
19 节点Robert Breen
社交媒体
AI驱动的Instagram评论自动回复
使用OpenAI和Redis跟踪自动化Instagram评论回复
If
Code
Merge
+
If
Code
Merge
27 节点Oneclick AI Squad
社交媒体
Twitter品牌自动推广
使用Anthropic Claude AI和Google Sheets报告自动进行Twitter品牌推广
Set
Code
Wait
+
Set
Code
Wait
26 节点Pavlo Hurhu
社交媒体
通过WhatsApp、邮件和Twilio SMS发送的食品菜单更新通知器
食品菜单更新通知器
If
Set
Code
+
If
Set
Code
22 节点Oneclick AI Squad
社交媒体
使用AI求职信自动搜索职位
使用 Google Jobs、RemoteOK 和 GPT-3.5 自动化带AI求职信的职位搜索
If
Set
Code
+
If
Set
Code
17 节点Shelly-Ann Davy
个人效率
Arunava的多智能体智能Reddit自动化
使用AI品牌提及和Baserow跟踪自动评论Reddit帖子
If
Set
Code
+
If
Set
Code
35 节点Arunava
社交媒体