YogiAI
Configured with Agent, Chain LLM, Google Sheets, Google Sheets Tool, and additional nodes. Review the connections and setup before adapting this template.
Node categories in this workflow
- AI & models
- Data store
- Transform
- Trigger
- Code
- Web / API
Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.
Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.
How it works
The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.
| Node | Category | Type | Operation |
|---|---|---|---|
| Azure OpenAI Chat Model2 | AI & models | LM Chat Azure Open Ai | See node parameters |
| YogaLog | Data store | Google Sheets | append |
| Azure OpenAI Chat Model3 | AI & models | LM Chat Azure Open Ai | See node parameters |
| Auto-fixing Output Parser | Transform | Output Parser Autofixing | See node parameters |
| Azure OpenAI Chat Model1 | AI & models | LM Chat Azure Open Ai | See node parameters |
| Structured Output Parser | Transform | Output Parser Structured | See node parameters |
| AI Agent | AI & models | Agent | See node parameters |
| PosesDatabase1 | Data store | Google Sheets Tool | See node parameters |
| YogaLog2 | Data store | Google Sheets | append |
| Split Out | Transform | Split Out | See node parameters |
| Trigger 2130 YogaPosesToday | Trigger | Schedule Trigger | See node parameters |
| Azure OpenAI Chat Model5 | AI & models | LM Chat Azure Open Ai | See node parameters |
| Get PoseName | Data store | Google Sheets | See node parameters |
| WritePosesToday | AI & models | Chain LLM | See node parameters |
| RewritePosesToday | AI & models | Chain LLM | See node parameters |
| Azure OpenAI Chat Model | AI & models | LM Chat Azure Open Ai | See node parameters |
| WriteJSONflex | AI & models | Chain LLM | See node parameters |
| Structured Output Parser1 | Transform | Output Parser Structured | See node parameters |
| Auto-fixing Output Parser1 | Transform | Output Parser Autofixing | See node parameters |
| Azure OpenAI Chat Model6 | AI & models | LM Chat Azure Open Ai | See node parameters |
| Azure OpenAI Chat Model4 | AI & models | LM Chat Azure Open Ai | See node parameters |
| Code | Code | Code | See node parameters |
| Line Push with Flex Bubble | Web / API | HTTP Request | POST |
| CombineAll | Transform | Edit Fields | See node parameters |
| Fix JSON | AI & models | Chain LLM | See node parameters |
Setup
- Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
- Connect your own credentials through n8n’s credential store. Replace
REPLACE_WITH_*values with your resource identifiers. - Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
- Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.
Requirements
An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.
Credential types declared in the source
azureOpenAiApigoogleSheetsOAuth2ApihttpHeaderAuth
Workflow notes
YogiAI
YogiAI
This YogiAI is to provide daily reminder and pose of the day to the user via Line Push Message
The data will be generated from GoogleSheet Weighted Random Poses and Push to your Line at the scheduled time
Get the Data
Get the Data
This is to get the data from GoogleSheet
In the range we got, we'll have PosesName, uri (image link), and url (link when clicked)
The sample is here https://docs.google.com/spreadsheets/d/REPLACE_WITH_DOCUMENT_ID/edit?usp=sharing
The data is from https://pocketyoga.com/pose/
YOU SHOULD UPDATE IT WITH YOUR OWN DATA
Write FlexMessage for Images
Write FlexMessage for Images
To send the information in Line, we need to write a JSON for Flex Message meaning that it can slides to show the images of the pose
We use auto-parser here to make sure the JSON followed the required format
https://developers.line.biz/en/docs/messaging-api/using-flex-messages/
You can also use https://developers.line.biz/flex-simulator/?status=success to simulate the format
Write Text for Poses today
Write Text for Poses today
This node we want to have user friendly text such as with emojis, etc. So, we give Azure OpenAI the poses of today and ask it to rewrie
Combine the result and push it via Line
Combine the result and push it via Line
- We used 'Edit Field' to combine all the output (Hint: you can have input_txt and output_txt to debug your script here)
- To make sure that our JSON is proper, we asked AI to fix it again.
- Use Line Push >> Please replace "to" to your own UID and create the header authorization with the channel you have
https://developers.line.biz/en/docs/messaging-api/sending-messages/
Write back the data into Log and Log2
Write back the data into Log and Log2
We used log2 to count how many time we send each poses and weighted this back into the 'Yoga' Sheet to make the random more random ;)
To put the data back, we also want to extract from the output and split it out to put back to google sheet
YogiAI
YogiAI
Purpose and structure
This folder contains the YogiAI workflow. Its executable nodes use agent, chainLlm, code, googleSheets, googleSheetsTool, httpRequest, lmChatAzureOpenAi, outputParserAutofixing, outputParserStructured, scheduleTrigger, set, splitOut. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.
Setup
Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.
Entry points
Trigger 2130 YogaPosesToday
Verification
Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.
Attribution
https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Splitout/0740_Splitout_Code_Automation_Webhook.json MIT; preserve source notices.