Quick overview
This workflow captures freelancer project updates from Telegram, uses Google Gemini to extract and match the client from a Google Sheets roster, appends the update to a Notion project timeline, optionally archives attachments to Google Drive, logs everything to Google Sheets, and sends a daily digest with Google Calendar context.
How it works
- Triggers when you send a Telegram message to the configured bot.
- Uses Google Gemini to extract a structured project update (client hint, status, blocker, deadline, and summary) from the message text.
- Reads the active client roster from Google Sheets and uses Google Gemini to match the client hint to a single client with a confidence score.
- If the match confidence is below the threshold, sends a Telegram message asking you to confirm which client you meant and does not log anything.
- If the match is confident, formats a normalized update payload and appends a timeline entry to the target Notion block.
- If the Telegram message contains a file or photo, downloads it from Telegram and uploads it to a Google Drive folder.
- Appends an audit row to Google Sheets and sends a Telegram confirmation, or sends a Telegram error message if the Notion write fails.
- Every day at 08:00, fetches upcoming Google Calendar events and recent Google Sheets log entries, has Google Gemini write a short morning brief, and sends it to Telegram as a single-message digest.
Setup
- Add credentials for Telegram Bot API, Google Gemini (PaLM/Vertex) API, a Google Sheets service account, Google Drive access, Google Calendar OAuth, and Notion.
- Create a Google Sheet with a “Clients” tab (client_id, client_name, aliases, notion_page_id, drive_folder_id, deadline, active) and a “Log” tab (timestamp, client_id, client_name, status, summary, blocker, deadline, confidence, raw_message), then set the correct Spreadsheet ID and sheet/tab identifiers in the Google Sheets nodes.
- In Notion, create or choose a page/block to hold the timeline and set the Notion block ID (and ensure the integration has access to that page).
- Set the Google Drive folder ID for archived attachments and grant the service account edit access to that folder.
- Replace the Telegram digest chat ID and ensure the Telegram trigger/webhook is configured so messages reach the bot used by this workflow.