Turn Telegram into a French fitness coach with Claude, OpenAI and Google Sheets

Go to Workflow
2 views
Built by mounir mounir
Created on July 29, 2026

Description

Quick overview
This workflow turns a Telegram chat into a French-speaking fitness and nutrition coach that can handle text or voice messages, use Anthropic for responses, log and read training/nutrition data in Google Sheets, and schedule workouts in Google Calendar.

How it works
Triggers when a new Telegram message is received.
Detects whether the incoming message is a voice note and, if so, downloads it from Telegram and transcribes it with OpenAI.
Normalizes the user message, chat ID, and current date fields for downstream processing.
Uses an Anthropic chat model with short-term session memory to generate a coaching response and decide when to call tools.
Reads from and writes to Google Sheets to fetch or update the user profile, log workouts and meals, retrieve daily nutrition totals, and create or update weekly training and nutrition plans.
Optionally creates a workout event in Google Calendar when the user asks to schedule a session.
Sends the generated response back to the user in Telegram.

Setup
Create and connect credentials for Telegram, Anthropic, OpenAI (for audio transcription), Google Sheets OAuth2, and Google Calendar OAuth2.
Replace YOUR_SHEET_ID_HERE and select the correct sheet tabs for profile, workout history, nutrition log, and weekly plans in all Google Sheets tool nodes.
Ensure your Google Sheets contain the expected columns (for example id_telegram, date, objectif, poids actuel, and plan text fields) so matching and appends work correctly.
In Telegram, enable the bot and start a chat with it so the trigger can receive messages from users.
Verify the Google Calendar account and target calendar in the event-creation tool node match the calendar you want to write to.

Nodes Used (7)

AI Agent
@n8n/n8n-nodes-langchain.agent
Anthropic Chat Model
@n8n/n8n-nodes-langchain.lmChatAnthropic
Call n8n Workflow Tool
@n8n/n8n-nodes-langchain.toolWorkflow
HTTP Request
n8n-nodes-base.httpRequest
OpenAI
@n8n/n8n-nodes-langchain.openAi
Simple Memory
@n8n/n8n-nodes-langchain.memoryBufferWindow
Telegram
n8n-nodes-base.telegram