{
    "description": "OpenAI Assistant that has instructions and can leverage models, tools, and knowledge to respond to user queries",
    "categories": "Custom Tool, SerpAPI,OpenAI Assistant,Calculator Tool,Langchain",
    "framework": "Langchain",
    "badge": "NEW",
    "nodes": [
        {
            "width": 300,
            "height": 327,
            "id": "openAIAssistant_0",
            "position": {
                "x": 895.3722263184736,
                "y": 118.50795801755544
            },
            "type": "customNode",
            "data": {
                "id": "openAIAssistant_0",
                "label": "OpenAI Assistant",
                "version": 3,
                "name": "openAIAssistant",
                "type": "OpenAIAssistant",
                "baseClasses": ["OpenAIAssistant"],
                "category": "Agents",
                "description": "An agent that uses OpenAI Assistant API to pick the tool and args to call",
                "inputParams": [
                    {
                        "label": "Select Assistant",
                        "name": "selectedAssistant",
                        "type": "asyncOptions",
                        "loadMethod": "listAssistants",
                        "id": "openAIAssistant_0-input-selectedAssistant-asyncOptions"
                    },
                    {
                        "label": "Disable File Download",
                        "name": "disableFileDownload",
                        "type": "boolean",
                        "description": "Messages can contain text, images, or files. In some cases, you may want to prevent others from downloading the files. Learn more from OpenAI File Annotation <a target=\"_blank\" href=\"https://platform.openai.com/docs/assistants/how-it-works/managing-threads-and-messages\">docs</a>",
                        "optional": true,
                        "additionalParams": true,
                        "id": "openAIAssistant_0-input-disableFileDownload-boolean"
                    }
                ],
                "inputAnchors": [
                    {
                        "label": "Allowed Tools",
                        "name": "tools",
                        "type": "Tool",
                        "list": true,
                        "id": "openAIAssistant_0-input-tools-Tool"
                    },
                    {
                        "label": "Input Moderation",
                        "description": "Detect text that could generate harmful output and prevent it from being sent to the language model",
                        "name": "inputModeration",
                        "type": "Moderation",
                        "optional": true,
                        "list": true,
                        "id": "openAIAssistant_0-input-inputModeration-Moderation"
                    }
                ],
                "inputs": {
                    "selectedAssistant": "",
                    "tools": ["{{calculator_0.data.instance}}", "{{serper_0.data.instance}}", "{{customTool_0.data.instance}}"]
                },
                "outputAnchors": [
                    {
                        "id": "openAIAssistant_0-output-openAIAssistant-OpenAIAssistant",
                        "name": "openAIAssistant",
                        "label": "OpenAIAssistant",
                        "type": "OpenAIAssistant"
                    }
                ],
                "outputs": {},
                "selected": false
            },
            "selected": false,
            "dragging": false,
            "positionAbsolute": {
                "x": 895.3722263184736,
                "y": 118.50795801755544
            }
        },
        {
            "width": 300,
            "height": 143,
            "id": "calculator_0",
            "position": {
                "x": 454.74423492660145,
                "y": -56.08375600705064
            },
            "type": "customNode",
            "data": {
                "id": "calculator_0",
                "label": "Calculator",
                "version": 1,
                "name": "calculator",
                "type": "Calculator",
                "baseClasses": ["Calculator", "Tool", "StructuredTool", "Runnable"],
                "category": "Tools",
                "description": "Perform calculations on response",
                "inputParams": [],
                "inputAnchors": [],
                "inputs": {},
                "outputAnchors": [
                    {
                        "id": "calculator_0-output-calculator-Calculator|Tool|StructuredTool|Runnable",
                        "name": "calculator",
                        "label": "Calculator",
                        "type": "Calculator | Tool | StructuredTool | Runnable"
                    }
                ],
                "outputs": {},
                "selected": false
            },
            "selected": false,
            "positionAbsolute": {
                "x": 454.74423492660145,
                "y": -56.08375600705064
            },
            "dragging": false
        },
        {
            "width": 300,
            "height": 277,
            "id": "customTool_0",
            "position": {
                "x": 454.43871855431365,
                "y": 401.2171774551178
            },
            "type": "customNode",
            "data": {
                "id": "customTool_0",
                "label": "Custom Tool",
                "version": 1,
                "name": "customTool",
                "type": "CustomTool",
                "baseClasses": ["CustomTool", "Tool", "StructuredTool", "Runnable"],
                "category": "Tools",
                "description": "Use custom tool you've created in Flowise within chatflow",
                "inputParams": [
                    {
                        "label": "Select Tool",
                        "name": "selectedTool",
                        "type": "asyncOptions",
                        "loadMethod": "listTools",
                        "id": "customTool_0-input-selectedTool-asyncOptions"
                    }
                ],
                "inputAnchors": [],
                "inputs": {
                    "selectedTool": ""
                },
                "outputAnchors": [
                    {
                        "id": "customTool_0-output-customTool-CustomTool|Tool|StructuredTool|Runnable",
                        "name": "customTool",
                        "label": "CustomTool",
                        "type": "CustomTool | Tool | StructuredTool | Runnable"
                    }
                ],
                "outputs": {},
                "selected": false
            },
            "selected": false,
            "positionAbsolute": {
                "x": 454.43871855431365,
                "y": 401.2171774551178
            },
            "dragging": false
        },
        {
            "width": 300,
            "height": 277,
            "id": "serper_0",
            "position": {
                "x": 452.2514874331948,
                "y": 99.6087116015905
            },
            "type": "customNode",
            "data": {
                "id": "serper_0",
                "label": "Serper",
                "version": 1,
                "name": "serper",
                "type": "Serper",
                "baseClasses": ["Serper", "Tool", "StructuredTool", "Runnable"],
                "category": "Tools",
                "description": "Wrapper around Serper.dev - Google Search API",
                "inputParams": [
                    {
                        "label": "Connect Credential",
                        "name": "credential",
                        "type": "credential",
                        "credentialNames": ["serperApi"],
                        "id": "serper_0-input-credential-credential"
                    }
                ],
                "inputAnchors": [],
                "inputs": {},
                "outputAnchors": [
                    {
                        "id": "serper_0-output-serper-Serper|Tool|StructuredTool|Runnable",
                        "name": "serper",
                        "label": "Serper",
                        "type": "Serper | Tool | StructuredTool | Runnable"
                    }
                ],
                "outputs": {},
                "selected": false
            },
            "selected": false,
            "positionAbsolute": {
                "x": 452.2514874331948,
                "y": 99.6087116015905
            },
            "dragging": false
        }
    ],
    "edges": [
        {
            "source": "calculator_0",
            "sourceHandle": "calculator_0-output-calculator-Calculator|Tool|StructuredTool|Runnable",
            "target": "openAIAssistant_0",
            "targetHandle": "openAIAssistant_0-input-tools-Tool",
            "type": "buttonedge",
            "id": "calculator_0-calculator_0-output-calculator-Calculator|Tool|StructuredTool|Runnable-openAIAssistant_0-openAIAssistant_0-input-tools-Tool",
            "data": {
                "label": ""
            }
        },
        {
            "source": "serper_0",
            "sourceHandle": "serper_0-output-serper-Serper|Tool|StructuredTool|Runnable",
            "target": "openAIAssistant_0",
            "targetHandle": "openAIAssistant_0-input-tools-Tool",
            "type": "buttonedge",
            "id": "serper_0-serper_0-output-serper-Serper|Tool|StructuredTool|Runnable-openAIAssistant_0-openAIAssistant_0-input-tools-Tool",
            "data": {
                "label": ""
            }
        },
        {
            "source": "customTool_0",
            "sourceHandle": "customTool_0-output-customTool-CustomTool|Tool|StructuredTool|Runnable",
            "target": "openAIAssistant_0",
            "targetHandle": "openAIAssistant_0-input-tools-Tool",
            "type": "buttonedge",
            "id": "customTool_0-customTool_0-output-customTool-CustomTool|Tool|StructuredTool|Runnable-openAIAssistant_0-openAIAssistant_0-input-tools-Tool",
            "data": {
                "label": ""
            }
        }
    ]
}
