@minded-ai/mindedjs 1.0.89 → 1.0.91-beta-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +4 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +32 -6
- package/dist/agent.js.map +1 -1
- package/dist/events/AgentEvents.d.ts +5 -0
- package/dist/events/AgentEvents.d.ts.map +1 -1
- package/dist/events/AgentEvents.js +1 -0
- package/dist/events/AgentEvents.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/nodes/addAppToolNode.d.ts.map +1 -1
- package/dist/nodes/addAppToolNode.js +2 -2
- package/dist/nodes/addAppToolNode.js.map +1 -1
- package/dist/nodes/addJumpToNode.d.ts.map +1 -1
- package/dist/nodes/addJumpToNode.js +2 -2
- package/dist/nodes/addJumpToNode.js.map +1 -1
- package/dist/nodes/addJunctionNode.d.ts +7 -0
- package/dist/nodes/addJunctionNode.d.ts.map +1 -0
- package/dist/nodes/addJunctionNode.js +20 -0
- package/dist/nodes/addJunctionNode.js.map +1 -0
- package/dist/nodes/addPromptNode.d.ts.map +1 -1
- package/dist/nodes/addPromptNode.js +2 -2
- package/dist/nodes/addPromptNode.js.map +1 -1
- package/dist/nodes/addToolNode.d.ts.map +1 -1
- package/dist/nodes/addToolNode.js +2 -2
- package/dist/nodes/addToolNode.js.map +1 -1
- package/dist/nodes/addToolRunNode.d.ts.map +1 -1
- package/dist/nodes/addToolRunNode.js +2 -3
- package/dist/nodes/addToolRunNode.js.map +1 -1
- package/dist/nodes/addTriggerNode.d.ts.map +1 -1
- package/dist/nodes/addTriggerNode.js +1 -2
- package/dist/nodes/addTriggerNode.js.map +1 -1
- package/dist/nodes/nodeFactory.d.ts.map +1 -1
- package/dist/nodes/nodeFactory.js +2 -5
- package/dist/nodes/nodeFactory.js.map +1 -1
- package/dist/platform/mindedConnectionTypes.d.ts +5 -0
- package/dist/platform/mindedConnectionTypes.d.ts.map +1 -1
- package/dist/platform/mindedConnectionTypes.js +1 -0
- package/dist/platform/mindedConnectionTypes.js.map +1 -1
- package/dist/types/Agent.types.d.ts +11 -6
- package/dist/types/Agent.types.d.ts.map +1 -1
- package/dist/types/Agent.types.js +1 -0
- package/dist/types/Agent.types.js.map +1 -1
- package/docs/.gitbook/assets/ADLC.png +0 -0
- package/docs/.gitbook/assets/PII-masking.png +0 -0
- package/docs/.gitbook/assets/image.png +0 -0
- package/docs/README.md +54 -0
- package/docs/SUMMARY.md +39 -0
- package/docs/examples/order-refund-flow.md +566 -0
- package/docs/getting-started/environment-configuration.md +98 -0
- package/docs/getting-started/installation.md +44 -0
- package/docs/getting-started/project-configuration.md +206 -0
- package/docs/getting-started/quick-start.md +262 -0
- package/docs/integrations/zendesk.md +554 -0
- package/docs/low-code-editor/edges.md +392 -0
- package/docs/low-code-editor/flows.md +74 -0
- package/docs/low-code-editor/nodes.md +331 -0
- package/docs/low-code-editor/playbooks.md +262 -0
- package/docs/low-code-editor/tools.md +303 -0
- package/docs/low-code-editor/triggers.md +156 -0
- package/docs/platform/events.md +374 -0
- package/docs/platform/logging.md +72 -0
- package/docs/platform/memory.md +219 -0
- package/docs/platform/pii-masking.md +220 -0
- package/docs/platform/secrets.md +99 -0
- package/docs/resources/your-first-eval.md +108 -0
- package/docs-structure.md +141 -0
- package/package.json +5 -3
- package/src/agent.ts +36 -8
- package/src/events/AgentEvents.ts +5 -0
- package/src/index.ts +0 -1
- package/src/nodes/addAppToolNode.ts +3 -3
- package/src/nodes/addJumpToNode.ts +3 -3
- package/src/nodes/addJunctionNode.ts +19 -0
- package/src/nodes/addPromptNode.ts +3 -3
- package/src/nodes/addToolNode.ts +2 -3
- package/src/nodes/addToolRunNode.ts +3 -4
- package/src/nodes/addTriggerNode.ts +3 -3
- package/src/nodes/nodeFactory.ts +1 -5
- package/src/platform/mindedConnectionTypes.ts +6 -0
- package/src/types/Agent.types.ts +11 -5
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# Project Configuration
|
|
2
|
+
|
|
3
|
+
Configure your MindedJS agent using the `minded.json` file to define how your agent operates, which flows to use, and deployment settings.
|
|
4
|
+
|
|
5
|
+
## minded.json Overview
|
|
6
|
+
|
|
7
|
+
The `minded.json` file is the central configuration file for your MindedJS agent. It defines:
|
|
8
|
+
|
|
9
|
+
* **Flows**: Paths to your flow definition files
|
|
10
|
+
* **Tools**: Paths to your tool implementations (optional)
|
|
11
|
+
* **LLM Configuration**: Which language model to use and its settings
|
|
12
|
+
* **Agent Path**: Where your agent is exported (for deployment only)
|
|
13
|
+
|
|
14
|
+
This file should be placed in your project root directory.
|
|
15
|
+
|
|
16
|
+
## Configuration Structure
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"flows": ["./flows"],
|
|
21
|
+
"tools": ["./tools"],
|
|
22
|
+
"agent": "./agent.ts",
|
|
23
|
+
"llm": {
|
|
24
|
+
"name": "ChatOpenAI",
|
|
25
|
+
"properties": {
|
|
26
|
+
"model": "gpt-4o",
|
|
27
|
+
"temperature": 0.7
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Configuration Fields
|
|
34
|
+
|
|
35
|
+
### flows (required)
|
|
36
|
+
|
|
37
|
+
An array of paths to directories containing your flow YAML files.
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"flows": ["./flows", "./custom-flows"]
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
The agent will load all `.yaml` and `.yml` files from these directories.
|
|
46
|
+
|
|
47
|
+
### tools (optional)
|
|
48
|
+
|
|
49
|
+
An array of paths to directories containing your tool implementations.
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"tools": ["./tools"]
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
If not specified, tools should be passed directly to the Agent constructor.
|
|
58
|
+
|
|
59
|
+
### agent (deployment only)
|
|
60
|
+
|
|
61
|
+
The path to your main agent file where the agent is exported as default. This field is used by the Minded platform during deployment and is not required for local development.
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"agent": "./agent.ts"
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
{% hint style="info" %}
|
|
70
|
+
The `agent` field is only used during deployment to the Minded platform. It tells the platform where to find your agent's default export. This field is not used by the Agent class at runtime.
|
|
71
|
+
{% endhint %}
|
|
72
|
+
|
|
73
|
+
### llm (required)
|
|
74
|
+
|
|
75
|
+
Configures the language model for your agent.
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"llm": {
|
|
80
|
+
"name": "ChatOpenAI",
|
|
81
|
+
"properties": {
|
|
82
|
+
"model": "gpt-4o",
|
|
83
|
+
"temperature": 0.7,
|
|
84
|
+
"maxTokens": 2000
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
#### Supported LLM Providers
|
|
91
|
+
|
|
92
|
+
**ChatOpenAI**
|
|
93
|
+
|
|
94
|
+
```json
|
|
95
|
+
{
|
|
96
|
+
"llm": {
|
|
97
|
+
"name": "ChatOpenAI",
|
|
98
|
+
"properties": {
|
|
99
|
+
"model": "gpt-4o",
|
|
100
|
+
"temperature": 0.7
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**AzureChatOpenAI**
|
|
107
|
+
|
|
108
|
+
```json
|
|
109
|
+
{
|
|
110
|
+
"llm": {
|
|
111
|
+
"name": "AzureChatOpenAI",
|
|
112
|
+
"properties": {
|
|
113
|
+
"model": "gpt-4o",
|
|
114
|
+
"temperature": 0.7
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Usage in Your Agent
|
|
121
|
+
|
|
122
|
+
The `minded.json` configuration is passed directly to your Agent constructor:
|
|
123
|
+
|
|
124
|
+
```typescript
|
|
125
|
+
import { Agent } from '@minded-ai/mindedjs';
|
|
126
|
+
import memorySchema from './schema';
|
|
127
|
+
import tools from './tools';
|
|
128
|
+
import mindedConfig from './minded.json';
|
|
129
|
+
|
|
130
|
+
const agent = new Agent({
|
|
131
|
+
memorySchema,
|
|
132
|
+
config: mindedConfig,
|
|
133
|
+
tools, // Optional if specified in minded.json
|
|
134
|
+
});
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Complete Example
|
|
138
|
+
|
|
139
|
+
Here's a full example of a `minded.json` file for a customer support agent:
|
|
140
|
+
|
|
141
|
+
```json
|
|
142
|
+
{
|
|
143
|
+
"flows": ["./flows"],
|
|
144
|
+
"tools": ["./tools"],
|
|
145
|
+
"agent": "./customerSupportAgent.ts",
|
|
146
|
+
"llm": {
|
|
147
|
+
"name": "ChatOpenAI",
|
|
148
|
+
"properties": {
|
|
149
|
+
"model": "gpt-4o",
|
|
150
|
+
"temperature": 0.7,
|
|
151
|
+
"maxTokens": 1000,
|
|
152
|
+
"topP": 0.9
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Corresponding project structure:
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
your-project/
|
|
162
|
+
├── minded.json # Agent configuration
|
|
163
|
+
├── customerSupportAgent.ts # Main agent file (default export)
|
|
164
|
+
├── schema.ts # Memory schema
|
|
165
|
+
├── flows/ # Flow definitions
|
|
166
|
+
│ ├── mainFlow.yaml
|
|
167
|
+
│ └── escalationFlow.yaml
|
|
168
|
+
└── tools/ # Tool implementations
|
|
169
|
+
├── lookupOrder.ts
|
|
170
|
+
├── processRefund.ts
|
|
171
|
+
└── index.ts
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Environment-Specific Configuration
|
|
175
|
+
|
|
176
|
+
You can create environment-specific configurations:
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
your-project/
|
|
180
|
+
├── minded.json # Default configuration
|
|
181
|
+
├── minded.development.json # Development overrides
|
|
182
|
+
├── minded.production.json # Production settings
|
|
183
|
+
└── minded.staging.json # Staging configuration
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Load the appropriate configuration based on your environment:
|
|
187
|
+
|
|
188
|
+
```typescript
|
|
189
|
+
const env = process.env.NODE_ENV || 'development';
|
|
190
|
+
const configPath = env === 'production' ? './minded.production.json' : './minded.json';
|
|
191
|
+
const mindedConfig = require(configPath);
|
|
192
|
+
|
|
193
|
+
const agent = new Agent({
|
|
194
|
+
memorySchema,
|
|
195
|
+
config: mindedConfig,
|
|
196
|
+
tools,
|
|
197
|
+
});
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Next Steps
|
|
201
|
+
|
|
202
|
+
With your `minded.json` configured, you're ready to:
|
|
203
|
+
|
|
204
|
+
1. [Build your first agent](quick-start.md) - Follow the quick start guide
|
|
205
|
+
2. [Define your flows](../low-code-editor/flows.md) - Learn about flow structure
|
|
206
|
+
3. [Deploy to Minded platform](../platform/deployment.md) - Deploy your agent
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
# Quick Start
|
|
2
|
+
|
|
3
|
+
Build your first MindedJS agent in minutes! We'll create a customer support agent that can process refunds.
|
|
4
|
+
|
|
5
|
+
## What You'll Build
|
|
6
|
+
|
|
7
|
+
A customer support agent for an ecommerce store:
|
|
8
|
+
|
|
9
|
+
* Greets customers and asks for order details
|
|
10
|
+
* Intelligently routes to refund processing when appropriate
|
|
11
|
+
* Processes refunds with business logic
|
|
12
|
+
* Maintains conversation state throughout
|
|
13
|
+
|
|
14
|
+
## Project Setup
|
|
15
|
+
|
|
16
|
+
First, create the necessary files in your project:
|
|
17
|
+
|
|
18
|
+
### 1. Agent Configuration
|
|
19
|
+
|
|
20
|
+
Create `minded.json` in your project root (see [Project Configuration](project-configuration.md) for detailed documentation):
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"flows": ["./flows"],
|
|
25
|
+
"llm": {
|
|
26
|
+
"name": "ChatOpenAI",
|
|
27
|
+
"properties": {
|
|
28
|
+
"model": "gpt-4o"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 2. Flow Definition
|
|
35
|
+
|
|
36
|
+
Create `flows/refundFlow.yaml`:
|
|
37
|
+
|
|
38
|
+
```yaml
|
|
39
|
+
name: 'Order Refund Flow'
|
|
40
|
+
nodes:
|
|
41
|
+
- type: 'trigger'
|
|
42
|
+
triggerType: 'manual'
|
|
43
|
+
name: 'CLI Trigger'
|
|
44
|
+
- type: 'promptNode'
|
|
45
|
+
name: 'Support Agent'
|
|
46
|
+
prompt: "Hello! I'm your customer support agent. I can help you with refunds. Please provide your name, order ID, and describe your issue."
|
|
47
|
+
- type: 'tool'
|
|
48
|
+
name: 'Process Refund'
|
|
49
|
+
toolName: 'processRefund'
|
|
50
|
+
edges:
|
|
51
|
+
- source: 'CLI Trigger'
|
|
52
|
+
target: 'Support Agent'
|
|
53
|
+
type: 'stepForward'
|
|
54
|
+
- source: 'Support Agent'
|
|
55
|
+
target: 'Process Refund'
|
|
56
|
+
type: 'promptCondition'
|
|
57
|
+
prompt: 'The user is asking for a refund and provided their order details'
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 3. Memory Schema
|
|
61
|
+
|
|
62
|
+
Create `schema.ts`:
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
import { z } from 'zod';
|
|
66
|
+
|
|
67
|
+
export default z.object({
|
|
68
|
+
customerName: z.string().optional(),
|
|
69
|
+
orderId: z.string().optional(),
|
|
70
|
+
issue: z.string().optional(),
|
|
71
|
+
});
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 4. Tools
|
|
75
|
+
|
|
76
|
+
Create `tools/processRefund.ts`:
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
import { z } from 'zod';
|
|
80
|
+
import { Tool } from 'mindedjs/src/types/Tools.types';
|
|
81
|
+
import memorySchema from '../schema';
|
|
82
|
+
|
|
83
|
+
type Memory = z.infer<typeof memorySchema>;
|
|
84
|
+
|
|
85
|
+
const schema = z.object({
|
|
86
|
+
orderId: z.string(),
|
|
87
|
+
customerName: z.string(),
|
|
88
|
+
reason: z.string(),
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
const processRefundTool: Tool<typeof schema, Memory> = {
|
|
92
|
+
name: 'processRefund',
|
|
93
|
+
description: 'Process a refund for the customer order',
|
|
94
|
+
input: schema,
|
|
95
|
+
execute: async ({ input, memory }) => {
|
|
96
|
+
console.log('*Action: Processing refund*');
|
|
97
|
+
console.log(`Refunding order ${input.orderId} for ${input.customerName}`);
|
|
98
|
+
console.log(`Reason: ${input.reason}`);
|
|
99
|
+
|
|
100
|
+
// Simulate refund processing
|
|
101
|
+
const refundAmount = Math.floor(Math.random() * 100) + 20; // Random amount between $20-$120
|
|
102
|
+
console.log(`Refund of $${memory.orderAmount} has been processed successfully!`);
|
|
103
|
+
|
|
104
|
+
return {
|
|
105
|
+
memory: {
|
|
106
|
+
customerName: input.customerName,
|
|
107
|
+
orderId: input.orderId,
|
|
108
|
+
issue: `Refund processed - $${refundAmount}`,
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export default processRefundTool;
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Create `tools/index.ts`:
|
|
118
|
+
|
|
119
|
+
```ts
|
|
120
|
+
import processRefundTool from './processRefund';
|
|
121
|
+
|
|
122
|
+
export default [processRefundTool];
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### 5. Main Agent
|
|
126
|
+
|
|
127
|
+
Create `agent.ts`:
|
|
128
|
+
|
|
129
|
+
```ts
|
|
130
|
+
import { Agent } from 'mindedjs/src/agent';
|
|
131
|
+
import { HumanMessage } from '@langchain/core/messages';
|
|
132
|
+
import { events } from 'mindedjs/src/index';
|
|
133
|
+
import * as readline from 'readline';
|
|
134
|
+
import memorySchema from './schema';
|
|
135
|
+
import tools from './tools';
|
|
136
|
+
import config from './minded.json';
|
|
137
|
+
|
|
138
|
+
// 1. Create readline interface for interactive chat
|
|
139
|
+
const rl = readline.createInterface({
|
|
140
|
+
input: process.stdin,
|
|
141
|
+
output: process.stdout,
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
// 2. Create the agent with config from minded.json
|
|
145
|
+
const agent = new Agent({
|
|
146
|
+
memorySchema,
|
|
147
|
+
config,
|
|
148
|
+
tools,
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
// 3. Listen for AI messages
|
|
152
|
+
agent.on(events.AI_MESSAGE, async ({ message }) => {
|
|
153
|
+
console.log('AI:', message);
|
|
154
|
+
promptUser(); // Continue the conversation
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
// 4. Handle trigger events
|
|
158
|
+
agent.on(events.TRIGGER_EVENT, async ({ triggerName, triggerBody }) => {
|
|
159
|
+
if (triggerName === 'CLI Trigger') {
|
|
160
|
+
return {
|
|
161
|
+
memory: {},
|
|
162
|
+
messages: [new HumanMessage(triggerBody)],
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
// 5. Function to prompt user for input
|
|
168
|
+
const promptUser = () => {
|
|
169
|
+
rl.question('You: ', async (input) => {
|
|
170
|
+
if (input.toLowerCase() === 'exit' || input.toLowerCase() === 'quit') {
|
|
171
|
+
console.log('Goodbye!');
|
|
172
|
+
rl.close();
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
console.log(); // Add spacing for readability
|
|
177
|
+
|
|
178
|
+
// Send user message to agent
|
|
179
|
+
await agent.invoke({
|
|
180
|
+
triggerBody: input,
|
|
181
|
+
triggerName: 'CLI Trigger',
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
// 6. Start the interactive session
|
|
187
|
+
console.log('🤖 Customer Support Agent is ready!');
|
|
188
|
+
console.log('Type your message below (or "exit" to quit):\n');
|
|
189
|
+
promptUser();
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## Project Structure
|
|
193
|
+
|
|
194
|
+
Your project should look like this:
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
your-project/
|
|
198
|
+
├── minded.json # Agent configuration
|
|
199
|
+
├── schema.ts # Memory schema definition
|
|
200
|
+
├── agent.ts # Main agent file
|
|
201
|
+
├── flows/ # Flow definitions
|
|
202
|
+
│ └── refundFlow.yaml # Individual flow files
|
|
203
|
+
└── tools/ # Tools directory
|
|
204
|
+
├── processRefund.ts # Refund processing tool
|
|
205
|
+
└── index.ts # Export your tools
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
## Run Your Agent
|
|
209
|
+
|
|
210
|
+
Start the interactive chat session:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
npx ts-node agent.ts
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
This will start an interactive conversation where you can chat with your agent:
|
|
217
|
+
|
|
218
|
+
```
|
|
219
|
+
🤖 Customer Support Agent is ready!
|
|
220
|
+
Type your message below (or "exit" to quit):
|
|
221
|
+
|
|
222
|
+
You: Hi, I want to refund my order #1234. I received the wrong item.
|
|
223
|
+
|
|
224
|
+
AI: Hello! I'm your customer support agent. I can help you with refunds. Please provide your name, order ID, and describe your issue.
|
|
225
|
+
|
|
226
|
+
You: My name is John Smith, order ID is 1234, and I received the wrong size shoes.
|
|
227
|
+
|
|
228
|
+
*Action: Processing refund*
|
|
229
|
+
Refunding order 1234 for John Smith
|
|
230
|
+
Reason: received the wrong size shoes
|
|
231
|
+
Refund of $87 has been processed successfully!
|
|
232
|
+
|
|
233
|
+
You: Thank you!
|
|
234
|
+
|
|
235
|
+
AI: You're welcome! Your refund has been processed successfully. Is there anything else I can help you with?
|
|
236
|
+
|
|
237
|
+
You: exit
|
|
238
|
+
Goodbye!
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
**Tips:**
|
|
242
|
+
|
|
243
|
+
* Type `exit` or `quit` to end the conversation
|
|
244
|
+
* Each message maintains conversation context and memory
|
|
245
|
+
* The agent will intelligently route to refund processing when appropriate
|
|
246
|
+
|
|
247
|
+
## What Happens
|
|
248
|
+
|
|
249
|
+
1. **Trigger Activation**: The manual trigger receives your input message
|
|
250
|
+
2. **Support Agent**: The prompt node greets the customer and asks for details
|
|
251
|
+
3. **Intelligent Routing**: If the customer mentions refunds and provides order details, the flow routes to the refund tool
|
|
252
|
+
4. **Refund Processing**: The tool processes the refund and updates memory
|
|
253
|
+
5. **State Management**: Memory persists customer information throughout the conversation
|
|
254
|
+
|
|
255
|
+
## Next Steps
|
|
256
|
+
|
|
257
|
+
Now that you have a working agent, explore:
|
|
258
|
+
|
|
259
|
+
* [**Core Concepts**](../low-code-editor/flows.md) - Understand how flows, nodes, and edges work
|
|
260
|
+
* [**Node Types**](../low-code-editor/nodes.md) - Learn about all available node types
|
|
261
|
+
* [**Edge Types**](../low-code-editor/edges.md) - Learn about all available edge types
|
|
262
|
+
* [**Tools**](../low-code-editor/tools.md) - Learn about all available tools
|