LinkedIn および X からの求人情報を自動で検索し、Notion に保存

上級

これは自動化ワークフローで、23個のノードを含みます。主にIf, Set, Code, Wait, Limitなどのノードを使用。 LinkedInとXでの職位検索を自動化し、結果をNotionに保存する

前提条件
  • Notion API Key
  • Twitter API認証情報
  • ターゲットAPIの認証情報が必要な場合あり

カテゴリー

-
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "1401ee9e9fdd0e9d0b337b70e6fb76d293cb16d23811c9f2d457eebd07c701f0",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "a6f94de6-04c3-4b3d-8196-3828fede72b9",
      "name": "付箋ノート BookSlot Webhook1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -400
      ],
      "parameters": {
        "color": 5,
        "width": 2062,
        "height": 96,
        "content": "# Goal: Search only Senior Designer roles on LinkedIn (customize included/excluded job titles)"
      },
      "typeVersion": 1
    },
    {
      "id": "234e54fc-b572-43b3-8904-23f67b297e91",
      "name": "付箋ノート BookSlot Webhook2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1264,
        -416
      ],
      "parameters": {
        "color": 5,
        "width": 782,
        "height": 1472,
        "content": "# LinkedIn Job Search Automation\n\nCreator: [Summer Chang](https://www.youtube.com/channel/UCAdp-nOSH-jcrwXkLlUMyXQ)\n\n## Setup Instructions\nThis n8n workflow automatically searches for senior designer jobs on LinkedIn every day at 5am and saves them to a Notion database.\nPrerequisites\n\nn8n instance (cloud or self-hosted)\nNotion account with API access\nA Notion database set up to receive job listings\n\n## Setup Steps\n✅ 1. Create Your Notion Database\nOr [duplicate my template](https://summerchangco.notion.site/job-search-automation?v=28e2d5cd4ef48197a875000cb99628e5&source=copy_link)\n\n✅ 2. Connect Notion to n8n\n\nIn the \"Save to Notion\" node, click on the Notion credentials\nFollow the authentication flow to connect your Notion account\nSelect your job search database from the dropdown\n\n✅ 3. Customize Your Search Criteria\nIn the \"Set Search Criteria\" node, modify these parameters to match your job preferences: \n\nsearch_keywords: Job titles to search for (comma-separated)\n\nDefault: senior product designer, product design lead, senior UX designer, AI designer\n\nexcluded_keywords: Terms to filter out (comma-separated)\n\nDefault: contract, freelance\n\nlocation: Where you want to work (comma-separated)\n\nDefault: remote, san francisco\n\nf_TPR: Time filter for job postings\n\nr86400 = Last 24 hours\nr604800 = Last week\nr2592000 = Last month\n\nsortBy: How to sort results\n\nDD = Most recent first\nR = Most relevant first\n\n✅ 4. Adjust the Schedule\nIn the \"Everyday @5am\" node:\n\nClick on the node\nModify the schedule to your preferred time\nYou can set it to run daily, weekly, or at custom intervals\n\n✅ 5. Set Result Limits\nIn the \"Limit1\" node:\n\nDefault: Processes 10 jobs per run\nAdjust the maxItems value to get more or fewer results\n\n✅ 6. Configure Wait Time (Optional)\nThe \"Wait2\" node adds a 10-second delay between requests to avoid rate limiting:\n\nDefault: 10 seconds\nIncrease if you're getting blocked by LinkedIn\nDecrease for faster processing (not recommended)"
      },
      "typeVersion": 1
    },
    {
      "id": "de3fdaa7-39da-40dd-8bed-0987cbb15164",
      "name": "付箋ノート BookSlot Webhook7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -304,
        656
      ],
      "parameters": {
        "color": 5,
        "width": 2046,
        "height": 80,
        "content": "# Goal: Search only Senior Designer jobs from X and link directly to each post"
      },
      "typeVersion": 1
    },
    {
      "id": "9e0c83c7-760c-40ae-9800-49d9a5da7ed6",
      "name": "付箋ノート",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -256
      ],
      "parameters": {
        "color": 7,
        "width": 576,
        "height": 272,
        "content": "## How It Works\n\n1. Trigger: Runs automatically every day at 5am\n2. Search: Queries LinkedIn with your specified criteria\n3. Parse: Extracts job title, company, location, and URL from search results\n4. Filter: Removes any jobs with missing critical information\n5. Wait: Delays between requests to avoid rate limiting\n6. Fetch Details: Retrieves full job descriptions and poster information\nSave: Adds each job to your Notion database"
      },
      "typeVersion": 1
    },
    {
      "id": "425301aa-5ef6-44a8-acac-a6c06b22709a",
      "name": "付箋ノート1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -16,
        288
      ],
      "parameters": {
        "color": 4,
        "width": 320,
        "content": "#CUSTOMIZE YOUR SEARCH\n\nEdit these values to match YOUR job preferences: search_keywords: Add your desired job titles\\nExample: \n'senior product designer, UX lead, design manager'"
      },
      "typeVersion": 1
    },
    {
      "id": "4f7313f0-b4df-4a43-8496-51bccfdb85ec",
      "name": "LinkedIn検索1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        176,
        112
      ],
      "parameters": {
        "url": "https://www.linkedin.com/jobs/search?keywords=senior%20product%20designer%20OR%20product%20design%20lead%20OR%20senior%20UX%20designer&location=san%20francisco&f_TPR=r86400",
        "options": {},
        "responseFormat": "string"
      },
      "typeVersion": 1
    },
    {
      "id": "467eb611-96f4-44b6-a378-71123de75a4b",
      "name": "制限1",
      "type": "n8n-nodes-base.limit",
      "position": [
        576,
        112
      ],
      "parameters": {
        "maxItems": 10
      },
      "typeVersion": 1
    },
    {
      "id": "574cfe35-c3bd-467b-8e5b-7fa8146ff69d",
      "name": "求人詳細取得1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1168,
        112
      ],
      "parameters": {
        "url": "={{ $json.job_url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "2dac2dd8-f005-47ae-8885-1974acc8b63c",
      "name": "投稿者情報抽出2",
      "type": "n8n-nodes-base.code",
      "position": [
        1360,
        112
      ],
      "parameters": {
        "jsCode": "const items = $input.all();\nconst results = [];\n\nfor (const item of items) {\n  const html = item.json.data;\n  const jobData = item.json;\n  \n  let description = '';\n  const descMatch = html.match(/class=\"show-more-less-html__markup[^>]*>([\\s\\S]*?)<\\/div>/);\n  if (descMatch) {\n    description = descMatch[1].replace(/<[^>]+>/g, ' ').replace(/\\s+/g, ' ').trim();\n    // Truncate to 2000 characters max for Notion\n    if (description.length > 2000) {\n      description = description.substring(0, 1997) + '...';\n    }\n  }\n  \n  let posterName = '';\n  const posterMatch = html.match(/class=\"hiring-team__member-name[^>]*>\\s*([^<]+)</);\n  if (posterMatch) {\n    posterName = posterMatch[1].trim();\n  }\n  \n  let posterTitle = '';\n  const titleMatch = html.match(/class=\"hiring-team__member-title[^>]*>\\s*([^<]+)</);\n  if (titleMatch) {\n    posterTitle = titleMatch[1].trim();\n  }\n  \n  let posterProfile = '';\n  const profileMatch = html.match(/href=\"(\\/in\\/[^\"]+)\"[^>]*class=\"hiring-team/);\n  if (profileMatch) {\n    posterProfile = 'https://www.linkedin.com' + profileMatch[1];\n  }\n  \n  results.push({\n    json: {\n      ...jobData,\n      description: description,\n      poster_name: posterName || 'Not found',\n      poster_title: posterTitle || 'Not found',\n      poster_profile: posterProfile || 'Not found'\n    }\n  });\n}\n\nreturn results;"
      },
      "typeVersion": 2
    },
    {
      "id": "a1531ba4-5e38-4b0a-93e2-a188f6e6e5a3",
      "name": "Notionに保存3",
      "type": "n8n-nodes-base.notion",
      "position": [
        1568,
        112
      ],
      "parameters": {
        "simple": false,
        "options": {},
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Job Title|title",
              "title": "={{ $('Filter1').item.json.job_title }}"
            },
            {
              "key": "Company|rich_text",
              "textContent": "={{ $('Filter1').item.json.company }}"
            },
            {
              "key": "Location|rich_text",
              "textContent": "={{ $('Filter1').item.json.location }}"
            },
            {
              "key": "Job URL|url",
              "urlValue": "={{ $('Filter1').item.json.job_url }}"
            },
            {
              "key": "Poster Name|rich_text",
              "textContent": "={{ $json.poster_name }}"
            },
            {
              "key": "Poster Title|rich_text",
              "textContent": "={{ $json.poster_title }}"
            },
            {
              "key": "Poster Profile|url",
              "urlValue": "={{ $json.poster_profile }}"
            },
            {
              "key": "Job Description|rich_text",
              "textContent": "={{ $json.description }}"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "28683ae2-4633-4350-a4b0-b53929c92093",
      "name": "求人解析1",
      "type": "n8n-nodes-base.code",
      "position": [
        368,
        112
      ],
      "parameters": {
        "jsCode": "const html = $input.all()[0].json.data;\nconst jobCards = [];\nconst jobLinkRegex = /href=\"(https:\\/\\/www\\.linkedin\\.com\\/jobs\\/view\\/[^\"]+)\"/g;\nconst jobLinks = [];\nlet match;\n\nwhile ((match = jobLinkRegex.exec(html)) !== null) {\n  jobLinks.push(match[1]);\n}\n\nfor (let i = 0; i < jobLinks.length; i++) {\n  const jobUrl = jobLinks[i];\n  const urlIndex = html.indexOf(jobUrl);\n  if (urlIndex === -1) continue;\n  \n  const startIndex = Math.max(0, urlIndex - 3000);\n  const endIndex = Math.min(html.length, urlIndex + 1000);\n  const cardSection = html.substring(startIndex, endIndex);\n  \n  // Extract title\n  let title = '';\n  const titleMatch = cardSection.match(/class=\"base-search-card__title[^>]*>\\s*([^<]+)</i);\n  if (titleMatch) {\n    title = titleMatch[1].trim().replace(/\\s+/g, ' ');\n  }\n  \n  // Extract company - try multiple patterns\n  let company = '';\n  \n  // Pattern 1: hidden-nested-link (most common)\n  const companyMatch1 = cardSection.match(/class=\"hidden-nested-link[^>]*>\\s*([^<]+)</i);\n  if (companyMatch1) {\n    company = companyMatch1[1].trim();\n  }\n  \n  // Pattern 2: base-search-card__subtitle\n  if (!company) {\n    const companyMatch2 = cardSection.match(/class=\"base-search-card__subtitle[^>]*>\\s*([^<]+)</i);\n    if (companyMatch2) {\n      company = companyMatch2[1].trim();\n    }\n  }\n  \n  // Pattern 3: Look for company name in any link before the job URL\n  if (!company) {\n    const companyMatch3 = cardSection.match(/href=\"\\/company\\/[^\"]*\"[^>]*>\\s*([^<]+)</i);\n    if (companyMatch3) {\n      company = companyMatch3[1].trim();\n    }\n  }\n  \n  // Extract location\n  let location = '';\n  const locationMatch = cardSection.match(/class=\"job-search-card__location[^>]*>\\s*([^<]+)</i);\n  if (locationMatch) {\n    location = locationMatch[1].trim();\n  }\n  \n  // Extract posted date\n  let posted = '';\n  const dateMatch = cardSection.match(/<time[^>]*>\\s*([^<]+)</i);\n  if (dateMatch) {\n    posted = dateMatch[1].trim();\n  }\n  \n  jobCards.push({\n    json: {\n      job_title: title || 'Title not found',\n      company: company || 'Company not found',\n      location: location || 'Location not specified',\n      job_url: jobUrl,\n      posted_date: posted || 'Date not specified',\n      source: 'linkedin'\n    }\n  });\n}\n\nreturn jobCards;"
      },
      "typeVersion": 2
    },
    {
      "id": "05b081ad-b4f0-4be7-a5f5-4f7386e723f9",
      "name": "フィルター1",
      "type": "n8n-nodes-base.filter",
      "position": [
        784,
        112
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cc1a9535-66db-47f3-8503-2591ca56b04b",
              "operator": {
                "type": "string",
                "operation": "notEquals"
              },
              "leftValue": "={{ $json.company }}",
              "rightValue": "Company not found"
            },
            {
              "id": "dc84a071-58f1-4ce1-a0b9-bb0c05fe5679",
              "operator": {
                "type": "string",
                "operation": "notEquals"
              },
              "leftValue": "={{ $json.job_title }}",
              "rightValue": "Title not found"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "014b0a99-e070-4fef-9f05-17f9504ef0e1",
      "name": "待機",
      "type": "n8n-nodes-base.wait",
      "position": [
        992,
        112
      ],
      "webhookId": "2662233a-6d97-4c56-b400-29a67ee2a07e",
      "parameters": {
        "amount": 10
      },
      "typeVersion": 1.1
    },
    {
      "id": "cc2e9e92-c56c-45af-a3a8-176dfc856707",
      "name": "毎日 @5am1",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -240,
        112
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "fd5bea7f-f757-4ad2-8b8c-e97d7c4fd06e",
      "name": "検索条件設定1",
      "type": "n8n-nodes-base.set",
      "position": [
        -16,
        112
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "search_keywords",
              "value": "senior product designer, product design lead, senior UX designer, AI designer"
            },
            {
              "name": "excluded_keywords",
              "value": "contract, freelance"
            },
            {
              "name": "location",
              "value": "remote, san francisco"
            },
            {
              "name": "f_TPR",
              "value": "r86400"
            },
            {
              "name": "sortBy",
              "value": "DD"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "39b938eb-194a-4561-a9e6-6ee04bb2919c",
      "name": "付箋ノート2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        -256
      ],
      "parameters": {
        "color": 7,
        "width": 576,
        "height": 272,
        "content": "## Notes\n\nThis workflow scrapes LinkedIn's public job search pages\nLinkedIn may change their HTML structure, which could break the parsing logic\nConsider LinkedIn's terms of service and rate limits when running this automation\nThe workflow filters out jobs missing title or company information automatically"
      },
      "typeVersion": 1
    },
    {
      "id": "658fdab8-9caf-4306-a732-5bf326c7c545",
      "name": "毎日 @5:15am",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -256,
        880
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "da3e687d-45ac-4534-a763-952ee2b2b991",
      "name": "検索設定",
      "type": "n8n-nodes-base.set",
      "position": [
        48,
        880
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "search_keywords",
              "value": "senior product designer, product design lead, senior UX designer"
            },
            {
              "name": "excluded_keywords",
              "value": "junior, intern, internship"
            },
            {
              "name": "location",
              "value": "san francisco, remote"
            },
            {
              "name": "posted_within",
              "value": "24h"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "642c6a0a-0306-4e63-88ab-ff7b531c391f",
      "name": "Twitter 求人投稿を検索",
      "type": "n8n-nodes-base.twitter",
      "position": [
        336,
        880
      ],
      "parameters": {
        "operation": "search",
        "searchText": "(\"senior product designer\" OR \"product design lead\" OR \"senior UX designer\") (hiring OR \"we're hiring\" OR \"join our team\" OR opening OR \"we are hiring\") (\"san francisco\" OR remote OR \"work from anywhere\") -contract -freelance -junior -intern -internship -RT",
        "additionalFields": {}
      },
      "credentials": {
        "twitterOAuth2Api": {
          "id": "Dl9Lhj7dQdaXbS4F",
          "name": "X account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "fc0cef14-889f-48ef-89a2-991d4b97e2fe",
      "name": "求人を解析・フィルタリング",
      "type": "n8n-nodes-base.code",
      "position": [
        640,
        880
      ],
      "parameters": {
        "jsCode": "const items = $input.all();\nconst results = [];\n\nfor (const item of items) {\n  const tweet = item.json;\n  const text = tweet.text || '';\n  const author = tweet.includes?.users?.[0] || {};\n  \n  // Skip if tweet contains excluded keywords\n  const excludedWords = ['contract', 'freelance', 'junior', 'intern', 'c2c', 'corp-to-corp'];\n  const textLower = text.toLowerCase();\n  if (excludedWords.some(word => textLower.includes(word))) {\n    continue;\n  }\n  \n  // Extract job title\n  let jobTitle = '';\n  const titlePatterns = [\n    /(senior\\s+product\\s+designer)/i,\n    /(product\\s+design\\s+lead)/i,\n    /(lead\\s+product\\s+designer)/i,\n    /(senior\\s+ux\\s+designer)/i,\n    /(principal\\s+(?:product\\s+)?designer)/i,\n    /(staff\\s+(?:product\\s+)?designer)/i\n  ];\n  \n  for (let pattern of titlePatterns) {\n    const match = text.match(pattern);\n    if (match) {\n      jobTitle = match[1].trim();\n      break;\n    }\n  }\n  \n  // Extract company\n  let company = '';\n  const companyPatterns = [\n    /@([A-Z][a-zA-Z0-9_]+)\\s+(?:is|are)\\s+(?:hiring|looking)/,\n    /(?:at|join|@)\\s+([A-Z][a-zA-Z0-9]+?)(?:\\s+(?:is|are|we|-))/,\n    /([A-Z][a-zA-Z0-9\\s]{2,30})\\s+(?:is|are)\\s+(?:hiring|looking|seeking)/\n  ];\n  \n  for (let pattern of companyPatterns) {\n    const match = text.match(pattern);\n    if (match) {\n      company = match[1].trim().replace(/^@/, '');\n      break;\n    }\n  }\n  \n  // If no company found, use author name or check bio\n  if (!company) {\n    if (author.description) {\n      const bioMatch = author.description.match(/(?:@|at)\\s+([A-Z][a-zA-Z0-9]+)/);\n      if (bioMatch) company = bioMatch[1];\n    }\n    if (!company) company = author.name || 'See tweet';\n  }\n  \n  // Extract location with priority for SF and Remote\n  let location = '';\n  const sfPatterns = [\n    /san francisco|SF bay area|bay area/i,\n    /remote|fully remote|work from anywhere|work from home|WFH/i,\n    /hybrid.*(?:san francisco|SF)/i\n  ];\n  \n  for (let pattern of sfPatterns) {\n    const match = text.match(pattern);\n    if (match) {\n      location = match[0].trim();\n      break;\n    }\n  }\n  \n  // Generic location fallback\n  if (!location) {\n    const locMatch = text.match(/(?:location|based in|located in)[:\\s]+([A-Z][a-z]+(?:[,\\s]+[A-Z]{2})?)/i);\n    if (locMatch) location = locMatch[1];\n  }\n  \n  // Only include if it's SF or Remote\n  if (location) {\n    const locationLower = location.toLowerCase();\n    if (!locationLower.includes('san francisco') && \n        !locationLower.includes('bay area') && \n        !locationLower.includes('remote') &&\n        !locationLower.includes('sf')) {\n      continue; // Skip non-SF/remote jobs\n    }\n  }\n  \n  // Extract URLs\n  let jobUrl = '';\n  const urls = text.match(/https:\\/\\/[^\\s]+/g);\n  if (urls && urls.length > 0) {\n    // Prefer job board URLs\n    jobUrl = urls.find(url => \n      url.includes('greenhouse') || \n      url.includes('lever') || \n      url.includes('workday') ||\n      url.includes('jobs') ||\n      url.includes('careers')\n    ) || urls[0];\n  }\n  \n  // Build tweet URL\n  const tweetUrl = `https://twitter.com/${author.username}/status/${tweet.id}`;\n  \n  // Extract poster info\n  const posterName = author.name || 'Unknown';\n  const posterUsername = author.username || '';\n  const posterProfile = `https://twitter.com/${author.username}`;\n  const posterBio = author.description || '';\n  \n  // Try to extract poster's title from bio\n  let posterTitle = '';\n  const titleMatch = posterBio.match(/^([^@|•\\n]{10,80})/);\n  if (titleMatch) {\n    posterTitle = titleMatch[1].trim();\n  }\n  \n  results.push({\n    json: {\n      job_title: jobTitle || 'Senior Product Designer',\n      company: company,\n      location: location || 'Remote/San Francisco',\n      job_url: jobUrl || tweetUrl,\n      posted_date: tweet.created_at || new Date().toISOString(),\n      source: 'twitter',\n      poster_name: posterName,\n      poster_username: posterUsername,\n      poster_profile: posterProfile,\n      poster_title: posterTitle,\n      description: text.substring(0, 2000),\n      tweet_url: tweetUrl,\n      likes: tweet.public_metrics?.like_count || 0,\n      retweets: tweet.public_metrics?.retweet_count || 0,\n      replies: tweet.public_metrics?.reply_count || 0\n    }\n  });\n}\n\nreturn results;"
      },
      "typeVersion": 2
    },
    {
      "id": "734e5a37-6ae0-4eea-ba2f-0c1b07fe4f22",
      "name": "有効な求人をフィルタリング",
      "type": "n8n-nodes-base.if",
      "position": [
        880,
        880
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.job_title }}",
              "operation": "isNotEmpty"
            },
            {
              "value1": "={{ $json.company }}",
              "operation": "isNotEmpty"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ef931ed3-80a9-46b3-93f9-14d670d224c4",
      "name": "待機。",
      "type": "n8n-nodes-base.wait",
      "position": [
        1152,
        880
      ],
      "webhookId": "b628a9fa-833f-4957-8d65-d086b6dd0e94",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "b628b752-301b-4b0c-9690-ac871f63f7a2",
      "name": "Notion データベースに保存",
      "type": "n8n-nodes-base.notion",
      "position": [
        1440,
        880
      ],
      "parameters": {
        "simple": false,
        "options": {},
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Job Title|title",
              "title": "={{ $json.job_title }}"
            },
            {
              "key": "Company|rich_text",
              "textContent": "={{ $json.company }}"
            },
            {
              "key": "Location|rich_text",
              "textContent": "={{ $json.location }}"
            },
            {
              "key": "Job URL|url",
              "urlValue": "={{ $json.job_url }}"
            },
            {
              "key": "Poster Name|rich_text",
              "textContent": "={{ $json.poster_name }}"
            },
            {
              "key": "Poster Title|rich_text",
              "textContent": "={{ $json.poster_title }}"
            },
            {
              "key": "Poster Profile|url",
              "urlValue": "={{ $json.poster_profile }}"
            },
            {
              "key": "Job Description|rich_text",
              "textContent": "={{ $json.description }}"
            },
            {
              "key": "Tweet URL|url",
              "urlValue": "={{ $json.tweet_url }}"
            },
            {
              "key": "Source|select",
              "selectValue": "={{ $json.source }}"
            },
            {
              "key": "Posted Date|date"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "id": "7Lv3qvnDmu3mBnqh",
          "name": "Notion account"
        }
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "014b0a99-e070-4fef-9f05-17f9504ef0e1": {
      "main": [
        [
          {
            "node": "574cfe35-c3bd-467b-8e5b-7fa8146ff69d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ef931ed3-80a9-46b3-93f9-14d670d224c4": {
      "main": [
        [
          {
            "node": "b628b752-301b-4b0c-9690-ac871f63f7a2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "467eb611-96f4-44b6-a378-71123de75a4b": {
      "main": [
        [
          {
            "node": "05b081ad-b4f0-4be7-a5f5-4f7386e723f9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "05b081ad-b4f0-4be7-a5f5-4f7386e723f9": {
      "main": [
        [
          {
            "node": "014b0a99-e070-4fef-9f05-17f9504ef0e1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "da3e687d-45ac-4534-a763-952ee2b2b991": {
      "main": [
        [
          {
            "node": "642c6a0a-0306-4e63-88ab-ff7b531c391f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "28683ae2-4633-4350-a4b0-b53929c92093": {
      "main": [
        [
          {
            "node": "467eb611-96f4-44b6-a378-71123de75a4b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cc2e9e92-c56c-45af-a3a8-176dfc856707": {
      "main": [
        [
          {
            "node": "fd5bea7f-f757-4ad2-8b8c-e97d7c4fd06e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "658fdab8-9caf-4306-a732-5bf326c7c545": {
      "main": [
        [
          {
            "node": "da3e687d-45ac-4534-a763-952ee2b2b991",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4f7313f0-b4df-4a43-8496-51bccfdb85ec": {
      "main": [
        [
          {
            "node": "28683ae2-4633-4350-a4b0-b53929c92093",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "734e5a37-6ae0-4eea-ba2f-0c1b07fe4f22": {
      "main": [
        [
          {
            "node": "ef931ed3-80a9-46b3-93f9-14d670d224c4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "574cfe35-c3bd-467b-8e5b-7fa8146ff69d": {
      "main": [
        [
          {
            "node": "2dac2dd8-f005-47ae-8885-1974acc8b63c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2dac2dd8-f005-47ae-8885-1974acc8b63c": {
      "main": [
        [
          {
            "node": "a1531ba4-5e38-4b0a-93e2-a188f6e6e5a3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fd5bea7f-f757-4ad2-8b8c-e97d7c4fd06e": {
      "main": [
        [
          {
            "node": "4f7313f0-b4df-4a43-8496-51bccfdb85ec",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fc0cef14-889f-48ef-89a2-991d4b97e2fe": {
      "main": [
        [
          {
            "node": "734e5a37-6ae0-4eea-ba2f-0c1b07fe4f22",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "642c6a0a-0306-4e63-88ab-ff7b531c391f": {
      "main": [
        [
          {
            "node": "fc0cef14-889f-48ef-89a2-991d4b97e2fe",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

上級

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
上級
ノード数23
カテゴリー-
ノードタイプ11
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

作成者

Product Designer & AI Consultant | I help business owners improve their websites, apps, and digital marketing systems to drive growth and save time—using design expertise and AI automation.

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34