私のワークフロー2
上級
これはMarket Research, AI Summarization分野の自動化ワークフローで、17個のノードを含みます。主にCode, Filter, EmailSend, GoogleSheets, ScheduleTriggerなどのノードを使用。 ScrapeGraphAIとGoogle Sheetsを使ってSEOのバックリンクを発見・分析する
前提条件
- •Google Sheets API認証情報
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "VhEwspDqzu7ssFVE",
"meta": {
"instanceId": "f4b0efaa33080e7774e0d9285c40c7abcd2c6f7cf1a8b901fa7106170dd4cda3",
"templateCredsSetupCompleted": true
},
"name": "My workflow 2",
"tags": [
{
"id": "DxXGubfBzRKh6L8T",
"name": "Revenue Optimization",
"createdAt": "2025-07-25T16:24:30.370Z",
"updatedAt": "2025-07-25T16:24:30.370Z"
},
{
"id": "IxkcJ2IpYIxivoHV",
"name": "Content Strategy",
"createdAt": "2025-07-25T12:57:37.677Z",
"updatedAt": "2025-07-25T12:57:37.677Z"
},
{
"id": "PAKIJ2Mm9EvRcR3u",
"name": "Trend Monitoring",
"createdAt": "2025-07-25T12:57:37.670Z",
"updatedAt": "2025-07-25T12:57:37.670Z"
},
{
"id": "YtfXmaZk44MYedPO",
"name": "Dynamic Pricing",
"createdAt": "2025-07-25T16:24:30.369Z",
"updatedAt": "2025-07-25T16:24:30.369Z"
},
{
"id": "wJ30mjhtrposO8Qt",
"name": "Simple RAG",
"createdAt": "2025-07-28T12:55:14.424Z",
"updatedAt": "2025-07-28T12:55:14.424Z"
}
],
"nodes": [
{
"id": "c445da82-03ca-455c-b70f-f452f325e41a",
"name": "週次スケジュールトリガー",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
608,
720
],
"parameters": {
"rule": {
"interval": [
{
"field": "weeks"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "64aa43a5-ae6c-434c-bc4d-4e601f4269ff",
"name": "AI駆動競合他社被リンクスクレイパー",
"type": "n8n-nodes-scrapegraphai.scrapegraphAi",
"position": [
1168,
720
],
"parameters": {
"userPrompt": "Find all the backlinks pointing to competitor websites in our niche. Extract the following information for each backlink: { \"source_url\": \"https://example.com/page\", \"target_url\": \"https://competitor.com\", \"anchor_text\": \"relevant keyword\", \"domain_authority\": \"65\", \"page_title\": \"Page Title\", \"context\": \"surrounding text context\" }",
"websiteUrl": "https://ahrefs.com/backlink-checker/"
},
"typeVersion": 1
},
{
"id": "d663512b-bedb-47f9-ba53-5512b3a9f842",
"name": "被リンク獲得機会分析ツール",
"type": "n8n-nodes-base.code",
"notes": "Analyzes and scores\nbacklink opportunities\nbased on multiple factors",
"position": [
1760,
704
],
"parameters": {
"jsCode": "// Process scraped backlink data and analyze opportunities\nconst inputData = $input.all()[0].json;\n\n// Extract backlinks array from result\nconst backlinks = inputData.result.backlinks || [];\n\n// Analyze and score each backlink opportunity\nreturn backlinks.map(link => {\n // Calculate opportunity score based on multiple factors\n const domainAuth = parseInt(link.domain_authority) || 0;\n const hasRelevantAnchor = link.anchor_text && link.anchor_text.length > 0;\n const hasContext = link.context && link.context.length > 50;\n \n // Scoring algorithm\n let opportunityScore = 0;\n opportunityScore += domainAuth * 0.4; // 40% weight on domain authority\n opportunityScore += hasRelevantAnchor ? 20 : 0; // 20 points for anchor text\n opportunityScore += hasContext ? 15 : 0; // 15 points for context\n opportunityScore += Math.random() * 25; // 25 points random factor for content relevance\n \n return {\n json: {\n source_url: link.source_url,\n target_url: link.target_url,\n anchor_text: link.anchor_text,\n domain_authority: link.domain_authority,\n page_title: link.page_title,\n context: link.context,\n opportunity_score: Math.round(opportunityScore),\n priority: opportunityScore > 70 ? 'High' : opportunityScore > 40 ? 'Medium' : 'Low',\n analyzed_date: new Date().toISOString().split('T')[0]\n }\n };\n});"
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "98b58330-7b28-489e-8ee1-9a6354926cd3",
"name": "高優先度機会フィルター",
"type": "n8n-nodes-base.filter",
"position": [
2336,
720
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "condition-high-priority",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.priority }}",
"rightValue": "High"
}
]
}
},
"typeVersion": 2
},
{
"id": "0a609388-12e0-4721-a0b4-7e58452a5ec2",
"name": "AI駆動連絡先情報検索ツール",
"type": "n8n-nodes-scrapegraphai.scrapegraphAi",
"position": [
2880,
768
],
"parameters": {
"userPrompt": "Find contact information on this website including email addresses, contact forms, social media profiles, and any team member information. Return data in this format: { \"emails\": [\"contact@example.com\", \"info@example.com\"], \"contact_forms\": [\"https://example.com/contact\"], \"social_media\": { \"twitter\": \"@handle\", \"linkedin\": \"company-page\" }, \"team_members\": [{ \"name\": \"John Doe\", \"role\": \"Content Manager\", \"email\": \"john@example.com\" }] }",
"websiteUrl": "={{ $json.source_url }}"
},
"typeVersion": 1
},
{
"id": "9f0b62f6-29a8-43fb-814e-efb7060108a2",
"name": "データ統合・アウトリーチ準備",
"type": "n8n-nodes-base.code",
"notes": "Combines opportunity data\nwith contact info and\nprepares outreach materials",
"position": [
3632,
752
],
"parameters": {
"jsCode": "// Merge backlink opportunity data with contact information\nconst backlinkData = $input.first().json;\nconst contactData = $input.last().json;\n\n// Extract contact info from scraping result\nconst contacts = contactData.result || {};\n\n// Create comprehensive outreach record\nreturn [{\n json: {\n // Backlink opportunity data\n source_url: backlinkData.source_url,\n target_url: backlinkData.target_url,\n anchor_text: backlinkData.anchor_text,\n domain_authority: backlinkData.domain_authority,\n page_title: backlinkData.page_title,\n context: backlinkData.context,\n opportunity_score: backlinkData.opportunity_score,\n priority: backlinkData.priority,\n analyzed_date: backlinkData.analyzed_date,\n \n // Contact information\n emails: contacts.emails || [],\n contact_forms: contacts.contact_forms || [],\n social_media: contacts.social_media || {},\n team_members: contacts.team_members || [],\n \n // Outreach status\n outreach_status: 'pending',\n outreach_attempts: 0,\n last_contact_date: null,\n notes: '',\n \n // Generate personalized outreach message\n suggested_subject: `Partnership Opportunity - ${backlinkData.page_title}`,\n outreach_message: `Hi there,\\n\\nI came across your article \"${backlinkData.page_title}\" and found it really valuable. I noticed you mentioned ${backlinkData.anchor_text} - we have some related content that your readers might find helpful.\\n\\nWould you be interested in exploring a content partnership?\\n\\nBest regards`\n }\n}];"
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "0c5f454c-9d96-4ce4-bd2d-0d170f2acac7",
"name": "Google スプレッドシート機会トラッカー",
"type": "n8n-nodes-base.googleSheets",
"position": [
4096,
768
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "source_url",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "source_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "target_url",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "target_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "anchor_text",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "anchor_text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "domain_authority",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "domain_authority",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "opportunity_score",
"type": "number",
"display": true,
"removed": false,
"required": false,
"displayName": "opportunity_score",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priority",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "priority",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "emails",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "emails",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "outreach_status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "outreach_status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "suggested_subject",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "suggested_subject",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": []
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Backlink_Opportunities"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": ""
}
},
"typeVersion": 4.5
},
{
"id": "f26fdc84-c320-42a0-b8f3-f453e996d983",
"name": "メール利用可能フィルター",
"type": "n8n-nodes-base.filter",
"position": [
3632,
560
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "has-email-condition",
"operator": {
"type": "number",
"operation": "gt"
},
"leftValue": "={{ $json.emails.length }}",
"rightValue": 0
}
]
}
},
"typeVersion": 2
},
{
"id": "d7c4c6ef-ccba-4fc7-8bdf-190b6b2cbd86",
"name": "自動化アウトリーチメールキャンペーン",
"type": "n8n-nodes-base.emailSend",
"position": [
4592,
816
],
"webhookId": "6cbbf447-4a67-4f70-96f6-45c7cf926e95",
"parameters": {
"options": {
"replyTo": "",
"attachments": "attachments",
"allowUnauthorizedCerts": false
},
"subject": "={{ $json.suggested_subject }}"
},
"typeVersion": 2.1
},
{
"id": "ff9f16cc-ea88-4116-a05e-5dbf6e373c1b",
"name": "ステップ1 - スケジュールトリガー情報",
"type": "n8n-nodes-base.stickyNote",
"position": [
384,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 1: Weekly Schedule Trigger ⏰\n\nThis trigger automatically runs the backlink opportunity finder workflow every week to discover fresh link building prospects.\n\n## Configuration Options\n- **Frequency**: Weekly execution (recommended for backlink research)\n- **Day & Time**: Configure for optimal business hours\n- **Time Zone**: Set according to your team's location\n\n## Best Practices\n- Weekly frequency balances fresh data with API rate limits\n- Schedule during business hours for immediate follow-up\n- Monitor execution logs for any failures\n- Adjust timing based on competitor activity patterns\n\n## Benefits\n- Consistent lead generation\n- Automated opportunity discovery\n- Fresh backlink prospects weekly\n- Reduced manual research time"
},
"typeVersion": 1
},
{
"id": "435ce088-f331-4196-9ae1-85848748e92a",
"name": "ステップ2 - 競合スクレイパー情報",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 2: AI-Powered Competitor Backlink Scraper 🕷️\n\nUtilizes ScrapeGraphAI to intelligently extract backlink data from competitor analysis tools and websites.\n\n## How it Works\n- Scrapes competitor backlink profiles\n- Extracts source URLs, anchor text, and domain metrics\n- Uses AI to understand page context and relevance\n- Identifies high-value linking opportunities\n\n## Configuration\n- **Website URL**: Backlink analysis tool or competitor site\n- **User Prompt**: Natural language extraction instructions\n- **API Credentials**: ScrapeGraphAI API key required\n\n## Data Extracted\n- Source website URLs\n- Target competitor URLs\n- Anchor text used\n- Domain authority scores\n- Page titles and context\n\n⚠️ **Note**: Requires ScrapeGraphAI community node"
},
"typeVersion": 1
},
{
"id": "af85e14d-cb85-456e-911c-1f3da25e4005",
"name": "ステップ3 - 機会分析ツール情報",
"type": "n8n-nodes-base.stickyNote",
"position": [
1536,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 3: Backlink Opportunity Analyzer 📊\n\nProcesses and scores each discovered backlink opportunity using a sophisticated algorithm.\n\n## Scoring Factors\n- **Domain Authority** (40% weight): Higher DA = better opportunity\n- **Anchor Text Relevance** (20 points): Relevant keywords boost score\n- **Content Context** (15 points): Meaningful surrounding text\n- **Content Relevance** (25 points): AI-assessed topical alignment\n\n## Priority Classification\n- **High Priority**: Score > 70 (immediate outreach)\n- **Medium Priority**: Score 40-70 (follow-up queue)\n- **Low Priority**: Score < 40 (long-term prospects)\n\n## Output Enhancement\n- Standardized opportunity scoring\n- Priority-based categorization\n- Analysis timestamp for tracking\n- Structured data for next steps"
},
"typeVersion": 1
},
{
"id": "edcd090e-bfc2-4cb6-9af7-45d65f5e4081",
"name": "ステップ4 - 優先度フィルター情報",
"type": "n8n-nodes-base.stickyNote",
"position": [
2112,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 4: High Priority Opportunity Filter 🎯\n\nFilters opportunities to focus outreach efforts on the highest-value prospects first.\n\n## Filter Criteria\n- **Priority Level**: High priority opportunities only\n- **Score Threshold**: Opportunities scoring > 70 points\n- **Quality Focus**: Best prospects for immediate action\n\n## Benefits\n- Focused outreach efforts\n- Higher conversion rates\n- Efficient resource allocation\n- Better ROI on link building\n\n## Workflow Logic\n- High priority → Contact finder → Outreach\n- Medium/Low priority → Storage only\n- Failed opportunities → Analysis for improvement\n\n## Customization\n- Adjust score thresholds\n- Add additional filter criteria\n- Modify priority definitions\n- Include domain-specific rules"
},
"typeVersion": 1
},
{
"id": "9bafc262-fa70-4c0b-9105-079bc1a1239b",
"name": "ステップ5 - 連絡先検索ツール情報",
"type": "n8n-nodes-base.stickyNote",
"position": [
2688,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 5: AI-Powered Contact Information Finder 👥\n\nUses ScrapeGraphAI to intelligently find contact information on target websites for outreach campaigns.\n\n## Contact Discovery\n- **Email Addresses**: Primary and secondary contacts\n- **Contact Forms**: Direct submission options\n- **Social Media**: Twitter, LinkedIn, Facebook profiles\n- **Team Members**: Individual contact details and roles\n\n## AI Capabilities\n- Natural language processing for contact extraction\n- Smart recognition of contact patterns\n- Multi-format email detection\n- Social media profile identification\n\n## Data Structure\n- Organized contact arrays\n- Role-based team member info\n- Social media handle extraction\n- Contact form URL discovery\n\n## Quality Assurance\n- Validates email formats\n- Filters spam/generic addresses\n- Prioritizes decision-maker contacts"
},
"typeVersion": 1
},
{
"id": "fdf304ce-91c4-4a0e-9f20-062af314cbc3",
"name": "ステップ6 - データ統合情報",
"type": "n8n-nodes-base.stickyNote",
"position": [
3264,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 6: Data Merger and Outreach Preparation 🔗\n\nCombines backlink opportunity data with contact information to create comprehensive outreach records.\n\n## Data Integration\n- Merges opportunity scores with contact details\n- Creates unified prospect profiles\n- Generates personalized outreach materials\n- Prepares campaign-ready data\n\n## Outreach Enhancement\n- **Personalized Subjects**: Dynamic subject line generation\n- **Custom Messages**: Contextual outreach templates\n- **Relationship Mapping**: Contact role identification\n- **Follow-up Planning**: Automated scheduling preparation\n\n## Status Tracking\n- Outreach attempt counters\n- Campaign status management\n- Response tracking preparation\n- Success metric foundations\n\n## Output Quality\n- Complete prospect profiles\n- Ready-to-send communications\n- Tracking-enabled records"
},
"typeVersion": 1
},
{
"id": "392eba9b-5b50-494c-9389-8c8b7ebbc2df",
"name": "ステップ7 - スプレッドシートトラッカー情報",
"type": "n8n-nodes-base.stickyNote",
"position": [
3840,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 7: Google Sheets Opportunity Tracker 📈\n\nStores all backlink opportunities in Google Sheets for comprehensive campaign management and analysis.\n\n## Data Storage\n- **Complete Opportunity Records**: All discovered prospects\n- **Contact Information**: Email, social, team details\n- **Scoring Data**: Priority levels and opportunity scores\n- **Campaign Status**: Outreach progress tracking\n\n## Sheet Organization\n- Structured columns for easy filtering\n- Priority-based sorting options\n- Historical data preservation\n- Export capabilities for reporting\n\n## Team Collaboration\n- Shared access for marketing teams\n- Real-time updates and synchronization\n- Comment and note capabilities\n- Progress tracking and accountability\n\n## Analytics Ready\n- Performance metrics calculation\n- Success rate analysis\n- ROI tracking preparation\n- Campaign optimization insights"
},
"typeVersion": 1
},
{
"id": "1650fb50-4794-411a-9644-567f39cde834",
"name": "ステップ8 - メールキャンペーン情報",
"type": "n8n-nodes-base.stickyNote",
"position": [
4416,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 8: Automated Outreach Email Campaign 📧\n\nSends personalized outreach emails to high-priority prospects with valid email addresses.\n\n## Email Automation\n- **Personalized Content**: Dynamic subject lines and messages\n- **Smart Filtering**: Only contacts with valid emails\n- **Professional Templates**: Pre-crafted outreach messages\n- **Tracking Integration**: Campaign performance monitoring\n\n## Message Personalization\n- References specific page content\n- Includes relevant anchor text context\n- Mentions competitor relationships\n- Suggests mutual benefits\n\n## Delivery Features\n- SMTP configuration support\n- Bulk sending capabilities\n- Delivery status tracking\n- Bounce management\n\n## Best Practices\n- Respectful outreach frequency\n- Value-focused messaging\n- Professional tone and branding\n- Compliance with email regulations\n\n⚠️ **Note**: Configure SMTP credentials for email sending"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "c24b3ee0-7fae-40ea-81ea-b72b9e311e0a",
"connections": {
"f26fdc84-c320-42a0-b8f3-f453e996d983": {
"main": [
[
{
"node": "d7c4c6ef-ccba-4fc7-8bdf-190b6b2cbd86",
"type": "main",
"index": 0
}
]
]
},
"c445da82-03ca-455c-b70f-f452f325e41a": {
"main": [
[
{
"node": "64aa43a5-ae6c-434c-bc4d-4e601f4269ff",
"type": "main",
"index": 0
}
]
]
},
"d663512b-bedb-47f9-ba53-5512b3a9f842": {
"main": [
[
{
"node": "98b58330-7b28-489e-8ee1-9a6354926cd3",
"type": "main",
"index": 0
},
{
"node": "0c5f454c-9d96-4ce4-bd2d-0d170f2acac7",
"type": "main",
"index": 0
}
]
]
},
"98b58330-7b28-489e-8ee1-9a6354926cd3": {
"main": [
[
{
"node": "0a609388-12e0-4721-a0b4-7e58452a5ec2",
"type": "main",
"index": 0
}
]
]
},
"9f0b62f6-29a8-43fb-814e-efb7060108a2": {
"main": [
[
{
"node": "f26fdc84-c320-42a0-b8f3-f453e996d983",
"type": "main",
"index": 0
}
]
]
},
"0a609388-12e0-4721-a0b4-7e58452a5ec2": {
"main": [
[
{
"node": "9f0b62f6-29a8-43fb-814e-efb7060108a2",
"type": "main",
"index": 0
}
]
]
},
"64aa43a5-ae6c-434c-bc4d-4e601f4269ff": {
"main": [
[
{
"node": "d663512b-bedb-47f9-ba53-5512b3a9f842",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - 市場調査, AI要約
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
私のワークフロー2
AI競合監視と収益最適化を組み合わせた自動動の管理価格設定
If
Code
Merge
+
If
Code
Merge
25 ノードvinci-king-01
市場調査
私のワークフロー 2
ScrapeGraphAIと戦略の計画を用いたAI駆動のコンテンツギャップ分析
Code
Google Sheets
Schedule Trigger
+
Code
Google Sheets
Schedule Trigger
18 ノードvinci-king-01
市場調査
ScrapegraphAIを使ってニュース記事を自動スクラップしてGoogleシートに保存
ScrapegraphAIを使ってニュース記事を自動スクレイピングし、Google Sheetsに保存
Code
Google Sheets
Schedule Trigger
+
Code
Google Sheets
Schedule Trigger
8 ノードvinci-king-01
市場調査
不動産保守コスト分析
ScrapeGraphAIを使って不動産のメンテナンスコストを分析し、予算計画を立てる
Code
Schedule Trigger
Scrapegraph Ai
+
Code
Schedule Trigger
Scrapegraph Ai
12 ノードvinci-king-01
市場調査
不動産市場の感情分析
ScrapeGraphAIとTelegramを使って不動産市場の感情を分析する
Code
Telegram
Schedule Trigger
+
Code
Telegram
Schedule Trigger
15 ノードvinci-king-01
市場調査
財産
ScrapeGraphAIを使用してZillowの不動産一覧をTelegramに自動送信
Code
Telegram
Schedule Trigger
+
Code
Telegram
Schedule Trigger
8 ノードvinci-king-01
市場調査