REST ClientFabricAI Agents

list

View as MarkdownOpen in Claude

List AI agent resources in the project.

Response

datalist of objectsRequired
An array of objects containing the list of AI Agent data.

Response Example

Response
1{
2 "data": [
3 {
4 "id": "a87db7ed-8ebe-42e4-829f-8ba5a4152f54",
5 "project_id": "99151cf8-9548-4860-ba70-a8de824f3312",
6 "display_name": "Booking Assistant",
7 "type": "ai_agent",
8 "created_at": "2024-05-06T12:20:00Z",
9 "updated_at": "2024-05-06T12:20:00Z",
10 "ai_agent": {
11 "prompt": {
12 "confidence": 0.6,
13 "contexts": {
14 "default": {
15 "enter_fillers": [
16 {
17 "default": [
18 "one moment please",
19 "let me check"
20 ]
21 }
22 ],
23 "exit_fillers": [
24 {
25 "default": [
26 "one moment please",
27 "let me check"
28 ]
29 }
30 ],
31 "isolated": true,
32 "pom": [
33 {
34 "body": "Welcome customers warmly and assist them with their inquiries.",
35 "bullets": [
36 "Be polite and professional",
37 "Listen actively to customer concerns",
38 "Provide accurate information"
39 ],
40 "numbered": true,
41 "numberedBullets": false,
42 "subsections": [
43 null
44 ],
45 "title": "Customer Service Guidelines"
46 }
47 ],
48 "steps": [
49 {
50 "end": true,
51 "functions": [
52 "Take Order",
53 "Confirm Order",
54 "Confirm Address"
55 ],
56 "name": "Take Pizza order",
57 "skip_user_turn": true,
58 "step_criteria": "Customer wants to order Pizza",
59 "text": "Your name is Franklin and you are taking orders for Franklin's Pizza.",
60 "valid_contexts": [
61 "Place Order",
62 "Confirm Order"
63 ],
64 "valid_steps": [
65 "get order",
66 "confirm order"
67 ]
68 }
69 ]
70 }
71 },
72 "frequency_penalty": 0,
73 "max_tokens": 256,
74 "presence_penalty": 0,
75 "temperature": 0.7,
76 "text": "Your name is Franklin and you are taking orders for Franklin's Pizza. Begin by greeting the caller, and ask if they'd like to place an order for pickup or delivery.",
77 "top_p": 0.9
78 },
79 "agent_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
80 "name": "My AI Agent",
81 "global_data": {
82 "company_name": "Acme Corp",
83 "support_hours": "9am-5pm EST"
84 },
85 "hints": [
86 "pizza",
87 "pepperoni"
88 ],
89 "languages": [
90 {
91 "code": "fr-FR",
92 "emotion": "auto",
93 "engine": "elevenlabs",
94 "fillers": [
95 "umm",
96 "let me check"
97 ],
98 "model": "arcana",
99 "name": "French",
100 "params": {
101 "emotion": "happy",
102 "pitch": 0,
103 "similarity": 0.75,
104 "speakingRate": 1,
105 "speed": 1,
106 "stability": 0.5,
107 "temperature": 1,
108 "vol": 1
109 },
110 "speed": "auto",
111 "voice": "gcloud.fr-FR-Neural2-B"
112 }
113 ],
114 "params": {
115 "acknowledge_interruptions": true,
116 "ai_model": "gpt-4o-mini",
117 "ai_name": "assistant",
118 "ai_volume": 0,
119 "app_name": "customer-support-bot",
120 "asr_smart_format": true,
121 "attention_timeout": 30000,
122 "attention_timeout_prompt": "Ask if the user would like you to repeat yourself, or if they need more time to respond.",
123 "asr_diarize": true,
124 "asr_speaker_affinity": true,
125 "audible_debug": false,
126 "audible_latency": false,
127 "background_file": "https://cdn.signalwire.com/default-music/welcome.mp3",
128 "background_file_loops": 5,
129 "background_file_volume": -10,
130 "enable_barge": "complete,partial",
131 "enable_inner_dialog": true,
132 "enable_pause": true,
133 "enable_turn_detection": true,
134 "barge_match_string": "Cancel order",
135 "barge_min_words": 3,
136 "barge_functions": true,
137 "cache_mode": true,
138 "conscience": "Place an order",
139 "convo": [
140 {
141 "role": "user",
142 "content": "Hello, how can I assist you today?",
143 "lang": "en"
144 }
145 ],
146 "conversation_id": "Conversation ID",
147 "conversation_sliding_window": 20,
148 "debug_webhook_level": 1,
149 "debug_webhook_url": "https://example.com",
150 "debug": true,
151 "direction": "inbound",
152 "digit_terminators": "#",
153 "digit_timeout": 3000,
154 "end_of_speech_timeout": 700,
155 "enable_accounting": true,
156 "enable_thinking": true,
157 "enable_text_normalization": "both",
158 "auto_correct": true,
159 "redact_prompt": "credit card numbers, social security numbers, and full names",
160 "enable_vision": true,
161 "energy_level": 52,
162 "first_word_timeout": 1000,
163 "function_wait_for_talking": true,
164 "functions_on_no_response": true,
165 "hard_stop_prompt": "Thank you for calling. The maximum call time has been reached. Goodbye!",
166 "hard_stop_time": "30m",
167 "hold_music": "https://cdn.signalwire.com/default-music/welcome.mp3",
168 "hold_on_process": true,
169 "inactivity_timeout": 600000,
170 "inner_dialog_model": "gpt-4.1-nano",
171 "inner_dialog_prompt": "Analyze the conversation and provide insights to help the agent respond better.",
172 "inner_dialog_synced": true,
173 "initial_sleep_ms": 1000,
174 "input_poll_freq": 2000,
175 "interrupt_on_noise": true,
176 "interrupt_prompt": "Inform user that you can't hear anything",
177 "languages_enabled": true,
178 "local_tz": "America/Ensenada",
179 "llm_diarize_aware": true,
180 "max_emotion": 15,
181 "max_response_tokens": 1024,
182 "openai_asr_engine": "deepgram:nova-3",
183 "outbound_attention_timeout": 120000,
184 "persist_global_data": true,
185 "pom_format": "markdown",
186 "save_conversation": true,
187 "speech_event_timeout": 1400,
188 "speech_gen_quick_stops": 3,
189 "speech_timeout": 60000,
190 "speak_when_spoken_to": true,
191 "start_paused": true,
192 "static_greeting": "Hello! Welcome to our customer service. How can I help you today?",
193 "static_greeting_no_barge": true,
194 "summary_mode": "string",
195 "swaig_allow_settings": true,
196 "swaig_allow_swml": true,
197 "swaig_post_conversation": true,
198 "swaig_set_global_data": true,
199 "swaig_post_swml_vars": true,
200 "thinking_model": "gpt-4.1-mini",
201 "utility_model": "gpt-4o-mini",
202 "transparent_barge": true,
203 "transparent_barge_max_time": 3000,
204 "transfer_summary": true,
205 "turn_detection_timeout": 250,
206 "tts_number_format": "international",
207 "verbose_logs": true,
208 "video_listening_file": "https://example.com/listening.mp4",
209 "video_idle_file": "https://example.com/idle.mp4",
210 "video_talking_file": "https://example.com/talking.mp4",
211 "vision_model": "gpt-4o-mini",
212 "vad_config": "50:20",
213 "wait_for_user": true,
214 "wake_prefix": "hey",
215 "eleven_labs_stability": 0.5,
216 "eleven_labs_similarity": 0.75
217 },
218 "post_prompt": {
219 "confidence": 0.6,
220 "frequency_penalty": 0,
221 "max_tokens": 256,
222 "presence_penalty": 0,
223 "temperature": 0.7,
224 "text": "Summarize the conversation and provide any follow-up action items.",
225 "top_p": 0.9
226 },
227 "post_prompt_url": "username:password@https://example.com",
228 "pronounce": [
229 {
230 "replace": "pizza",
231 "with": "pissa",
232 "ignore_case": true
233 }
234 ],
235 "SWAIG": {
236 "defaults": {
237 "web_hook_url": "username:password@https://example.com"
238 },
239 "mcp_servers": [
240 {
241 "url": "https://mcp.example.com/mcp",
242 "headers": {
243 "Authorization": "Bearer abc123"
244 },
245 "resources": true,
246 "resource_vars": {
247 "customer_id": "cust_12345"
248 }
249 }
250 ],
251 "native_functions": [
252 "check_time"
253 ],
254 "includes": [
255 {
256 "functions": [
257 "transfer call",
258 "notify kitchen"
259 ],
260 "url": "username:password@https://example.com",
261 "meta_data": {
262 "customer_id": "cust_123",
263 "session_type": "support"
264 }
265 }
266 ],
267 "functions": [
268 {
269 "active": true,
270 "argument": {
271 "properties": {},
272 "required": [
273 "name1",
274 "name2"
275 ],
276 "type": "object"
277 },
278 "data_map": {
279 "expressions": [
280 {
281 "output": {
282 "action": [
283 {
284 "change_context": "sales"
285 }
286 ],
287 "response": "Order placed"
288 },
289 "pattern": "refund|return|money back",
290 "string": "I want a refund"
291 }
292 ],
293 "output": {
294 "action": [
295 {
296 "change_context": "sales"
297 }
298 ],
299 "response": "Order placed"
300 },
301 "webhooks": [
302 {
303 "error_keys": "failed",
304 "expressions": [
305 {
306 "output": {
307 "action": [
308 {
309 "SWML": {
310 "sections": {},
311 "version": {}
312 },
313 "transfer": true
314 }
315 ],
316 "response": "Order placed"
317 },
318 "pattern": "refund|return|money back",
319 "string": "I want a refund"
320 }
321 ],
322 "foreach": {
323 "append": "title: ${this.title}, contact: ${this.phone}",
324 "input_key": "success",
325 "max": 5,
326 "output_key": "deliverer"
327 },
328 "headers": {
329 "Content-Type": "application/json",
330 "X-API-Key": "your-api-key"
331 },
332 "input_args_as_params": true,
333 "method": "POST",
334 "output": {
335 "action": [
336 {
337 "change_context": "sales"
338 }
339 ],
340 "response": "Order placed"
341 },
342 "params": {
343 "account_id": "acc_123",
344 "include_details": true
345 },
346 "require_args": [
347 "order_id",
348 "customer_email"
349 ],
350 "url": "https://example.com"
351 }
352 ]
353 },
354 "description": "Get the weather information",
355 "fillers": {
356 "default": [
357 "one moment please",
358 "let me check"
359 ]
360 },
361 "function": "get_weather",
362 "meta_data": {
363 "api_key": "key_123",
364 "endpoint": "https://api.example.com"
365 },
366 "meta_data_token": "my-function-scope",
367 "parameters": {
368 "properties": {},
369 "required": [
370 "name1",
371 "name2"
372 ],
373 "type": "object"
374 },
375 "purpose": "Get the weather information",
376 "skip_fillers": true,
377 "wait_file": "https://cdn.signalwire.com/default-music/welcome.mp3",
378 "wait_file_loops": 5,
379 "wait_for_fillers": true,
380 "web_hook_url": "username:password:https://statuscallback.com"
381 }
382 ],
383 "internal_fillers": {
384 "hangup": {
385 "default": [
386 "one moment please",
387 "let me check"
388 ]
389 },
390 "check_time": {
391 "default": [
392 "one moment please",
393 "let me check"
394 ]
395 },
396 "wait_for_user": {
397 "default": [
398 "one moment please",
399 "let me check"
400 ]
401 },
402 "wait_seconds": {
403 "default": [
404 "one moment please",
405 "let me check"
406 ]
407 },
408 "adjust_response_latency": {
409 "default": [
410 "one moment please",
411 "let me check"
412 ]
413 },
414 "next_step": {
415 "default": [
416 "one moment please",
417 "let me check"
418 ]
419 },
420 "change_context": {
421 "default": [
422 "one moment please",
423 "let me check"
424 ]
425 },
426 "get_visual_input": {
427 "default": [
428 "one moment please",
429 "let me check"
430 ]
431 },
432 "get_ideal_strategy": {
433 "default": [
434 "one moment please",
435 "let me check"
436 ]
437 }
438 }
439 }
440 }
441 }
442 ],
443 "links": {
444 "self": "https://example.signalwire.com/api/fabric/resources/ai_agents?page_number=0&page_size=50&type=ai_agent",
445 "first": "https://example.signalwire.com/api/fabric/resources/ai_agents?page_number=0&page_size=50&type=ai_agent",
446 "next": "https://example.signalwire.com/api/fabric/resources/ai_agents?page_number=1&page_size=50&page_token=PAbff61159-faab-48b3-959a-3021a8f5beca&type=ai_agent",
447 "prev": "https://example.signalwire.com/api/fabric/resources/ai_agents?page_number=0&page_size=50&page_token=PAbff61159-faab-48b3-959a-3021a8f5beca&type=ai_agent"
448 }
449}

Example

1from signalwire.rest import RestClient
2
3client = RestClient(
4 project="your-project-id",
5 token="your-api-token",
6 host="your-space.signalwire.com",
7)
8
9response = client.fabric.ai_agents.list()
10for agent in response.get("data", []):
11 print(f"{agent['display_name']}: {agent['id']}")