{
  "name": "official WhatsApp API A.I",
  "nodes": [
    {
      "parameters": {
        "resource": "media",
        "operation": "mediaUrlGet",
        "mediaGetId": "={{ $json.audio.id }}"
      },
      "id": "c9b75a99-0e50-4623-841c-00eca631a05d",
      "name": "Get Audio URL",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        0,
        0
      ],
      "typeVersion": 1,
      "webhookId": "851a3762-f5d1-4b3f-b350-1c4a379b1eda"
    },
    {
      "parameters": {
        "resource": "media",
        "operation": "mediaUrlGet",
        "mediaGetId": "={{ $json.image.id }}"
      },
      "id": "ebf02506-2945-4869-a198-3da9f46fc3c3",
      "name": "Get Image URL",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        20,
        220
      ],
      "typeVersion": 1,
      "webhookId": "976f65e6-4288-4725-9e91-136a673bb405"
    },
    {
      "parameters": {
        "url": "={{ $json.url }}",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "whatsAppApi",
        "options": {}
      },
      "id": "d0c6f520-ac44-46bd-999a-4ef79da6189b",
      "name": "Download Audio",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        300,
        0
      ],
      "typeVersion": 4.2
    },
    {
      "parameters": {
        "url": "={{ $json.url }}",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "whatsAppApi",
        "options": {}
      },
      "id": "c708800e-71cd-4368-8650-5af2d118ae98",
      "name": "Download Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        180,
        220
      ],
      "typeVersion": 4.2
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "d990cbd6-a408-4ec4-a889-41be698918d9",
              "name": "message_type",
              "type": "string",
              "value": "={{ $('Split out message').item.json.type }}"
            },
            {
              "id": "23b785c3-f38e-4706-80b7-51f333bba3bd",
              "name": "message_text",
              "type": "string",
              "value": "={{ $json.text }}"
            },
            {
              "id": "6e83f9a7-cf75-4182-b2d2-3151e8af76b9",
              "name": "from",
              "type": "string",
              "value": "={{ $('WhatsApp Trigger1').item.json.messages[0].from }}"
            },
            {
              "id": "da4b602a-28ca-4b0d-a747-c3d3698c3731",
              "name": "message_caption",
              "type": "string",
              "value": "={{ $('Identify and ReRoute Message Types').item.json.video && $('Identify and ReRoute Message Types').item.json.video.caption || '' }}\n{{ $('Identify and ReRoute Message Types').item.json.image && $('Identify and ReRoute Message Types').item.json.image.caption || ''}}\n{{ $('Identify and ReRoute Message Types').item.json.audio && $('Identify and ReRoute Message Types').item.json.audio.caption || ''}}"
            }
          ]
        },
        "options": {}
      },
      "id": "f7184149-3a10-41ad-812c-bf5dbcbf594e",
      "name": "Get User's Message",
      "type": "n8n-nodes-base.set",
      "position": [
        720,
        220
      ],
      "typeVersion": 3.4
    },
    {
      "parameters": {
        "amount": 0
      },
      "id": "20d87caa-590d-4388-acfe-d7d39c98867a",
      "name": "Get Text",
      "type": "n8n-nodes-base.wait",
      "position": [
        20,
        540
      ],
      "webhookId": "99b49c83-d956-46d2-b8d3-d65622121ad9",
      "typeVersion": 1.1
    },
    {
      "parameters": {
        "operation": "send",
        "phoneNumberId": "266511473204092",
        "recipientPhoneNumber": "={{ $('WhatsApp Trigger1').item.json.messages[0].from }}",
        "textBody": "={{ $json.output }}",
        "additionalFields": {}
      },
      "id": "1e191a87-e8c7-4ae3-82e5-b9f700b7b99f",
      "name": "Respond to User",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        1520,
        220
      ],
      "typeVersion": 1,
      "webhookId": "a60c60ef-bd71-4d50-9439-d4b2988303cc"
    },
    {
      "parameters": {
        "updates": [
          "messages"
        ],
        "options": {}
      },
      "id": "6d54e24a-97dc-481d-a726-1bcd7aeebf6d",
      "name": "WhatsApp Trigger1",
      "type": "n8n-nodes-base.whatsAppTrigger",
      "position": [
        -760,
        200
      ],
      "webhookId": "0b1b3a9b-2f6a-4f5a-8385-6365d96f4802",
      "typeVersion": 1
    },
    {
      "parameters": {
        "model": "gpt-4o-2024-08-06",
        "options": {}
      },
      "id": "2c21db30-2907-4cb9-8da3-b8257f3700aa",
      "name": "OpenAI Chat Model5",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        340,
        360
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "6e616ecd-b21b-4537-a4d0-4b5a610a89fb",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1,
      "position": [
        340,
        680
      ]
    },
    {
      "parameters": {
        "sessionIdType": "customKey",
        "sessionKey": "={{ $('WhatsApp Trigger1').item.json.contacts[0].wa_id }}",
        "tableName": "n8n_personalagent_chat_histories",
        "contextWindowLength": 15
      },
      "id": "58e386cd-9107-4398-937d-a771202c8657",
      "name": "Postgres Chat Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
      "typeVersion": 1.1,
      "position": [
        800,
        760
      ]
    },
    {
      "parameters": {
        "name": "contacts_data",
        "description": "Retrieves information about contacts and associated email addresses, templates and more.",
        "topK": 8
      },
      "id": "5cfc3970-1674-4fd1-99a2-131e0803d5c9",
      "name": "Vector Store Tool",
      "type": "@n8n/n8n-nodes-langchain.toolVectorStore",
      "typeVersion": 1,
      "position": [
        1780,
        500
      ]
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "d4e59c0c-87ba-493d-9400-6b6e67c6b353",
      "name": "Embeddings OpenAI",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "typeVersion": 1.1,
      "position": [
        1720,
        760
      ]
    },
    {
      "parameters": {
        "model": "gpt-4o",
        "options": {}
      },
      "id": "0582e9ce-09ff-4673-ad4f-4eb8a0d1253a",
      "name": "OpenAI Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1,
      "position": [
        660,
        760
      ]
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "323df6bc-d596-42b0-8186-6586904a18e4",
      "name": "OpenAI Chat Model3",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1,
      "position": [
        2040,
        660
      ]
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "1002148c-5271-4300-8862-3938aad18a14",
      "name": "SerpAPI",
      "type": "@n8n/n8n-nodes-langchain.toolSerpApi",
      "typeVersion": 1,
      "position": [
        1560,
        760
      ]
    },
    {
      "parameters": {
        "fieldToSplitOut": "messages",
        "options": {}
      },
      "id": "413215e9-9e51-4ad7-a4b9-cc982833da49",
      "name": "Split out message",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -540,
        200
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "operation": "getAll",
        "calendar": {
          "__rl": true,
          "value": "frjimenez2009@gmail.com",
          "mode": "list",
          "cachedResultName": "frjimenez2009@gmail.com"
        },
        "limit": "={{ $fromAI(\"Limit\") }}",
        "options": {
          "timeMin": "={{ $fromAI(\"After\") }}",
          "timeMax": "={{ $fromAI(\"Before\") }}"
        }
      },
      "id": "07e0d67f-a4c1-4ff0-a18f-5d24b82c6fee",
      "name": "Get Calendar Events",
      "type": "n8n-nodes-base.googleCalendarTool",
      "typeVersion": 1.2,
      "position": [
        940,
        760
      ]
    },
    {
      "parameters": {
        "calendar": {
          "__rl": true,
          "value": "frjimenez2009@gmail.com",
          "mode": "list",
          "cachedResultName": "frjimenez2009@gmail.com"
        },
        "start": "={{ $fromAI('start_date', 'The start time of the event in ISO format', 'string') }}",
        "end": "={{ $fromAI('end_date', 'The end time of the event in ISO format', 'string') }}",
        "additionalFields": {
          "attendees": [
            "={{ $fromAI('attendees', 'Email addresses of attendees (comma-separated)', 'string') }}"
          ],
          "description": "={{ $fromAI('description', 'Details or agenda for the event', 'string') }}",
          "summary": "={{ $fromAI('title', 'Specify the title of the event', 'string') }}"
        }
      },
      "id": "442dd8f8-ad97-4cd8-8adc-487e7d79cb3b",
      "name": "Create Calendar Events",
      "type": "n8n-nodes-base.googleCalendarTool",
      "typeVersion": 1.2,
      "position": [
        1080,
        760
      ]
    },
    {
      "parameters": {
        "operation": "getAll",
        "limit": "={{ $fromAI('limit', 'the number of emails to retrieve, max of 3') }}",
        "simple": false,
        "filters": {
          "readStatus": "unread",
          "receivedAfter": "={{ $fromAI('received_after', 'Retrieve emails received after the current date, given a period specified by user if any. This is calculated dynamically based on the current date.', 'string') }}",
          "receivedBefore": "={{ $fromAI('received_before', 'Retrieve emails received before the current time today. This is calculated dynamically based on the current date.', 'string') }}"
        },
        "options": {}
      },
      "id": "d4f9d723-788c-41ff-8bd8-0f2f70ef571b",
      "name": "Recieve Multiple Emails",
      "type": "n8n-nodes-base.gmailTool",
      "typeVersion": 2.1,
      "position": [
        1240,
        760
      ],
      "webhookId": "ee66615f-8ca6-4b86-bb55-56b1d30bb388"
    },
    {
      "parameters": {
        "sendTo": "={{ $fromAI('email_send_to', 'The email recipient', 'string') }}",
        "subject": "={{ $fromAI('email_subject', 'The subject of the email', 'string') }}",
        "emailType": "text",
        "message": "={{ $fromAI('email_content', 'The content of the email message', 'string') }}",
        "options": {
          "appendAttribution": false
        }
      },
      "id": "2fc645cd-a00e-4dd2-a83b-41308ab55538",
      "name": "Create and Approve Email",
      "type": "n8n-nodes-base.gmailTool",
      "typeVersion": 2.1,
      "position": [
        1400,
        760
      ],
      "webhookId": "83bbb034-9202-415a-a146-0952b3716c6e",
      "notesInFlow": false
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.type == 'audio' && Boolean($json.audio) }}",
                    "rightValue": "audio"
                  }
                ]
              },
              "renameOutput": true,
              "outputKey": "Audio Message"
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "82aa5ff4-c9b6-4187-a27e-c7c5d9bfdda0",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.type == 'video' && Boolean($json.video) }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true,
              "outputKey": "Video Message"
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "05b30af4-967b-4824-abdc-84a8292ac0e5",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.type == 'image' && Boolean($json.image) }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true,
              "outputKey": "Image Message"
            }
          ]
        },
        "options": {
          "fallbackOutput": "extra",
          "renameFallbackOutput": "Text Message"
        }
      },
      "id": "7a6434c4-b1f2-4cd0-83bb-b9448b731539",
      "name": "Identify and ReRoute Message Types",
      "type": "n8n-nodes-base.switch",
      "position": [
        -260,
        200
      ],
      "typeVersion": 3.2
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "Here is an image sent by the user. Describe the image and transcribe any text visible in the image. Put in as much detail as possible.",
        "messages": {
          "messageValues": [
            {
              "type": "HumanMessagePromptTemplate",
              "messageType": "imageBinary"
            }
          ]
        }
      },
      "id": "da658515-5531-476a-b72c-bdfb6f9d5321",
      "name": "Image Explainer",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        320,
        220
      ],
      "typeVersion": 1.4
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.text.body }}",
        "messages": {
          "messageValues": [
            {
              "message": "Summarize the user's message succinctly."
            }
          ]
        }
      },
      "id": "2cdd6e39-051f-4b23-96ca-f47618bae1df",
      "name": "Text Summarizer",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        320,
        540
      ],
      "typeVersion": 1.4
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=The user sent the following message\nmessage type: {{ $json.message_type }}\nmessage text or description:\n```{{ $json.message_text }}```\n{{ $json.message_caption ? `message caption: ${$json.message_caption.trim()}` : '' }}",
        "options": {
          "systemMessage": "=# **Role:**\nYou are a highly efficient and intelligent personal assistant, responsible for managing calendar events, emails, and communication tasks seamlessly.\n\n# **Primary Tasks:**\n\n1. **Retrieve Calendar Events**  \n   - Use the **\"Get Events\"** tool to fetch calendar events based on user instructions.  \n   - Handle queries such as:\n     - \"Retrieve today’s events\"\n     - \"Get tomorrow’s meetings\"\n   - Include details like:\n     - Event name, start and end time, location, video meeting link (if available), and participants’ names/emails.  \n   - Present results in a clear format:\n     ```\n     Event: [Event Name]  \n     Time: [Start Time] - [End Time]  \n     Location: [Location]  \n     Video Link: [Video Link]  \n     Participants:  \n     - [Name 1] ([Email 1])  \n     - [Name 2] ([Email 2])  \n     ```\n\n2. **Create Calendar Events**  \n   - Use the **\"Create Event\"** tool to schedule new events.  \n   - Inputs include:  \n     - Title, start date, end date, attendees, and description.  \n   - Resolve attendee names to email addresses using the **vector store tool** for contact references.  \n   - Example: For \"Add Sarah to the meeting,\" retrieve \"Sarah Thompson\" and her associated email from the vector store.  \n   - Confirm event details with the user before finalizing:\n     ```\n     Title: [Event Title]  \n     Time: [Start Date/Time] to [End Date/Time]  \n     Attendees: [List of Names/Emails]  \n     Description: [Event Description]  \n     ```\n   - If no end time or duration is stated, please assume the event will last 1 hour.\n\n\n3. **Retrieve Emails with Summaries**  \n   - Use the **\"Receive Many Emails\"** tool to fetch emails dynamically based on the user’s request:\n     - Examples: \"Get today’s emails,\" \"Show emails from last week.\"  \n   - Summarize the retrieved emails into a user-friendly list:\n     ```\n     Email 1:  \n     - Subject: [Subject]  \n     - From: [Sender Name/Email]  \n     - Summary: [Brief description of email content]  \n     ```\n   - Allow users to select a specific email for further action.\n\n4. **Send Emails Using Templates**  \n   - Use the **\"Send & Approve Email\"** tool to send or reply to emails based on user instructions.  \n   - Leverage the **vector store tool** for predefined templates.  \n     - Example: If the user says, \"Send a meeting request to John,\" retrieve the **\"Meeting Request\"** template from the vector store.  \n   - Dynamically populate the template using user-provided details (e.g., recipient, date, and time):\n     ```\n     Template: Meeting Request  \n     Greeting: Hi [Recipient’s Name],  \n     Purpose: [Reason for the email, dynamically populated].  \n     Closing: Best regards, [Your Name].  \n     ```\n   - Confirm with the user before sending:\n     ```\n     To: [Recipient’s Email]  \n     Subject: [Subject Line]  \n     Body: [Draft Content]  \n     ```\n   - For replying to specific emails, incorporate context dynamically and confirm the draft with the user.\n\n# **Tool Usage**:\n- Dynamically invoke:\n  - **Vector Store Tool**: Retrieve contact details (e.g., names to email mappings) and predefined templates for emails.  \n  - **Calendar Tools**: Fetch or create calendar events.  \n  - **Gmail Tool**: Fetch, summarize, reply to, or send emails.  \n  - **SERP API Tool**: Perform real-time internet searches and provide summarized results.\n\n# **Ambiguity Handling**:\n1. Resolve vague references (e.g., \"Sarah\") by checking the **vector store tool** for the closest match.  \n   - Example: \"Invite Sarah to the meeting\" → Resolve to \"Sarah Thompson\" (frjimenez2009@gmail.com).  \n2. If conflicting options exist, ask the user for clarification.  \n\n# **Examples**:\n\n## **Event Retrieval Example**\n**User Request**: \"Retrieve today’s events.\"  \n**Response**:\n```\n1. Event: Weekly Team Sync  \n   Time: 10:00 AM - 11:00 AM  \n   Location: FG Labs HQ  \n   Video Link: [Meet Link]  \n   Participants:  \n   - Fran Jimenez (frjimenez2009@gmail.com)  \n   - Frank Nillard (contact@fglabs.co)  \n\n2. Event: Client Presentation  \n   Time: 3:00 PM - 4:00 PM  \n   Location: Zoom  \n   Participants:  \n   - Sarah Thompson (frank@fglabs.co)  \n   - David Lee (frjimenez2009@hotmail.com)  \n```\n\n## **Email Summary Example**\n**User Request**: \"Get emails received today.\"  \n**Response**:\n```\n1. Email 1:  \n   - Subject: Collaboration Opportunity  \n   - From: Sarah Thompson (frank@fglabs.co)  \n   - Summary: \"Proposal to collaborate on a video project for next week.\"  \n\n2. Email 2:  \n   - Subject: Meeting Confirmation  \n   - From: Emily White (fglabs2024@gmail.com)  \n   - Summary: \"Confirmation of tomorrow’s meeting at 10:00 AM. Requested agenda input.\"  \n```\n\n---\n\n### Final Notes:\n- **Image Understanding**: You will be given descriptions of images so acknowledge that you understand them and ask the user what do they want to do next with this information.\n- Make sure that the emails you send have the name Frank at the end. Do not leave any square brackets.\n- **Today's Date**:  \n  {{ new Date().toISOString() }}\n"
        }
      },
      "id": "f61d8b82-8e73-4891-bb7a-ac593c4e00a5",
      "name": "Assistent Ana",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        960,
        220
      ],
      "typeVersion": 1.6
    },
    {
      "parameters": {
        "resource": "audio",
        "operation": "transcribe",
        "options": {}
      },
      "id": "9dead9dc-2378-470d-b355-ecab3ac2456b",
      "name": "Audio Transcriber",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        460,
        0
      ],
      "typeVersion": 1.5
    },
    {
      "parameters": {
        "tableName": {
          "__rl": true,
          "value": "documents",
          "mode": "list",
          "cachedResultName": "documents"
        },
        "options": {
          "queryName": "match_documents"
        }
      },
      "id": "846c5e57-8c06-4cbe-89b0-59507b54be2a",
      "name": "n8n_demo",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "typeVersion": 1,
      "position": [
        1720,
        620
      ]
    }
  ],
  "pinData": {},
  "connections": {
    "Get Image URL": {
      "main": [
        [
          {
            "node": "Download Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Audio": {
      "main": [
        [
          {
            "node": "Audio Transcriber",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Image": {
      "main": [
        [
          {
            "node": "Image Explainer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get User's Message": {
      "main": [
        [
          {
            "node": "Assistent Ana",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Text": {
      "main": [
        [
          {
            "node": "Text Summarizer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "WhatsApp Trigger1": {
      "main": [
        [
          {
            "node": "Split out message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model5": {
      "ai_languageModel": [
        [
          {
            "node": "Image Explainer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Text Summarizer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Postgres Chat Memory": {
      "ai_memory": [
        [
          {
            "node": "Assistent Ana",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Vector Store Tool": {
      "ai_tool": [
        [
          {
            "node": "Assistent Ana",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI": {
      "ai_embedding": [
        [
          {
            "node": "n8n_demo",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model2": {
      "ai_languageModel": [
        [
          {
            "node": "Assistent Ana",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model3": {
      "ai_languageModel": [
        [
          {
            "node": "Vector Store Tool",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get Audio URL": {
      "main": [
        [
          {
            "node": "Download Audio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SerpAPI": {
      "ai_tool": [
        [
          {
            "node": "Assistent Ana",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Split out message": {
      "main": [
        [
          {
            "node": "Identify and ReRoute Message Types",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Calendar Events": {
      "ai_tool": [
        [
          {
            "node": "Assistent Ana",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Create Calendar Events": {
      "ai_tool": [
        [
          {
            "node": "Assistent Ana",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Recieve Multiple Emails": {
      "ai_tool": [
        [
          {
            "node": "Assistent Ana",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Create and Approve Email": {
      "ai_tool": [
        [
          {
            "node": "Assistent Ana",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Identify and ReRoute Message Types": {
      "main": [
        [
          {
            "node": "Get Audio URL",
            "type": "main",
            "index": 0
          }
        ],
        [],
        [
          {
            "node": "Get Image URL",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get Text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Image Explainer": {
      "main": [
        [
          {
            "node": "Get User's Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Text Summarizer": {
      "main": [
        [
          {
            "node": "Get User's Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Assistent Ana": {
      "main": [
        [
          {
            "node": "Respond to User",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Audio Transcriber": {
      "main": [
        [
          {
            "node": "Get User's Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "n8n_demo": {
      "ai_vectorStore": [
        [
          {
            "node": "Vector Store Tool",
            "type": "ai_vectorStore",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "93680812-22c3-464e-992f-215e8a012d6b",
  "meta": {
    "instanceId": "621717f1f4024536c8f8d35bd4ac7bd5a9c457312ff74936677f214670b11e6f"
  },
  "id": "TZA07LAhELnqQRK2",
  "tags": []
}