{
    "name": "Send messages to Anthropic Claude and update records in Airtable using a custom webhook",
    "flow": [
        {
            "id": 1,
            "module": "gateway:CustomWebHook",
            "version": 1,
            "parameters": {
                "maxResults": 1
            },
            "mapper": {},
            "metadata": {
                "designer": {
                    "x": 0,
                    "y": 0
                },
                "restore": {
                    "parameters": {
                        "hook": {
                            "data": {
                                "editable": "true"
                            },
                            "label": "pickaxe"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "hook",
                        "type": "hook:gateway-webhook",
                        "label": "Webhook",
                        "required": true
                    },
                    {
                        "name": "maxResults",
                        "type": "number",
                        "label": "Maximum number of results"
                    }
                ]
            }
        },
        {
            "id": 2,
            "module": "airtable:ActionGetRecord",
            "version": 3,
            "parameters": {},
            "mapper": {
                "id": "id",
                "base": "appjf5h0cOa835f0v",
                "table": "tblOl4Ra8wts6p15x",
                "useColumnId": false
            },
            "metadata": {
                "designer": {
                    "x": 300,
                    "y": 0
                },
                "restore": {
                    "expect": {
                        "base": {
                            "mode": "chose",
                            "label": "Notion"
                        },
                        "table": {
                            "mode": "chose",
                            "label": "Notion"
                        },
                        "useColumnId": {
                            "mode": "chose"
                        }
                    },
                    "parameters": {
                        "__IMTCONN__": {
                            "data": {
                                "scoped": "true",
                                "connection": "airtable2"
                            },
                            "label": "My Airtable OAuth connection"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "__IMTCONN__",
                        "type": "account:airtable3,airtable2",
                        "label": "Connection",
                        "required": true
                    }
                ],
                "expect": [
                    {
                        "name": "base",
                        "type": "select",
                        "label": "Base",
                        "required": true
                    },
                    {
                        "name": "useColumnId",
                        "type": "boolean",
                        "label": "Use Column ID",
                        "required": true
                    },
                    {
                        "name": "table",
                        "type": "select",
                        "label": "Table",
                        "required": true
                    },
                    {
                        "name": "id",
                        "type": "text",
                        "label": "Record ID",
                        "required": true
                    }
                ],
                "interface": [
                    {
                        "name": "id",
                        "type": "text",
                        "label": "ID"
                    },
                    {
                        "name": "createdTime",
                        "type": "date",
                        "label": "Created Time"
                    },
                    {
                        "name": "Name",
                        "type": "text",
                        "label": "Name"
                    },
                    {
                        "name": "Email",
                        "type": "text",
                        "label": "Email"
                    },
                    {
                        "name": "Created",
                        "type": "date",
                        "label": "Created"
                    }
                ]
            }
        },
        {
            "id": 3,
            "module": "anthropic-claude:createAMessage",
            "version": 1,
            "parameters": {},
            "mapper": {
                "model": "claude-3-7-sonnet-20250219",
                "messages": [
                    {
                        "role": "user",
                        "content": [
                            {
                                "text": "{prompt}",
                                "type": "text"
                            }
                        ]
                    }
                ],
                "metadata": {},
                "max_tokens": "1000",
                "temperature": "1"
            },
            "metadata": {
                "designer": {
                    "x": 600,
                    "y": 0
                },
                "restore": {
                    "expect": {
                        "model": {
                            "mode": "chose",
                            "label": "Claude 3.7 Sonnet"
                        },
                        "messages": {
                            "mode": "chose",
                            "items": [
                                {
                                    "role": {
                                        "mode": "chose",
                                        "label": "User"
                                    },
                                    "content": {
                                        "mode": "chose",
                                        "items": [
                                            {
                                                "type": {
                                                    "mode": "chose",
                                                    "label": "Text"
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "stop_sequences": {
                            "mode": "chose"
                        },
                        "additionalParameters": {
                            "mode": "chose"
                        }
                    },
                    "parameters": {
                        "__IMTCONN__": {
                            "data": {
                                "scoped": "true",
                                "connection": "anthropic-claude"
                            },
                            "label": "My Anthropic Claude connection"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "__IMTCONN__",
                        "type": "account:anthropic-claude",
                        "label": "Connection",
                        "required": true
                    }
                ],
                "expect": [
                    {
                        "name": "model",
                        "type": "select",
                        "label": "Model",
                        "required": true
                    },
                    {
                        "name": "max_tokens",
                        "type": "uinteger",
                        "label": "Max Tokens",
                        "required": true
                    },
                    {
                        "name": "messages",
                        "spec": {
                            "name": "value",
                            "spec": [
                                {
                                    "name": "role",
                                    "type": "select",
                                    "label": "Role",
                                    "options": [
                                        {
                                            "label": "User",
                                            "value": "user",
                                            "nested": [
                                                {
                                                    "name": "content",
                                                    "spec": {
                                                        "spec": [
                                                            {
                                                                "help": "For models that support image content blocks (vision), see the [Anthropic model comparison table](https://docs.anthropic.com/en/docs/about-claude/models#model-comparison-table).",
                                                                "name": "type",
                                                                "type": "select",
                                                                "label": "Type",
                                                                "options": [
                                                                    {
                                                                        "label": "Text",
                                                                        "value": "text",
                                                                        "nested": [
                                                                            {
                                                                                "help": "Content of the message on behalf of the selected **Role** .",
                                                                                "name": "text",
                                                                                "type": "text",
                                                                                "label": "Text",
                                                                                "required": true
                                                                            }
                                                                        ]
                                                                    },
                                                                    {
                                                                        "label": "Image",
                                                                        "value": "image",
                                                                        "nested": [
                                                                            {
                                                                                "name": "source",
                                                                                "spec": [
                                                                                    {
                                                                                        "help": "File name, including the extension, for example, `image.jpg`.",
                                                                                        "name": "filename",
                                                                                        "type": "filename",
                                                                                        "label": "Filename",
                                                                                        "required": true,
                                                                                        "semantic": "file:name",
                                                                                        "extension": [
                                                                                            "jpeg",
                                                                                            "jpg",
                                                                                            "png",
                                                                                            "gif",
                                                                                            "webp"
                                                                                        ]
                                                                                    },
                                                                                    {
                                                                                        "help": "Binary data of the image. For example, you can retrieve the binary data of your image using the **HTTP: Get a file** module.",
                                                                                        "name": "data",
                                                                                        "type": "buffer",
                                                                                        "label": "Data",
                                                                                        "required": true,
                                                                                        "semantic": "file:data"
                                                                                    }
                                                                                ],
                                                                                "type": "collection",
                                                                                "label": "Source",
                                                                                "required": true
                                                                            }
                                                                        ]
                                                                    },
                                                                    {
                                                                        "label": "PDF document",
                                                                        "value": "document",
                                                                        "nested": [
                                                                            "rpc://anthropic-claude/1/notePdfDocument",
                                                                            {
                                                                                "name": "pdfFileName",
                                                                                "type": "filename",
                                                                                "label": "Filename",
                                                                                "required": true,
                                                                                "semantic": "file:name",
                                                                                "extension": [
                                                                                    "pdf"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "name": "pdfFileData",
                                                                                "type": "buffer",
                                                                                "label": "Data",
                                                                                "required": true,
                                                                                "semantic": "file:data"
                                                                            }
                                                                        ]
                                                                    },
                                                                    {
                                                                        "label": "Tool result",
                                                                        "value": "tool_result",
                                                                        "nested": [
                                                                            {
                                                                                "name": "tool_use_id",
                                                                                "type": "text",
                                                                                "label": "Tool Use ID",
                                                                                "required": true
                                                                            },
                                                                            {
                                                                                "name": "content",
                                                                                "type": "text",
                                                                                "label": "Content",
                                                                                "required": true
                                                                            }
                                                                        ]
                                                                    }
                                                                ],
                                                                "required": true
                                                            }
                                                        ],
                                                        "type": "collection",
                                                        "label": "Content"
                                                    },
                                                    "type": "array",
                                                    "label": "Content",
                                                    "labels": {
                                                        "add": "Add content"
                                                    },
                                                    "required": true
                                                }
                                            ]
                                        },
                                        {
                                            "label": "Assistant",
                                            "value": "assistant",
                                            "nested": [
                                                {
                                                    "help": "If the request ends with an assistant turn, then the response content will continue directly from that last turn.",
                                                    "name": "content",
                                                    "type": "text",
                                                    "label": "Content",
                                                    "required": true
                                                }
                                            ]
                                        },
                                        {
                                            "label": "Tool Assistant",
                                            "value": "tool_assistant",
                                            "nested": [
                                                {
                                                    "name": "content",
                                                    "spec": {
                                                        "spec": [
                                                            {
                                                                "help": "You can send image content blocks starting with Claude 3 models.",
                                                                "name": "type",
                                                                "type": "select",
                                                                "label": "Type",
                                                                "options": [
                                                                    {
                                                                        "label": "Text",
                                                                        "value": "text",
                                                                        "nested": [
                                                                            {
                                                                                "help": "Content of the message on behalf of the selected **Role** .",
                                                                                "name": "text",
                                                                                "type": "text",
                                                                                "label": "Text",
                                                                                "required": true
                                                                            }
                                                                        ]
                                                                    },
                                                                    {
                                                                        "label": "Tool Use",
                                                                        "value": "tool_use",
                                                                        "nested": [
                                                                            {
                                                                                "name": "id",
                                                                                "type": "text",
                                                                                "label": "Tool Use ID",
                                                                                "required": true
                                                                            },
                                                                            {
                                                                                "name": "name",
                                                                                "type": "text",
                                                                                "label": "Tool Name",
                                                                                "required": true
                                                                            },
                                                                            {
                                                                                "name": "input",
                                                                                "type": "any",
                                                                                "label": "Input",
                                                                                "required": true
                                                                            }
                                                                        ]
                                                                    }
                                                                ],
                                                                "required": true
                                                            }
                                                        ],
                                                        "type": "collection",
                                                        "label": "Content"
                                                    },
                                                    "type": "array",
                                                    "label": "Content",
                                                    "labels": {
                                                        "add": "Add content"
                                                    },
                                                    "required": true
                                                }
                                            ]
                                        }
                                    ],
                                    "required": true
                                }
                            ],
                            "type": "collection",
                            "label": "Message"
                        },
                        "type": "array",
                        "label": "Messages",
                        "required": true
                    },
                    {
                        "name": "system",
                        "type": "text",
                        "label": "System Prompt"
                    },
                    {
                        "name": "metadata",
                        "spec": [
                            {
                                "name": "user_id",
                                "type": "text",
                                "label": "User ID"
                            }
                        ],
                        "type": "collection",
                        "label": "Metadata"
                    },
                    {
                        "name": "stop_sequences",
                        "spec": {
                            "name": "value",
                            "type": "text",
                            "label": "Stop Sequence"
                        },
                        "type": "array",
                        "label": "Stop Sequences"
                    },
                    {
                        "name": "temperature",
                        "type": "number",
                        "label": "Temperature",
                        "validate": {
                            "max": 1,
                            "min": 0
                        }
                    },
                    {
                        "name": "top_p",
                        "type": "number",
                        "label": "Top P",
                        "validate": {
                            "max": 1
                        }
                    },
                    {
                        "name": "top_k",
                        "type": "uinteger",
                        "label": "Top K"
                    },
                    {
                        "name": "additionalParameters",
                        "spec": {
                            "name": "value",
                            "spec": [
                                {
                                    "name": "key",
                                    "type": "text",
                                    "label": "Parameter Name",
                                    "required": true
                                },
                                {
                                    "name": "type",
                                    "type": "select",
                                    "label": "Input Type",
                                    "options": [
                                        {
                                            "label": "Text",
                                            "value": "text",
                                            "nested": [
                                                {
                                                    "name": "value",
                                                    "type": "text",
                                                    "label": "Parameter Value"
                                                }
                                            ],
                                            "default": true
                                        },
                                        {
                                            "label": "Number",
                                            "value": "number",
                                            "nested": [
                                                {
                                                    "name": "value",
                                                    "type": "number",
                                                    "label": "Parameter Value"
                                                }
                                            ]
                                        },
                                        {
                                            "label": "Boolean",
                                            "value": "boolean",
                                            "nested": [
                                                {
                                                    "name": "value",
                                                    "type": "boolean",
                                                    "label": "Parameter Value"
                                                }
                                            ]
                                        },
                                        {
                                            "label": "Date",
                                            "value": "date",
                                            "nested": [
                                                {
                                                    "name": "value",
                                                    "type": "date",
                                                    "label": "Parameter Value"
                                                }
                                            ]
                                        },
                                        {
                                            "label": "Tools",
                                            "value": "tools",
                                            "nested": [
                                                {
                                                    "name": "value",
                                                    "spec": {
                                                        "type": "text",
                                                        "label": "Parameter Value"
                                                    },
                                                    "type": "array",
                                                    "label": "Parameter Values",
                                                    "labels": {
                                                        "add": "Add parameter value"
                                                    }
                                                }
                                            ]
                                        },
                                        {
                                            "label": "Any",
                                            "value": "any",
                                            "nested": [
                                                {
                                                    "name": "value",
                                                    "type": "any",
                                                    "label": "Parameter Value"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ],
                            "type": "collection",
                            "label": "Input Parameter"
                        },
                        "type": "array",
                        "label": "Other Input Parameters"
                    }
                ]
            }
        },
        {
            "id": 4,
            "module": "airtable:ActionUpdateRecords",
            "version": 3,
            "parameters": {},
            "mapper": {
                "id": "{{2.id}}",
                "base": "appjf5h0cOa835f0v",
                "table": "tblOl4Ra8wts6p15x",
                "record": {},
                "typecast": false,
                "useColumnId": false
            },
            "metadata": {
                "designer": {
                    "x": 900,
                    "y": 0
                },
                "restore": {
                    "expect": {
                        "base": {
                            "label": "Notion"
                        },
                        "table": {
                            "label": "Notion"
                        },
                        "typecast": {
                            "mode": "chose"
                        },
                        "useColumnId": {
                            "mode": "chose"
                        }
                    },
                    "parameters": {
                        "__IMTCONN__": {
                            "data": {
                                "scoped": "true",
                                "connection": "airtable2"
                            },
                            "label": "My Airtable OAuth connection"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "__IMTCONN__",
                        "type": "account:airtable3,airtable2",
                        "label": "Connection",
                        "required": true
                    }
                ],
                "expect": [
                    {
                        "name": "base",
                        "type": "select",
                        "label": "Base",
                        "required": true
                    },
                    {
                        "name": "typecast",
                        "type": "boolean",
                        "label": "Smart links",
                        "required": true
                    },
                    {
                        "name": "useColumnId",
                        "type": "boolean",
                        "label": "Use Column ID",
                        "required": true
                    },
                    {
                        "name": "table",
                        "type": "select",
                        "label": "Table",
                        "required": true
                    },
                    {
                        "name": "id",
                        "type": "text",
                        "label": "Record ID",
                        "required": true
                    },
                    {
                        "name": "record",
                        "spec": [
                            {
                                "name": "fldzT62FCuwGVqEDx",
                                "type": "text",
                                "label": "Name"
                            },
                            {
                                "name": "fldVutKGSnQVr1S2u",
                                "type": "text",
                                "label": "Email"
                            }
                        ],
                        "type": "collection",
                        "label": "Record"
                    }
                ],
                "interface": [
                    {
                        "name": "id",
                        "type": "text",
                        "label": "ID"
                    },
                    {
                        "name": "createdTime",
                        "type": "date",
                        "label": "Created Time"
                    },
                    {
                        "name": "Name",
                        "type": "text",
                        "label": "Name"
                    },
                    {
                        "name": "Email",
                        "type": "text",
                        "label": "Email"
                    },
                    {
                        "name": "Created",
                        "type": "date",
                        "label": "Created"
                    }
                ]
            }
        }
    ],
    "metadata": {
        "instant": true,
        "version": 1,
        "scenario": {
            "roundtrips": 1,
            "maxErrors": 3,
            "autoCommit": true,
            "autoCommitTriggerLast": true,
            "sequential": false,
            "slots": null,
            "confidential": false,
            "dataloss": false,
            "dlq": false,
            "freshVariables": false
        },
        "designer": {
            "orphans": []
        },
        "zone": "eu2.make.com",
        "notes": []
    }
}