+
{t('dynamicParameters')}
+
{t('jsonFormatTip')}
+
+ {`{
+ "to_email": "recipient@example.com",
+ "cc_email": "cc@example.com",
+ "subject": "Email Subject",
+ "content": "Email Content"
+}`}
+
+
+
+ );
+};
+
+export default EmailForm;
diff --git a/web/src/pages/agent/form/exesql-form/index.tsx b/web/src/pages/agent/form/exesql-form/index.tsx
new file mode 100644
index 000000000..f88f593d0
--- /dev/null
+++ b/web/src/pages/agent/form/exesql-form/index.tsx
@@ -0,0 +1,88 @@
+import LLMSelect from '@/components/llm-select';
+import TopNItem from '@/components/top-n-item';
+import { useTranslate } from '@/hooks/common-hooks';
+import { useTestDbConnect } from '@/hooks/flow-hooks';
+import { Button, Flex, Form, Input, InputNumber, Select } from 'antd';
+import { useCallback } from 'react';
+import { ExeSQLOptions } from '../../constant';
+import { IOperatorForm } from '../../interface';
+import DynamicInputVariable from '../components/dynamic-input-variable';
+
+const ExeSQLForm = ({ onValuesChange, form, node }: IOperatorForm) => {
+ const { t } = useTranslate('flow');
+ const { testDbConnect, loading } = useTestDbConnect();
+
+ const handleTest = useCallback(async () => {
+ const ret = await form?.validateFields();
+ testDbConnect(ret);
+ }, [form, testDbConnect]);
+
+ return (
+