AutomationFlowsAI & RAG › Fitness API Weekly Report

Fitness API Weekly Report

Fitness API Weekly Report. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsCohere, vectorStoreSupabase. Webhook trigger; 12 nodes.

Webhook trigger★★★☆☆ complexityAI-powered12 nodesText Splitter Character Text SplitterEmbeddings CohereVector Store SupabaseTool Vector StoreMemory Buffer WindowLm Chat Open AiAgentGoogle Sheets
AI & RAG Trigger: Webhook Nodes: 12 Complexity: ★★★☆☆ AI nodes: yes

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
{
  "name": "Fitness API Weekly Report",
  "nodes": [
    {
      "parameters": {
        "content": "Automated workflow: Fitness API Weekly Report",
        "height": 530,
        "width": 1100,
        "color": 5
      },
      "id": "fb5b6cc9-a3ca-4c2c-bd10-1545178cd1ed",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -480,
        -240
      ]
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "fitness-api-weekly-report"
      },
      "id": "344206c2-8c8c-4fbb-858a-c0e8eedc2ce0",
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        -300,
        0
      ]
    },
    {
      "parameters": {
        "chunkSize": 400,
        "chunkOverlap": 40
      },
      "id": "2e12fc58-d1e8-4878-82bc-e22fee023178",
      "name": "Text Splitter",
      "type": "@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter",
      "typeVersion": 1,
      "position": [
        -130,
        0
      ]
    },
    {
      "parameters": {
        "model": "embed-english-v3.0",
        "options": {}
      },
      "id": "35886feb-ae64-4aa0-a2e8-547e50be4aa6",
      "name": "Embeddings",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "typeVersion": 1,
      "position": [
        70,
        0
      ],
      "credentials": {
        "cohereApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "mode": "insert",
        "options": {},
        "indexName": "fitness_api_weekly_report"
      },
      "id": "92ee7d9d-e7c4-4e59-b838-31c9c9a8bd14",
      "name": "Supabase Insert",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "typeVersion": 1,
      "position": [
        270,
        0
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "indexName": "fitness_api_weekly_report"
      },
      "id": "5b028e05-8481-4805-b63e-725f96511836",
      "name": "Supabase Query",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "typeVersion": 1,
      "position": [
        270,
        -180
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "name": "Supabase",
        "description": "Vector context"
      },
      "id": "83a18d4e-1ca4-4d27-b86e-74e2cbfdb959",
      "name": "Vector Tool",
      "type": "@n8n/n8n-nodes-langchain.toolVectorStore",
      "typeVersion": 1,
      "position": [
        450,
        -180
      ]
    },
    {
      "parameters": {},
      "id": "164d5925-32e6-4c0d-82c2-aa41700bef8d",
      "name": "Window Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        450,
        -40
      ]
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "da0b3613-27f6-475a-a68b-c2af2c462ac3",
      "name": "Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1,
      "position": [
        450,
        -340
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "Process the following data for task 'Fitness API Weekly Report':\n\n{{ $json }}",
        "options": {
          "systemMessage": "You are an assistant for Fitness API Weekly Report"
        }
      },
      "id": "e037ce6e-8a01-4a60-8560-83151db3c6f0",
      "name": "RAG Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1,
      "position": [
        720,
        -40
      ]
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "SHEET_ID",
          "mode": "list",
          "cachedResultName": "Fitness API Weekly Report"
        },
        "sheetName": {
          "__rl": true,
          "value": "Log",
          "mode": "list",
          "cachedResultName": "Log"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Status": "={{$json[\"RAG Agent\"].text}}"
          },
          "schema": []
        }
      },
      "id": "7f166559-0c74-4fa3-9958-bc492bb87d08",
      "name": "Append Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4,
      "position": [
        930,
        -40
      ],
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "channel": "#alerts",
        "text": "Fitness API Weekly Report error: {$json.error.message}"
      },
      "id": "bfd4a5fa-28b7-4f39-923a-064ca8d964cf",
      "name": "Slack Alert",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 1,
      "position": [
        930,
        120
      ],
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "Text Splitter",
            "type": "main",
            "index": 0
          },
          {
            "node": "Window Memory",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Text Splitter": {
      "main": [
        [
          {
            "node": "Embeddings",
            "type": "main",
            "index": 0
          }
        ]
      ],
      "ai_textSplitter": [
        [
          {
            "node": "Supabase Insert",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings": {
      "ai_embedding": [
        [
          {
            "node": "Supabase Insert",
            "type": "ai_embedding",
            "index": 0
          },
          {
            "node": "Supabase Query",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Supabase Insert": {
      "ai_document": [
        []
      ]
    },
    "Supabase Query": {
      "ai_vectorStore": [
        [
          {
            "node": "Vector Tool",
            "type": "ai_vectorStore",
            "index": 0
          }
        ]
      ]
    },
    "Vector Tool": {
      "ai_tool": [
        [
          {
            "node": "RAG Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Window Memory": {
      "ai_memory": [
        [
          {
            "node": "RAG Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "RAG Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "RAG Agent": {
      "main": [
        [
          {
            "node": "Append Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ],
      "onError": [
        [
          {
            "node": "Slack Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "triggerCount": 1
}

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.

About this workflow

Fitness API Weekly Report. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsCohere, vectorStoreSupabase. Webhook trigger; 12 nodes.

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

More AI & RAG workflows → · Browse all categories →