AutomationFlowsData & Sheets › Update Crypto Portfolio Values in Airtable

Update Crypto Portfolio Values in Airtable

Original n8n title: Update Crypto Values

Update Crypto Values. Uses coinGecko, airtable. Scheduled trigger; 8 nodes.

Cron / scheduled trigger★★★★☆ complexity8 nodesCoin GeckoAirtable
Data & Sheets Trigger: Cron / scheduled Nodes: 8 Complexity: ★★★★☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "14",
  "name": "Update Crypto Values",
  "nodes": [
    {
      "name": "CoinGecko",
      "type": "n8n-nodes-base.coinGecko",
      "position": [
        670,
        400
      ],
      "parameters": {
        "coinId": "={{$json[\"fields\"][\"Symbol\"]}}",
        "options": {
          "market_data": true,
          "localization": false
        },
        "operation": "get"
      },
      "typeVersion": 1
    },
    {
      "name": "Get Portfolio",
      "type": "n8n-nodes-base.airtable",
      "position": [
        450,
        400
      ],
      "parameters": {
        "table": "Portfolio",
        "operation": "list",
        "application": "appT7eX4iZcZVRIdq",
        "additionalOptions": {
          "fields": [
            "Symbol"
          ]
        }
      },
      "credentials": {
        "airtableApi": "<your credential>"
      },
      "typeVersion": 1
    },
    {
      "name": "Set",
      "type": "n8n-nodes-base.set",
      "position": [
        870,
        400
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "Present Price",
              "value": "={{$json[\"market_data\"][\"current_price\"][\"usd\"]}}"
            },
            {
              "name": "Id",
              "value": "={{$node[\"Get Portfolio\"].json[\"id\"]}}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "name": "Run Top of Hour",
      "type": "n8n-nodes-base.cron",
      "position": [
        240,
        400
      ],
      "parameters": {
        "triggerTimes": {
          "item": [
            {
              "mode": "everyHour"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Get Portfolio Values",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1260,
        400
      ],
      "parameters": {
        "table": "Portfolio",
        "operation": "list",
        "application": "appT7eX4iZcZVRIdq",
        "additionalOptions": {
          "fields": [
            "Present Value"
          ]
        }
      },
      "credentials": {
        "airtableApi": "<your credential>"
      },
      "typeVersion": 1
    },
    {
      "name": "Determine Total Value",
      "type": "n8n-nodes-base.function",
      "position": [
        1460,
        400
      ],
      "parameters": {
        "functionCode": "var totalValues = 0;\n\nitems.forEach(sumValues);\n\nfunction sumValues(value, index, array) {\n  totalValues = totalValues + value.json.fields['Present Value'];\n}\n\nitems = [{\"json\": {}}];\n\n\nitems[0].json['Portfolio Value (US$)'] = totalValues;\n\nreturn items;"
      },
      "typeVersion": 1
    },
    {
      "name": "Update Values",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1070,
        400
      ],
      "parameters": {
        "id": "={{$node[\"SplitInBatches\"].json[\"id\"]}}",
        "table": "Portfolio",
        "fields": [
          "Present Price"
        ],
        "options": {},
        "operation": "update",
        "application": "appT7eX4iZcZVRIdq",
        "updateAllFields": false
      },
      "credentials": {
        "airtableApi": "<your credential>"
      },
      "typeVersion": 1
    },
    {
      "name": "Append Portfolio Value",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1660,
        400
      ],
      "parameters": {
        "table": "Portfolio Value",
        "fields": [
          "Portfolio Value (US$)"
        ],
        "options": {},
        "operation": "append",
        "application": "appT7eX4iZcZVRIdq",
        "addAllFields": false
      },
      "credentials": {
        "airtableApi": "<your credential>"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {},
  "connections": {
    "Set": {
      "main": [
        [
          {
            "node": "Update Values",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "CoinGecko": {
      "main": [
        [
          {
            "node": "Set",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Portfolio": {
      "main": [
        [
          {
            "node": "CoinGecko",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Values": {
      "main": [
        [
          {
            "node": "Get Portfolio Values",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Run Top of Hour": {
      "main": [
        [
          {
            "node": "Get Portfolio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Portfolio Values": {
      "main": [
        [
          {
            "node": "Determine Total Value",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Determine Total Value": {
      "main": [
        [
          {
            "node": "Append Portfolio Value",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Update Crypto Values. Uses coinGecko, airtable. Scheduled trigger; 8 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More Data & Sheets workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Data & Sheets

Ads Machine — Daily Ad Poller. Uses airtable, httpRequest. Scheduled trigger; 13 nodes.

Airtable, HTTP Request
Data & Sheets

Daily Language Learning. Uses hackerNews, lingvaNex, airtable, vonage. Scheduled trigger; 8 nodes.

Hacker News, Lingva Nex, Airtable +1
Data & Sheets

This n8n workflow automates sending out SMS notifications via Vonage which includes new tech-related vocabulary everyday.

Hacker News, Lingva Nex, Airtable +1
Data & Sheets

Splitout Schedule. Uses splitOut, httpRequest, lmChatOpenAi, informationExtractor. Scheduled trigger; 24 nodes.

HTTP Request, OpenAI Chat, Information Extractor +2
Data & Sheets

YouTube to Airtable Anonym. Uses httpRequest, scheduleTrigger, airtable, informationExtractor. Scheduled trigger; 13 nodes.

HTTP Request, Airtable, Information Extractor