PluginProbe
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services / 8.8.1
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services v8.8.1
8.8.1 8.8.0 8.7.9 8.7.8 8.7.7 8.7.6 8.7.5 8.7.4 8.7.3 8.7.2 8.7.1 8.7.0 8.6.9 8.6.8 8.6.7 8.6.6 8.6.5 8.6.4 8.6.2 8.6.1 8.6.0 8.5.9 8.5.8 8.5.7 8.5.6 All 537 releases
chatbot / addons / automator / src / constants / appsMetadata.js

appsMetadata.js in WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services 8.8.1, at addons/automator/src/constants/appsMetadata.js

2,783 lines 94.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 export const appsMetadata = [
2 {
3 id: "wordpress",
4 name: "WordPress",
5 icon: "W",
6 iconBg: "bg-blue-600",
7 categories: [
8 {
9 id: "triggers",
10 name: "Triggers",
11 actions: [
12 { id: "wp_user_register", name: "User register" },
13 { id: "wp_user_login", name: "User login" },
14 { id: "wp_user_logout", name: "User logout" },
15 { id: "wp_post_publish", name: "Post / Page publish" },
16 { id: "wp_post_update", name: "Post / Page update" },
17 { id: "wp_comment_added", name: "Comment added" },
18 { id: "wp_media_upload", name: "Media upload" },
19 ]
20 },
21 {
22 id: "user_management",
23 name: "User Management",
24 actions: [
25 { id: "wp_create_user", name: "Create New User" },
26 { id: "wp_update_user", name: "Update User" },
27 { id: "wp_delete_user", name: "Delete User" },
28 ]
29 },
30 {
31 id: "user_retrieval",
32 name: "User Retrieval",
33 actions: [
34 { id: "wp_get_all_users", name: "Get All Users" },
35 { id: "wp_get_users_by_role", name: "Get All Users by Role" },
36 { id: "wp_get_user_by_id", name: "Get User by Id" },
37 { id: "wp_get_user_by_email", name: "Get User by Email" },
38 { id: "wp_get_user_by_field", name: "Get User by Field" },
39 ]
40 },
41 {
42 id: "user_metadata",
43 name: "User Metadata",
44 actions: [
45 { id: "wp_get_user_meta_all", name: "Get User Metadata (All)" },
46 { id: "wp_get_user_meta_single", name: "Get User Metadata (Single)" },
47 { id: "wp_update_user_meta", name: "Update User Metadata" },
48 ]
49 },
50 {
51 id: "role_management",
52 name: "Role Management",
53 actions: [
54 { id: "wp_create_role", name: "Create Role" },
55 { id: "wp_delete_role", name: "Delete Role" },
56 { id: "wp_add_user_role", name: "Add User Role" },
57 { id: "wp_remove_user_role", name: "Remove User Role" },
58 { id: "wp_update_user_role", name: "Update User Role" },
59 { id: "wp_get_all_roles", name: "Get All Roles" },
60 ]
61 },
62 {
63 id: "capabilities_management",
64 name: "Capabilities Management",
65 actions: [
66 { id: "wp_get_all_caps", name: "Get All Capabilities" },
67 { id: "wp_get_role_caps", name: "Get Role Capabilities" },
68 { id: "wp_add_role_caps", name: "Add Role Capabilities" },
69 { id: "wp_remove_role_caps", name: "Remove Role Capabilities" },
70 { id: "wp_get_user_caps", name: "Get User Capabilities" },
71 { id: "wp_add_user_caps", name: "Add User Capabilities" },
72 { id: "wp_remove_user_caps", name: "Remove User Capabilities" },
73 ]
74 },
75 {
76 id: "post_management",
77 name: "Post Management",
78 actions: [
79 {
80 id: "wp_create_post",
81 name: "Create New Post",
82 fields: [
83 { id: "post_title", name: "Post Title", type: "text", placeholder: "Enter post title" },
84 { id: "post_content", name: "Post Content", type: "textarea", placeholder: "Enter post content (or use {response})" },
85 {
86 id: "post_status",
87 name: "Post Status",
88 type: "select",
89 options: [
90 { id: "publish", name: "Publish" },
91 { id: "draft", name: "Draft" },
92 { id: "pending", name: "Pending" },
93 { id: "private", name: "Private" },
94 ],
95 defaultValue: "publish"
96 },
97 { id: "categories", name: "Categories / Topics", type: "text", placeholder: "Category IDs or names (comma separated)" }
98 ]
99 },
100 {
101 id: "wp_create_page",
102 name: "Create New Page",
103 fields: [
104 { id: "post_title", name: "Page Title", type: "text", placeholder: "Enter page title" },
105 { id: "post_content", name: "Page Content", type: "textarea", placeholder: "Enter page content (or use {response})" },
106 {
107 id: "post_status",
108 name: "Page Status",
109 type: "select",
110 options: [
111 { id: "publish", name: "Publish" },
112 { id: "draft", name: "Draft" },
113 { id: "pending", name: "Pending" },
114 { id: "private", name: "Private" },
115 ],
116 defaultValue: "publish"
117 }
118 ]
119 },
120 { id: "wp_update_post", name: "Update Post" },
121 { id: "wp_update_post_status", name: "Update Post Status" },
122 { id: "wp_delete_post", name: "Delete Post" },
123 { id: "wp_get_posts_all", name: "Get Post (All)" },
124 { id: "wp_get_post_single", name: "Get Post (Single)" },
125 { id: "wp_get_posts_by_type", name: "Get Posts By Post Type" },
126 { id: "wp_get_posts_by_meta", name: "Get Posts by Metadata" },
127 { id: "wp_get_post_meta_all", name: "Get Post Metadata (All)" },
128 { id: "wp_get_post_meta_single", name: "Get Post Metadata (Single)" },
129 { id: "wp_get_post_permalink", name: "Get Post Permalink" },
130 { id: "wp_get_post_content", name: "Get Post Content" },
131 { id: "wp_get_post_excerpt", name: "Get Post Excerpt" },
132 { id: "wp_get_post_status", name: "Get Post Status" },
133 {
134 id: "wp_ai_generated_post",
135 name: "AI Generated Post",
136 description: "Generate a WordPress post using AI based on your instructions.",
137 fields: [
138 {
139 id: "ai_provider",
140 name: "AI Provider",
141 type: "select",
142 options: [
143 { id: "openai", name: "OpenAI" },
144 { id: "gemini", name: "Gemini" },
145 { id: "claude", name: "Claude" },
146 ],
147 defaultValue: "openai"
148 },
149 { id: "api_key", name: "API Key", type: "text", placeholder: "Enter API Key" },
150 {
151 id: "model",
152 name: "Model",
153 type: "select",
154 options: [
155 { id: "gpt-4o", name: "GPT-4o (OpenAI)" },
156 { id: "gpt-4o-mini", name: "GPT-4o Mini (OpenAI)" },
157 { id: "gpt-4-turbo", name: "GPT-4 Turbo (OpenAI)" },
158 { id: "gpt-3.5-turbo", name: "GPT-3.5 Turbo (OpenAI)" },
159 { id: "gemini-1.5-flash", name: "Gemini 1.5 Flash (Google)" },
160 { id: "gemini-1.5-pro", name: "Gemini 1.5 Pro (Google)" },
161 { id: "claude-3-5-sonnet-20240620", name: "Claude 3.5 Sonnet (Anthropic)" },
162 { id: "claude-3-haiku-20240307", name: "Claude 3 Haiku (Anthropic)" },
163 ],
164 defaultValue: "gpt-3.5-turbo"
165 },
166 { id: "prompt_instructions", name: "Instructions for AI", type: "textarea", placeholder: "e.g., Write a 500-word blog post about the history of coffee." },
167 { id: "post_title", name: "Post Title", type: "text", placeholder: "Enter post title (Leave empty to let AI generate it)" },
168 {
169 id: "post_status",
170 name: "Post Status",
171 type: "select",
172 options: [
173 { id: "publish", name: "Publish" },
174 { id: "draft", name: "Draft" },
175 { id: "pending", name: "Pending" },
176 ],
177 defaultValue: "publish"
178 },
179 { id: "categories", name: "Categories / Topics", type: "text", placeholder: "Category IDs or names (comma separated)" }
180 ]
181 },
182 {
183 id: "wp_ai_generate_social_posts",
184 name: "Generate Social Media Posts (Facebook & Telegram)",
185 description: "Generate optimized posts for Facebook and Telegram from content.",
186 fields: [
187 {
188 id: "ai_provider",
189 name: "AI Provider",
190 type: "select",
191 options: [
192 { id: "openai", name: "OpenAI" },
193 { id: "gemini", name: "Gemini" },
194 { id: "claude", name: "Claude" },
195 ],
196 defaultValue: "openai"
197 },
198 { id: "api_key", name: "API Key", type: "text", placeholder: "Enter API Key" },
199 {
200 id: "model",
201 name: "Model",
202 type: "select",
203 options: [
204 { id: "gpt-4o", name: "GPT-4o (OpenAI)" },
205 { id: "gpt-4o-mini", name: "GPT-4o Mini (OpenAI)" },
206 { id: "gemini-1.5-flash", name: "Gemini 1.5 Flash (Google)" },
207 { id: "claude-3-5-sonnet-20240620", name: "Claude 3.5 Sonnet (Anthropic)" },
208 ],
209 defaultValue: "gpt-4o-mini"
210 },
211 { id: "source_content", name: "Source Content", type: "textarea", placeholder: "Map {post_content} or enter text" },
212 { id: "additional_instructions", name: "Additional Instructions", type: "textarea", placeholder: "e.g., Use emojis, formal tone, etc." },
213 { id: "generate_image", name: "Generate AI Image?", type: "checkbox", defaultValue: false },
214 {
215 id: "image_model",
216 name: "Image Model",
217 type: "select",
218 options: [
219 { id: "dall-e-3", name: "DALL-E 3 (OpenAI)" },
220 { id: "dall-e-2", name: "DALL-E 2 (OpenAI)" },
221 ],
222 defaultValue: "dall-e-3"
223 },
224 {
225 id: "image_size",
226 name: "Image Size",
227 type: "select",
228 options: [
229 { id: "1024x1024", name: "1024x1024" },
230 { id: "1024x1792", name: "1024x1792 (Tall)" },
231 { id: "1792x1024", name: "1792x1024 (Wide)" },
232 ],
233 defaultValue: "1024x1024"
234 },
235 {
236 id: "image_style",
237 name: "Image Style",
238 type: "select",
239 options: [
240 { id: "vivid", name: "Vivid" },
241 { id: "natural", name: "Natural" },
242 ],
243 defaultValue: "vivid"
244 },
245 ]
246 },
247 {
248 id: "wp_ai_generate_social_posts_pro",
249 name: "Generate Social Media Posts (Insta, WhatsApp, LinkedIn)",
250 description: "Generate optimized posts for Instagram, WhatsApp, and LinkedIn from content.",
251 isPro: true,
252 fields: [
253 {
254 id: "ai_provider",
255 name: "AI Provider",
256 type: "select",
257 options: [
258 { id: "openai", name: "OpenAI" },
259 { id: "gemini", name: "Gemini" },
260 { id: "claude", name: "Claude" },
261 ],
262 defaultValue: "openai"
263 },
264 { id: "api_key", name: "API Key", type: "text", placeholder: "Enter API Key" },
265 {
266 id: "model",
267 name: "Model",
268 type: "select",
269 options: [
270 { id: "gpt-4o", name: "GPT-4o (OpenAI)" },
271 { id: "gpt-4o-mini", name: "GPT-4o Mini (OpenAI)" },
272 { id: "gemini-1.5-flash", name: "Gemini 1.5 Flash (Google)" },
273 { id: "claude-3-5-sonnet-20240620", name: "Claude 3.5 Sonnet (Anthropic)" },
274 ],
275 defaultValue: "gpt-4o-mini"
276 },
277 { id: "source_content", name: "Source Content", type: "textarea", placeholder: "Map {post_content} or enter text" },
278 { id: "additional_instructions", name: "Additional Instructions", type: "textarea", placeholder: "e.g., Use emojis, formal tone, etc." },
279 { id: "generate_image", name: "Generate AI Image?", type: "checkbox", defaultValue: false },
280 {
281 id: "image_model",
282 name: "Image Model",
283 type: "select",
284 options: [
285 { id: "dall-e-3", name: "DALL-E 3 (OpenAI)" },
286 { id: "dall-e-2", name: "DALL-E 2 (OpenAI)" },
287 ],
288 defaultValue: "dall-e-3"
289 },
290 {
291 id: "image_size",
292 name: "Image Size",
293 type: "select",
294 options: [
295 { id: "1024x1024", name: "1024x1024" },
296 { id: "1024x1792", name: "1024x1792 (Tall)" },
297 { id: "1792x1024", name: "1792x1024 (Wide)" },
298 ],
299 defaultValue: "1024x1024"
300 },
301 {
302 id: "image_style",
303 name: "Image Style",
304 type: "select",
305 options: [
306 { id: "vivid", name: "Vivid" },
307 { id: "natural", name: "Natural" },
308 ],
309 defaultValue: "vivid"
310 },
311 ]
312 },
313 ]
314 },
315 {
316 id: "comment_management",
317 name: "Comment Management",
318 actions: [
319 { id: "wp_get_comments_all", name: "Get Post Comments (All)" },
320 { id: "wp_get_comments_single", name: "Get Post Comments (Single Post)" },
321 { id: "wp_get_user_comments", name: "Get User Comments" },
322 { id: "wp_get_user_comments_email", name: "Get User Comments (By Email)" },
323 { id: "wp_get_comment_meta_all", name: "Get Comment Metadata (All)" },
324 { id: "wp_get_comment_meta_single", name: "Get Comment Metadata (Single)" },
325 {
326 id: "wp_create_comment",
327 name: "Create New Comment",
328 fields: [
329 {
330 id: "post_id",
331 name: "Post ID",
332 type: "number",
333 placeholder: "Enter Post ID (ID of the post to comment on)"
334 },
335 {
336 id: "comment_content",
337 name: "Comment Content",
338 type: "textarea",
339 placeholder: "Enter your comment here..."
340 }
341 ]
342 },
343 {
344 id: "wp_reply_comment",
345 name: "Reply To Comment",
346 fields: [
347 {
348 id: "parent_id",
349 name: "Parent Comment ID",
350 type: "number",
351 placeholder: "Enter Comment ID to reply to (leave empty to use trigger context)"
352 },
353 {
354 id: "comment_content",
355 name: "Reply Content",
356 type: "textarea",
357 placeholder: "Enter your reply content here..."
358 }
359 ]
360 },
361 {
362 id: "wp_ai_reply_comment",
363 name: "AI Comment Reply",
364 description: "Automatically reply to a comment using AI.",
365 fields: [
366 {
367 id: "ai_provider",
368 name: "AI Provider",
369 type: "select",
370 options: [
371 { id: "openai", name: "OpenAI" },
372 { id: "gemini", name: "Gemini" },
373 { id: "claude", name: "Claude" },
374 ],
375 defaultValue: "openai"
376 },
377 { id: "api_key", name: "API Key", type: "text", placeholder: "Enter API Key" },
378 {
379 id: "model",
380 name: "Model",
381 type: "select",
382 options: [
383 { id: "gpt-4o", name: "GPT-4o (OpenAI)" },
384 { id: "gpt-4o-mini", name: "GPT-4o Mini (OpenAI)" },
385 { id: "gpt-4-turbo", name: "GPT-4 Turbo (OpenAI)" },
386 { id: "gpt-3.5-turbo", name: "GPT-3.5 Turbo (OpenAI)" },
387 { id: "gemini-2.0-flash-exp", name: "Gemini 2.0 Flash exp (Google)" },
388 { id: "gemini-2.0-flash", name: "Gemini 2.0 Flash (Google)" },
389 { id: "gemini-1.5-pro", name: "Gemini 1.5 Pro (Google)" },
390 { id: "claude-3-5-sonnet-20240620", name: "Claude 3.5 Sonnet (Anthropic)" },
391 { id: "claude-3-haiku-20240307", name: "Claude 3 Haiku (Anthropic)" },
392 ],
393 defaultValue: "gpt-3.5-turbo"
394 },
395 { id: "prompt_instructions", name: "Instructions for AI", type: "textarea", placeholder: "e.g., Be helpful and polite. Answer any questions asked." },
396 {
397 id: "parent_id",
398 name: "Parent Comment ID",
399 type: "number",
400 placeholder: "Leave empty to use trigger context"
401 }
402 ]
403 },
404 { id: "wp_delete_comment", name: "Delete Comment" },
405 ]
406 },
407 {
408 id: "post_type_management",
409 name: "Post Type Management",
410 actions: [
411 { id: "wp_get_post_type_all", name: "Get Post Type (All)" },
412 { id: "wp_get_post_type_single", name: "Get Post Type (Single Post)" },
413 { id: "wp_register_post_type", name: "Register Post Type" },
414 { id: "wp_unregister_post_type", name: "Unregister Post Type" },
415 { id: "wp_add_post_type_features", name: "Add Post Type Features (Support)" },
416 ]
417 },
418 {
419 id: "post_tag_management",
420 name: "Post Tag Management",
421 actions: [
422 { id: "wp_create_tag", name: "Create Post Tag" },
423 { id: "wp_update_tag", name: "Update Post Tag" },
424 { id: "wp_delete_tag", name: "Delete Post Tag" },
425 { id: "wp_add_tags_to_post", name: "Add Tags to Post" },
426 { id: "wp_remove_tags_from_post", name: "Remove Tags From Post" },
427 { id: "wp_get_tags_all", name: "Get Post Tag (All)" },
428 { id: "wp_get_tag_single", name: "Get Post Tag (Single)" },
429 ]
430 },
431 {
432 id: "media_management",
433 name: "Media Management",
434 actions: [
435 { id: "wp_add_media", name: "Add New Image To Media Library" },
436 { id: "wp_delete_media", name: "Delete Media From Media Library" },
437 { id: "wp_rename_media", name: "Rename Media" },
438 { id: "wp_get_media_all", name: "Get Media (All)" },
439 { id: "wp_get_media_by_title", name: "Get Media (By Title)" },
440 { id: "wp_get_media_by_id", name: "Get Media (By Id)" },
441 ]
442 },
443 {
444 id: "term_management",
445 name: "Term Management",
446 actions: [
447 { id: "wp_get_terms_all", name: "Get Term (All)" },
448 { id: "wp_get_term_single", name: "Get Term (Single)" },
449 { id: "wp_get_terms_by_tax", name: "Get Term by Taxonomy" },
450 { id: "wp_get_term_by_field", name: "Get Term by Field" },
451 { id: "wp_create_term", name: "Create New Term" },
452 { id: "wp_update_term", name: "Update Term" },
453 { id: "wp_delete_term", name: "Delete Term" },
454 ]
455 },
456 {
457 id: "taxonomy_management",
458 name: "Taxonomy Management",
459 actions: [
460 { id: "wp_register_tax", name: "Register Taxonomy" },
461 { id: "wp_unregister_tax", name: "Unregister Taxonomy" },
462 { id: "wp_get_tax_all", name: "Get Taxonomy (All)" },
463 { id: "wp_get_tax_single", name: "Get Taxonomy (Single)" },
464 { id: "wp_add_tax_to_post", name: "Add Taxonomy to Post" },
465 { id: "wp_remove_tax_from_post", name: "Remove Taxonomy From Post" },
466 ]
467 },
468 {
469 id: "category_management",
470 name: "Category Management",
471 actions: [
472 { id: "wp_create_cat", name: "Create Category" },
473 { id: "wp_update_cat", name: "Update Category" },
474 { id: "wp_delete_cat", name: "Delete Category" },
475 { id: "wp_add_cat_to_post", name: "Add Category To Post" },
476 { id: "wp_get_cats_all", name: "Get Category (All)" },
477 { id: "wp_get_cat_single", name: "Get Category (Single)" },
478 ]
479 },
480 {
481 id: "product_tag_management",
482 name: "Product Tag Management",
483 actions: [
484 { id: "wc_create_product_tag", name: "Create Product Tag" },
485 { id: "wc_update_product_tag", name: "Update Product Tag" },
486 { id: "wc_delete_product_tag", name: "Delete Product Tag" },
487 { id: "wc_get_product_tags_all", name: "Get Product Tag (All)" },
488 { id: "wc_get_product_tag_single", name: "Get Product Tag (Single)" },
489 ]
490 },
491 {
492 id: "product_category_management",
493 name: "Product Category Management",
494 actions: [
495 { id: "wc_create_product_cat", name: "Create Product Category" },
496 { id: "wc_update_product_cat", name: "Update Product Category" },
497 { id: "wc_delete_product_cat", name: "Delete Product Category" },
498 { id: "wc_get_product_cats_all", name: "Get Product Category (All)" },
499 { id: "wc_get_product_cat_single", name: "Get Product Category (Single)" },
500 ]
501 },
502 {
503 id: "product_type_management",
504 name: "Product Type Management",
505 actions: [
506 { id: "wc_create_product_type", name: "Create Product Type" },
507 { id: "wc_update_product_type", name: "Update Product Type" },
508 { id: "wc_delete_product_type", name: "Delete Product Type" },
509 { id: "wc_get_product_types_all", name: "Get Product Type (All)" },
510 { id: "wc_get_product_type_single", name: "Get Product Type (Single)" },
511 ]
512 },
513 {
514 id: "plugin_management",
515 name: "Plugin Management",
516 actions: [
517 { id: "wp_check_plugin_status", name: "Check Plugin Activation Status" },
518 { id: "wp_activate_plugin", name: "Activate Plugin" },
519 ]
520 },
521 ]
522 },
523 {
524 id: "woocommerce",
525 name: "WooCommerce",
526 isTrigger: true,
527 icon: "WC",
528 iconBg: "bg-purple-600",
529 actions: [
530 {
531 id: "wc_order_created",
532 name: "Order created",
533 fields: [
534 {
535 id: "product_id",
536 name: "Specific Product",
537 type: "select",
538 optionsUrl: "/products",
539 placeholder: "Select a product (optional)"
540 }
541 ]
542 },
543 {
544 id: "wc_order_status_change",
545 name: "Order status change",
546 fields: [
547 {
548 id: "new_status",
549 name: "Only when status changes to",
550 type: "select",
551 options: [
552 { id: "", name: "Any status" },
553 { id: "completed", name: "Completed" },
554 { id: "processing", name: "Processing" },
555 { id: "on-hold", name: "On Hold" },
556 { id: "refunded", name: "Refunded" },
557 { id: "cancelled", name: "Cancelled" },
558 { id: "failed", name: "Failed" },
559 ],
560 placeholder: "Any status (leave empty to trigger on any)"
561 },
562 {
563 id: "product_id",
564 name: "Specific Product",
565 type: "select",
566 optionsUrl: "/products",
567 placeholder: "Select a product (optional)"
568 }
569 ]
570 },
571 {
572 id: "wc_payment_completed",
573 name: "Payment completed",
574 fields: [
575 {
576 id: "product_id",
577 name: "Specific Product",
578 type: "select",
579 optionsUrl: "/products",
580 placeholder: "Select a product (optional)"
581 }
582 ]
583 },
584 { id: "wc_product_added", name: "Product added" },
585 ]
586 },
587 {
588 id: "wpforms",
589 name: "WPForms",
590 isTrigger: true,
591 icon: "F",
592 iconBg: "bg-orange-500",
593 actions: [
594 {
595 id: "wpforms_submit",
596 name: "Form submitted",
597 fields: [
598 {
599 id: "form_id",
600 name: "Specific Form",
601 type: "select",
602 optionsUrl: "/wpforms-forms",
603 placeholder: "All forms (leave empty to trigger on any)"
604 },
605 {
606 id: "specific_fields",
607 name: "Map Specific Fields",
608 type: "text",
609 isPro: true,
610 placeholder: "e.g., your-name, your-email (comma-separated field keys)"
611 }
612 ]
613 },
614 ]
615 },
616 {
617 id: "cf7",
618 name: "Contact Form 7",
619 isTrigger: true,
620 icon: "C7",
621 iconBg: "bg-black",
622 actions: [
623 {
624 id: "cf7_submit",
625 name: "Form submitted",
626 fields: [
627 {
628 id: "form_id",
629 name: "Specific Form",
630 type: "select",
631 optionsUrl: "/cf7-forms",
632 placeholder: "All forms (leave empty to trigger on any)"
633 },
634 {
635 id: "specific_fields",
636 name: "Map Specific Fields",
637 type: "text",
638 isPro: true,
639 placeholder: "e.g., your-name, your-email (comma-separated field keys)"
640 }
641 ]
642 },
643 ]
644 },
645 {
646 id: "mail",
647 name: "Mail",
648 icon: "M",
649 iconBg: "bg-gray-700",
650 actions: [
651 {
652 id: "send_email",
653 name: "Send Email",
654 description: "To send email through your website.Need to configure your site SMTP.",
655 fields: [
656 {
657 id: "from_email",
658 name: "From Email",
659 type: "text",
660 placeholder: "Email address that will be used to send the email."
661 },
662 {
663 id: "from_name",
664 name: "From Name",
665 type: "text",
666 placeholder: "Name that will be used to send the email."
667 },
668 {
669 id: "to_email",
670 name: "To",
671 type: "text",
672 placeholder: "Email address to which the email will be sent. Multiple emails separated by commas."
673 },
674 {
675 id: "cc_email",
676 name: "CC",
677 type: "text",
678 placeholder: "Email address to which a copy will be sent. Multiple emails separated by commas."
679 },
680 {
681 id: "bcc_email",
682 name: "BCC",
683 type: "text",
684 placeholder: "Email address to which a blind copy will be sent. Multiple emails separated by commas."
685 },
686 {
687 id: "reply_to",
688 name: "Reply To",
689 type: "text",
690 placeholder: "Email address to which replies will be sent."
691 },
692 {
693 id: "subject",
694 name: "Subject",
695 type: "text",
696 placeholder: "Subject of the email."
697 },
698 {
699 id: "body",
700 name: "Body",
701 type: "textarea",
702 placeholder: "Content of the email. You can map an HTML field here."
703 },
704 {
705 id: "template_id",
706 name: "Email Template (Optional)",
707 type: "select",
708 optionsUrl: "/email-templates",
709 placeholder: "Select an email template (Overrides body if selected)"
710 },
711 {
712 id: "is_html",
713 name: "Is this email in HTML format?",
714 type: "checkbox",
715 defaultValue: true
716 }
717 ]
718 }
719 ]
720 },
721 {
722 id: "webhook",
723 name: "Webhook",
724 isTrigger: true,
725 icon: "W",
726 iconBg: "bg-violet-600",
727 categories: [
728 {
729 id: "triggers",
730 name: "Triggers",
731 actions: [
732 {
733 id: "incoming_webhook",
734 name: "Incoming Webhook",
735 description: "Starts workflow when an HTTP request is received.",
736 }
737 ]
738 },
739 {
740 id: "actions",
741 name: "Actions",
742 actions: [
743 {
744 id: "outgoing_webhook",
745 name: "Outgoing Webhook",
746 description: "Send data to another URL.",
747 fields: [
748 {
749 id: "url",
750 name: "Request URL",
751 type: "text",
752 placeholder: "https://example.com/api"
753 },
754 {
755 id: "method",
756 name: "Method",
757 type: "select",
758 options: [
759 { id: "GET", name: "GET" },
760 { id: "POST", name: "POST" },
761 { id: "PUT", name: "PUT" },
762 { id: "DELETE", name: "DELETE" }
763 ],
764 defaultValue: "POST"
765 },
766 {
767 id: "headers",
768 name: "Headers",
769 type: "keyvalue",
770 placeholder: "Add Header"
771 },
772 {
773 id: "params",
774 name: "Query Params",
775 type: "keyvalue",
776 placeholder: "Add Param"
777 },
778 {
779 id: "body",
780 name: "Body",
781 type: "textarea",
782 placeholder: "JSON Body (e.g., {\"key\": \"{{token}}\"})"
783 }
784 ]
785 }
786 ]
787 }
788 ]
789 },
790 {
791 id: "facebook",
792 name: "Facebook",
793 icon: "fb",
794 iconBg: "bg-blue-600",
795 credentialConfig: {
796 fields: [
797 { id: "page_access_token", name: "Page Access Token", type: "text", placeholder: "Enter long-lived Page Access Token" }
798 ]
799 },
800 categories: [
801 {
802 id: "triggers",
803 name: "Triggers",
804 actions: [
805 {
806 id: "facebook_lead_ads",
807 name: "Facebook Lead Ads",
808 description: "Starts workflow when a new lead is submitted on Facebook.",
809 fields: [
810 {
811 id: "hub_verify_token",
812 name: "Verify Token",
813 type: "text",
814 placeholder: "Custom verification token for webhook"
815 },
816 {
817 id: "page_access_token",
818 name: "Page Access Token",
819 type: "text",
820 placeholder: "Enter Facebook Page Access Token (Legacy)"
821 }
822 ]
823 }
824 ]
825 },
826 {
827 id: "actions",
828 name: "Actions",
829 actions: [
830 {
831 id: "fb_create_post",
832 name: "Create a Page Post",
833 description: "Publish a new post to your Facebook Page directly.",
834 fields: [
835 { id: "credential", name: "Credential", type: "credential" },
836 { id: "page_id", name: "Page ID", type: "text", placeholder: "Enter your Facebook Page ID" },
837 { id: "message", name: "Message", type: "textarea", placeholder: "What's on your mind? Use {post_content} to send post body, {post_title} for title, {post_url} for link." },
838 { id: "link", name: "Link URL (Optional)", type: "text", placeholder: "https://example.com" }
839 ]
840 }
841 ]
842 }
843 ]
844 },
845 {
846 id: "api",
847 name: "API",
848 icon: "A",
849 iconBg: "bg-slate-700",
850 actions: [
851 {
852 id: "api_request",
853 name: "API Request",
854 description: "Make an HTTP request to an external API.",
855 fields: [
856 {
857 id: "url",
858 name: "API URL",
859 type: "text",
860 placeholder: "https://api.example.com/data"
861 },
862 {
863 id: "method",
864 name: "Method",
865 type: "select",
866 options: [
867 { id: "GET", name: "GET" },
868 { id: "POST", name: "POST" },
869 { id: "PUT", name: "PUT" },
870 { id: "DELETE", name: "DELETE" }
871 ],
872 defaultValue: "GET"
873 },
874 {
875 id: "headers",
876 name: "Headers",
877 type: "keyvalue",
878 placeholder: "Add Header"
879 },
880 {
881 id: "params",
882 name: "Query Params",
883 type: "keyvalue",
884 placeholder: "Add Param"
885 },
886 {
887 id: "body",
888 name: "Body",
889 type: "textarea",
890 placeholder: "Request Body (JSON, text, etc.)"
891 }
892 ]
893 }
894 ]
895 },
896 {
897 id: "mailboxlayer",
898 name: "MailboxLayer",
899 icon: "ML",
900 iconBg: "bg-blue-600",
901 actions: [
902 {
903 id: "validate_email",
904 name: "Validate Email Address",
905 description: "Check if an email address exists and is deliverable using MailboxLayer.",
906 fields: [
907 {
908 id: "api_key",
909 name: "API Access Key",
910 type: "text",
911 placeholder: "Enter MailboxLayer API Access Key"
912 },
913 {
914 id: "email",
915 name: "Email to Validate",
916 type: "text",
917 placeholder: "Select or enter the dynamic {{email}} variable"
918 }
919 ]
920 },
921 {
922 id: "test_connection",
923 name: "Test Connection",
924 description: "Verify your API key is valid.",
925 fields: [
926 {
927 id: "api_key",
928 name: "API Access Key",
929 type: "text",
930 placeholder: "Enter MailboxLayer API Access Key"
931 }
932 ]
933 }
934 ]
935 },
936 {
937 id: "fluentcrm",
938 name: "FluentCRM",
939 icon: "FC",
940 iconBg: "bg-blue-700",
941 actions: [
942 {
943 id: "create_contact",
944 name: "Create/Update Contact",
945 description: "Add a new contact or update an existing one in FluentCRM.",
946 fields: [
947 {
948 id: "email",
949 name: "Email Address",
950 type: "text",
951 placeholder: "e.g., {{fields.your-email}} or {email}"
952 },
953 {
954 id: "first_name",
955 name: "First Name",
956 type: "text",
957 placeholder: "e.g., {{fields.your-name}} or {first_name}"
958 },
959 {
960 id: "last_name",
961 name: "Last Name",
962 type: "text",
963 placeholder: "e.g., {last_name}"
964 },
965 {
966 id: "status",
967 name: "Status",
968 type: "select",
969 options: [
970 { id: "subscribed", name: "Subscribed" },
971 { id: "pending", name: "Pending" },
972 { id: "unsubscribed", name: "Unsubscribed" },
973 ],
974 defaultValue: "subscribed"
975 }
976 ]
977 }
978 ]
979 },
980 {
981 id: "openai",
982 name: "OpenAI",
983 icon: "OA",
984 iconBg: "bg-emerald-600",
985 actions: [
986 {
987 id: "chat_completion",
988 name: "Chat Completion",
989 description: "Generate text using OpenAI models.",
990 fields: [
991 { id: "api_key", name: "API Key", type: "text", placeholder: "sk-..." },
992 {
993 id: "model",
994 name: "Model",
995 type: "select",
996 options: [
997 { id: "gpt-3.5-turbo", name: "GPT-3.5 Turbo" },
998 { id: "gpt-4", name: "GPT-4" },
999 { id: "gpt-4o", name: "GPT-4o" },
1000 ],
1001 defaultValue: "gpt-3.5-turbo"
1002 },
1003 {
1004 id: "prv_retrn_resp", name: "Preview Response in Logs", type: "checkbox", defaultValue: true
1005 },
1006 { id: "prompt", name: "Prompt", type: "textarea", placeholder: "Enter your prompt here" },
1007 { id: "max_tokens", name: "Max Tokens", type: "number", defaultValue: 1000 },
1008 { id: "temperature", name: "Temperature", type: "number", defaultValue: 0.7 }
1009 ]
1010 },
1011 {
1012 id: "test_connection",
1013 name: "Test Connection",
1014 description: "Verify your API key is valid.",
1015 fields: [
1016 { id: "api_key", name: "API Key", type: "text", placeholder: "sk-..." }
1017 ]
1018 }
1019 ]
1020 },
1021 {
1022 id: "claude",
1023 name: "Claude",
1024 icon: "CL",
1025 iconBg: "bg-amber-700",
1026 actions: [
1027 {
1028 id: "chat_completion",
1029 name: "Chat Completion",
1030 description: "Generate text using Anthropic Claude models.",
1031 fields: [
1032 { id: "api_key", name: "API Key", type: "text", placeholder: "sk-ant-..." },
1033 {
1034 id: "model",
1035 name: "Model",
1036 type: "select",
1037 options: [
1038 { id: "claude-3-5-sonnet-20240620", name: "Claude 3.5 Sonnet" },
1039 { id: "claude-3-opus-20240229", name: "Claude 3 Opus" },
1040 { id: "claude-3-haiku-20240307", name: "Claude 3 Haiku" },
1041 ],
1042 defaultValue: "claude-3-5-sonnet-20240620"
1043 },
1044 { id: "prompt", name: "Prompt", type: "textarea", placeholder: "Enter your prompt here" },
1045 { id: "max_tokens", name: "Max Tokens", type: "number", defaultValue: 1000 },
1046 { id: "temperature", name: "Temperature", type: "number", defaultValue: 0.7 }
1047 ]
1048 },
1049 {
1050 id: "test_connection",
1051 name: "Test Connection",
1052 description: "Verify your API key is valid.",
1053 fields: [
1054 { id: "api_key", name: "API Key", type: "text", placeholder: "sk-ant-..." }
1055 ]
1056 }
1057 ]
1058 },
1059 {
1060 id: "gemini",
1061 name: "Gemini",
1062 icon: "GE",
1063 iconBg: "bg-blue-500",
1064 actions: [
1065 {
1066 id: "chat_completion",
1067 name: "Chat Completion",
1068 description: "Generate text using Google Gemini models.",
1069 fields: [
1070 { id: "api_key", name: "API Key", type: "text", placeholder: "AIza..." },
1071 {
1072 id: "model",
1073 name: "Model",
1074 type: "select",
1075 options: [
1076 { id: "gemini-1.5-flash", name: "Gemini 1.5 Flash" },
1077 { id: "gemini-1.5-pro", name: "Gemini 1.5 Pro" },
1078 { id: "gemini-1.5-flash-8b", name: "Gemini 1.5 Flash-8B" },
1079 { id: "gemini-2.0-flash", name: "Gemini 2.0 Flash" },
1080 ],
1081 defaultValue: "gemini-1.5-flash"
1082 },
1083 {
1084 id: "prv_retrn_resp", name: "Preview Response in Logs ( put the '$response' variable to use the Preview Response )", type: "checkbox", defaultValue: true
1085 },
1086 { id: "prompt", name: "Prompt", type: "textarea", placeholder: "Enter your prompt here" },
1087 { id: "temperature", name: "Temperature", type: "number", defaultValue: 0.7 }
1088 ]
1089 },
1090 {
1091 id: "test_connection",
1092 name: "Test Connection",
1093 description: "Verify your API key is valid.",
1094 fields: [
1095 { id: "api_key", name: "API Key", type: "text", placeholder: "AIza..." }
1096 ]
1097 }
1098 ]
1099 },
1100 {
1101 id: "mistral",
1102 name: "Mistral AI",
1103 icon: "MI",
1104 iconBg: "bg-orange-600",
1105 actions: [
1106 {
1107 id: "chat_completion",
1108 name: "Chat Completion",
1109 description: "Generate text using Mistral AI models.",
1110 fields: [
1111 { id: "api_key", name: "API Key", type: "text", placeholder: "Enter Mistral API Key" },
1112 {
1113 id: "model",
1114 name: "Model",
1115 type: "select",
1116 options: [
1117 { id: "mistral-tiny", name: "Mistral Tiny" },
1118 { id: "mistral-small", name: "Mistral Small" },
1119 { id: "mistral-medium", name: "Mistral Medium" },
1120 { id: "mistral-large-latest", name: "Mistral Large" },
1121 ],
1122 defaultValue: "mistral-tiny"
1123 },
1124 { id: "prompt", name: "Prompt", type: "textarea", placeholder: "Enter your prompt here" },
1125 { id: "max_tokens", name: "Max Tokens", type: "number", defaultValue: 1000 },
1126 { id: "temperature", name: "Temperature", type: "number", defaultValue: 0.7 }
1127 ]
1128 },
1129 {
1130 id: "test_connection",
1131 name: "Test Connection",
1132 description: "Verify your API key is valid.",
1133 fields: [
1134 { id: "api_key", name: "API Key", type: "text", placeholder: "Enter Mistral API Key" }
1135 ]
1136 }
1137 ]
1138 },
1139 // {
1140 // id: "groq",
1141 // name: "Groq AI",
1142 // icon: "GR",
1143 // iconBg: "bg-red-500",
1144 // actions: [
1145 // {
1146 // id: "chat_completion",
1147 // name: "Chat Completion",
1148 // description: "Generate text using Groq AI models.",
1149 // fields: [
1150 // { id: "api_key", name: "API Key", type: "text", placeholder: "gsk_..." },
1151 // {
1152 // id: "model",
1153 // name: "Model",
1154 // type: "select",
1155 // options: [
1156 // { id: "llama3-8b-8192", name: "Llama 3 8B" },
1157 // { id: "llama3-70b-8192", name: "Llama 3 70B" },
1158 // { id: "mixtral-8x7b-32768", name: "Mixtral 8x7B" },
1159 // { id: "gemma-7b-it", name: "Gemma 7B" },
1160 // ],
1161 // defaultValue: "llama3-8b-8192"
1162 // },
1163 // { id: "prompt", name: "Prompt", type: "textarea", placeholder: "Enter your prompt here" },
1164 // { id: "max_tokens", name: "Max Tokens", type: "number", defaultValue: 1000 },
1165 // { id: "temperature", name: "Temperature", type: "number", defaultValue: 0.7 }
1166 // ]
1167 // },
1168 // {
1169 // id: "test_connection",
1170 // name: "Test Connection",
1171 // description: "Verify your API key is valid.",
1172 // fields: [
1173 // { id: "api_key", name: "API Key", type: "text", placeholder: "gsk_..." }
1174 // ]
1175 // }
1176 // ]
1177 // },
1178 {
1179 id: "grok",
1180 name: "Grok AI",
1181 icon: "GK",
1182 iconBg: "bg-slate-900",
1183 actions: [
1184 {
1185 id: "chat_completion",
1186 name: "Chat Completion",
1187 description: "Generate text using xAI Grok models.",
1188 fields: [
1189 { id: "api_key", name: "API Key", type: "text", placeholder: "xai-..." },
1190 {
1191 id: "model",
1192 name: "Model",
1193 type: "select",
1194 options: [
1195 { id: "grok-2-1212", name: "Grok-2" },
1196 { id: "grok-2-latest", name: "Grok-2 (Latest)" },
1197 { id: "grok-beta", name: "Grok Beta" },
1198 ],
1199 defaultValue: "grok-2-1212"
1200 },
1201 { id: "prompt", name: "Prompt", type: "textarea", placeholder: "Enter your prompt here" },
1202 { id: "max_tokens", name: "Max Tokens", type: "number", defaultValue: 1000 },
1203 { id: "temperature", name: "Temperature", type: "number", defaultValue: 0.7 }
1204 ]
1205 },
1206 {
1207 id: "test_connection",
1208 name: "Test Connection",
1209 description: "Verify your xAI API key is valid.",
1210 fields: [
1211 { id: "api_key", name: "API Key", type: "text", placeholder: "xai-..." }
1212 ]
1213 }
1214 ]
1215 },
1216 {
1217 id: "openrouter",
1218 name: "OpenRouter",
1219 icon: "OR",
1220 iconBg: "bg-indigo-600",
1221 actions: [
1222 {
1223 id: "chat_completion",
1224 name: "Chat Completion",
1225 description: "Generate text using OpenRouter models.",
1226 fields: [
1227 { id: "api_key", name: "API Key", type: "text", placeholder: "sk-or-..." },
1228 {
1229 id: "model",
1230 name: "Model",
1231 type: "text",
1232 placeholder: "e.g., openai/gpt-3.5-turbo",
1233 defaultValue: "openai/gpt-3.5-turbo"
1234 },
1235 { id: "prompt", name: "Prompt", type: "textarea", placeholder: "Enter your prompt here" },
1236 { id: "max_tokens", name: "Max Tokens", type: "number", defaultValue: 1000 },
1237 { id: "temperature", name: "Temperature", type: "number", defaultValue: 0.7 }
1238 ]
1239 },
1240 {
1241 id: "test_connection",
1242 name: "Test Connection",
1243 description: "Verify your API key is valid.",
1244 fields: [
1245 { id: "api_key", name: "API Key", type: "text", placeholder: "sk-or-..." }
1246 ]
1247 }
1248 ]
1249 },
1250 {
1251 id: "fluentcrm",
1252 name: "FluentCRM",
1253 icon: "FC",
1254 iconBg: "bg-blue-600",
1255 actions: [
1256 {
1257 id: "test_connection1",
1258 name: "Test Connection",
1259 description: "Verify your API key is valid.",
1260 fields: [
1261 { id: "api_key", name: "API Key", type: "text", placeholder: "sk-or-..." },
1262 {
1263 id: "model",
1264 name: "Model",
1265 type: "text",
1266 placeholder: "e.g., openai/gpt-3.5-turbo",
1267 defaultValue: "openai/gpt-3.5-turbo"
1268 },
1269 { id: "prompt", name: "Prompt", type: "textarea", placeholder: "Enter your prompt here" },
1270 { id: "max_tokens", name: "Max Tokens", type: "number", defaultValue: 1000 },
1271 { id: "temperature", name: "Temperature", type: "number", defaultValue: 0.7 }
1272 ]
1273 },
1274 {
1275 id: "test_connection",
1276 name: "Test Connection",
1277 description: "Verify your API key is valid.",
1278 fields: [
1279 { id: "api_key", name: "API Key", type: "text", placeholder: "sk-or-..." }
1280 ]
1281 }
1282 ]
1283 },
1284 {
1285 id: "google_sheets",
1286 name: "Google Sheets",
1287 icon: "GS",
1288 iconBg: "bg-green-600",
1289 actions: [
1290 {
1291 id: "gs_add_row",
1292 name: "Add Row (Save Form Data)",
1293 description: "Append a new row of data to a spreadsheet.",
1294 fields: [
1295 {
1296 id: "service_account_json",
1297 name: "Service Account JSON",
1298 type: "textarea",
1299 placeholder: 'Paste the entire contents of your Google Service Account JSON key file here',
1300 },
1301 {
1302 id: "spreadsheet_id",
1303 name: "Spreadsheet ID",
1304 type: "text",
1305 placeholder: "e.g., 1BxiMVs0XRYFgPNmi...",
1306 description: "The long random string in the middle of your Google Sheet URL"
1307 },
1308 {
1309 id: "sheet_name",
1310 name: "Sheet Name",
1311 type: "text",
1312 placeholder: "e.g., Sheet1 or tab name (Leave empty for Sheet1)"
1313 },
1314 {
1315 id: "row_data",
1316 name: "Row Data (Optional)",
1317 type: "textarea",
1318 placeholder: "Leave empty to automatically add all form fields as columns.",
1319 description: "Provide the values for each column. Separate with commas or new lines. If left empty, all submitted form fields will be added automatically."
1320 }
1321 ]
1322 },
1323 {
1324 id: "gs_update_row",
1325 name: "Update Row",
1326 description: "Update an existing row in your spreadsheet by row number.",
1327 fields: [
1328 {
1329 id: "service_account_json",
1330 name: "Service Account JSON",
1331 type: "textarea",
1332 placeholder: 'Paste the entire contents of your Google Service Account JSON key file here',
1333 },
1334 {
1335 id: "spreadsheet_id",
1336 name: "Spreadsheet ID",
1337 type: "text",
1338 placeholder: "e.g., 1BxiMVs0XRYFgPNmi..."
1339 },
1340 {
1341 id: "sheet_name",
1342 name: "Sheet Name",
1343 type: "text",
1344 placeholder: "e.g., Sheet1"
1345 },
1346 {
1347 id: "row_number",
1348 name: "Row Number",
1349 type: "number",
1350 placeholder: "e.g., 2"
1351 },
1352 {
1353 id: "row_data",
1354 name: "Row Data",
1355 type: "textarea",
1356 placeholder: "Enter updated values on a new line or separated by commas.",
1357 description: "New values for this row. Use commas or new lines to separate columns."
1358 }
1359 ]
1360 },
1361 {
1362 id: "gs_clear_range",
1363 name: "Clear Range",
1364 description: "Clear data from a specific range.",
1365 fields: [
1366 {
1367 id: "service_account_json",
1368 name: "Service Account JSON",
1369 type: "textarea",
1370 placeholder: 'Paste the entire contents of your Service Account JSON key',
1371 },
1372 {
1373 id: "spreadsheet_id",
1374 name: "Spreadsheet ID",
1375 type: "text",
1376 placeholder: "e.g., 1BxiMVs0XRYFgPNmi..."
1377 },
1378 {
1379 id: "range",
1380 name: "Range to Clear",
1381 type: "text",
1382 placeholder: "e.g., Sheet1!A2:E10"
1383 }
1384 ]
1385 },
1386 {
1387 id: "gs_get_values",
1388 name: "Get Values (Read Data)",
1389 description: "Read values from a specific range.",
1390 fields: [
1391 {
1392 id: "service_account_json",
1393 name: "Service Account JSON",
1394 type: "textarea",
1395 placeholder: 'Paste the entire contents of your Service Account JSON key',
1396 },
1397 {
1398 id: "spreadsheet_id",
1399 name: "Spreadsheet ID",
1400 type: "text",
1401 placeholder: "e.g., 1BxiMVs0XRYFgPNmi..."
1402 },
1403 {
1404 id: "range",
1405 name: "Range to Read",
1406 type: "text",
1407 placeholder: "e.g., Sheet1!A2:C5"
1408 }
1409 ]
1410 }
1411 ]
1412 },
1413 {
1414 id: "iterator",
1415 name: "Iterator",
1416 icon: "↻",
1417 iconBg: "bg-amber-500",
1418 actions: [
1419 {
1420 id: "iterator_loop",
1421 name: "Loop (Iterator)",
1422 description: "Loop through each item in an array (e.g., order items). Connect to Iterator End to close the loop.",
1423 fields: [
1424 {
1425 id: "array_key",
1426 name: "Array Key",
1427 type: "text",
1428 placeholder: "e.g., items — the trigger data key holding the array to loop over"
1429 }
1430 ]
1431 }
1432 ]
1433 },
1434 {
1435 id: "iterator_end",
1436 name: "Iterator End",
1437 icon: "⏹",
1438 iconBg: "bg-amber-700",
1439 actions: [
1440 {
1441 id: "iterator_end",
1442 name: "Loop End",
1443 description: "Marks the end of an Iterator loop. Actions after this will run once, after all items have been processed."
1444 }
1445 ]
1446 },
1447 {
1448 id: "telegram",
1449 name: "Telegram",
1450 icon: "Tg",
1451 iconBg: "bg-blue-500",
1452 credentialConfig: {
1453 fields: [
1454 { id: "bot_token", name: "Bot Token", type: "text", placeholder: "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" }
1455 ]
1456 },
1457 actions: [
1458 {
1459 id: "tg_send_message",
1460 name: "Send a text message",
1461 description: "Send a text message via Telegram Bot API.",
1462 fields: [
1463 { id: "credential", name: "Credential", type: "credential" },
1464 { id: "chat_id", name: "Chat ID", type: "text", placeholder: "e.g., -1001234567890 or @channelname" },
1465 { id: "text", name: "Text", type: "textarea", placeholder: "Enter message text here" }
1466 ]
1467 }
1468 ]
1469 },
1470 {
1471 id: "whatsapp",
1472 name: "WhatsApp",
1473 icon: "WA",
1474 iconBg: "bg-green-500",
1475 credentialConfig: {
1476 fields: [
1477 { id: "access_token", name: "Access Token", type: "textarea", placeholder: "Your Meta/WhatsApp Business access token" }
1478 ]
1479 },
1480 actions: [
1481 {
1482 id: "wa_send_message",
1483 name: "Send Message",
1484 isPro: true,
1485 description: "Send a text message via the WhatsApp Cloud API (Meta).",
1486 fields: [
1487 { id: "credential", name: "Credential", type: "credential" },
1488 { id: "phone_number_id", name: "Sender Phone Number ID", type: "text", placeholder: "WhatsApp business phone number ID" },
1489 { id: "to", name: "Recipient Phone", type: "text", placeholder: "e.g., {billing_phone} or 601234567890 (country code, no +)" },
1490 { id: "message", name: "Text Body", type: "textarea", placeholder: "Hello {billing_name}, your order #{order_id} has been received." }
1491 ]
1492 },
1493 {
1494 id: "wa_send_template",
1495 name: "Send Template Message",
1496 isPro: true,
1497 description: "Send a pre-approved WhatsApp template message.",
1498 fields: [
1499 { id: "credential", name: "Credential", type: "credential" },
1500 { id: "phone_number_id", name: "Sender Phone Number ID", type: "text", placeholder: "WhatsApp business phone number ID" },
1501 { id: "to", name: "Recipient Phone", type: "text", placeholder: "e.g., {billing_phone} or 601234567890" },
1502 { id: "template_name", name: "Template Name", type: "text", placeholder: "e.g., order_confirmation" },
1503 { id: "language_code", name: "Language Code", type: "text", placeholder: "e.g., en_US" },
1504 { id: "body_parameters", name: "Body Parameters", type: "textarea", placeholder: "One value per line" }
1505 ]
1506 }
1507 ]
1508 },
1509 {
1510 id: "instagram",
1511 name: "Instagram",
1512 icon: "Ig",
1513 iconBg: "bg-pink-500",
1514 credentialConfig: {
1515 fields: [
1516 { id: "access_token", name: "Access Token", type: "textarea", placeholder: "Your Instagram/Facebook Graph API access token" }
1517 ]
1518 },
1519 actions: [
1520 {
1521 id: "ig_publish_photo",
1522 name: "Publish Photo",
1523 isPro: true,
1524 description: "Publish a photo to an Instagram Business account.",
1525 fields: [
1526 { id: "credential", name: "Credential", type: "credential" },
1527 { id: "ig_account_id", name: "Instagram Account ID", type: "text", placeholder: "17841400000000000" },
1528 { id: "image_url", name: "Image URL", type: "text", placeholder: "https://example.com/image.jpg OR Use {featured_image_url} for post thumbnail or enter a direct URL" },
1529 { id: "caption", name: "Caption", type: "textarea", placeholder: "Check out this awesome photo! OR Use {post_content} for post body, {post_title} for title, {post_url} for link" }
1530 ]
1531 }
1532 ]
1533 },
1534 {
1535 id: "linkedin",
1536 name: "LinkedIn",
1537 icon: "In",
1538 iconBg: "bg-sky-600",
1539 credentialConfig: {
1540 fields: [
1541 { id: "access_token", name: "Access Token", type: "textarea", placeholder: "Your LinkedIn developer token" }
1542 ]
1543 },
1544 actions: [
1545 {
1546 id: "li_create_post",
1547 name: "Create Text Post",
1548 isPro: true,
1549 description: "Create a simple text post on a LinkedIn profile or organization page.",
1550 fields: [
1551 { id: "credential", name: "Credential", type: "credential" },
1552 { id: "author", name: "Author URN", type: "text", placeholder: "urn:li:person:1234567 or urn:li:organization:1234567" },
1553 { id: "text", name: "Message", type: "textarea", placeholder: "Excited to share this new update!..." }
1554 ]
1555 }
1556 ]
1557 },
1558 {
1559 id: "data_trsformer",
1560 name: "Data Transformer",
1561 icon: "DT",
1562 iconBg: "bg-purple-500",
1563 description: "Perform common data transformations like encoding, hashing, and stripping HTML tags.",
1564 actions: [
1565 {
1566 id: "data_transformer",
1567 name: "Data Transformer",
1568 fields: [
1569 { id: "Action", name: "Action", type: "select", options: [
1570 { id: "html_encode", name: "HTML Encode" },
1571 { id: "html_decode", name: "HTML Decode" },
1572 { id: "base64_encode", name: "Base64 Encode" },
1573 { id: "base64_decode", name: "Base64 Decode" },
1574 { id: "sha256", name: "SHA256 Hash" },
1575 { id: "sha1", name: "SHA1 Hash" },
1576 { id: "sha512", name: "SHA512 Hash" },
1577 { id: "hmac_sha256", name: "HMAC SHA256 (requires secret key)" },
1578 { id: "md5", name: "MD5 Hash" },
1579 { id: "strip_tags", name: "Strip HTML Tags" }
1580 ], defaultValue: "html_encode" },
1581 { id: "input", name: "Input value", type: "textarea", placeholder: "Enter the data you want to transform. You can use dynamic variables here." },
1582 { id: "secret_key", name: "Secret Key (for HMAC SHA256)", type: "text", placeholder: "Enter secret key for HMAC SHA256", dependsOn: { field: "Action", value: "hmac_sha256" } }
1583 ]
1584 }]
1585
1586 },
1587 {
1588 id: "text_formatter",
1589 name: "Text Formatter",
1590 icon: "T",
1591 iconBg: "bg-teal-600",
1592 actions: [
1593 {
1594 id: "extract_pattern",
1595 name: "Extract Pattern",
1596 description: "Provide regular expression to extract string/text",
1597 fields: [
1598 { id: "text", name: "Text", type: "textarea", placeholder: "Input text" },
1599 { id: "pattern", name: "Pattern (Regex)", type: "text", placeholder: "/(pattern)/i" }
1600 ]
1601 },
1602 {
1603 id: "find_text",
1604 name: "Find in Text",
1605 description: "Search text in the given content",
1606 fields: [
1607 { id: "text", name: "Text", type: "textarea", placeholder: "Input text" },
1608 { id: "search", name: "Search For", type: "text", placeholder: "Text to find" }
1609 ]
1610 },
1611 {
1612 id: "replace_text",
1613 name: "Replace Text",
1614 description: "Search and replace text in the given content",
1615 fields: [
1616 { id: "text", name: "Text", type: "textarea", placeholder: "Input text" },
1617 { id: "search", name: "Search For", type: "text", placeholder: "Text to find" },
1618 { id: "replace", name: "Replace With", type: "text", placeholder: "Replacement text" }
1619 ]
1620 },
1621 {
1622 id: "split_text",
1623 name: "Split Text",
1624 description: "Split the text on a character or word and return a segment",
1625 fields: [
1626 { id: "text", name: "Text", type: "textarea", placeholder: "Input text" },
1627 { id: "delimiter", name: "Separator", type: "text", placeholder: "," },
1628 { id: "segment_index", name: "Segment Index", type: "number", placeholder: "0 for first, -1 for last", defaultValue: 0 }
1629 ]
1630 },
1631 {
1632 id: "default_value",
1633 name: "Default Value",
1634 description: "Return a default value if the text is empty",
1635 fields: [
1636 { id: "text", name: "Text", type: "textarea", placeholder: "Input text" },
1637 { id: "default", name: "Default Value", type: "text", placeholder: "Fallback text" }
1638 ]
1639 },
1640 {
1641 id: "truncate",
1642 name: "Truncate",
1643 description: "Limit your text to a specific character length, and delete anything over that",
1644 fields: [
1645 { id: "text", name: "Text", type: "textarea", placeholder: "Input text" },
1646 { id: "length", name: "Max Length", type: "number", placeholder: "100" },
1647 { id: "suffix", name: "Suffix", type: "text", placeholder: "...", defaultValue: "..." }
1648 ]
1649 },
1650 {
1651 id: "url_encode",
1652 name: "URL Encode",
1653 description: "Encodes text for use in URLs",
1654 fields: [
1655 { id: "text", name: "Text", type: "textarea", placeholder: "Input text" }
1656 ]
1657 },
1658 {
1659 id: "url_decode",
1660 name: "URL Decode",
1661 description: "Decodes text from URL string",
1662 fields: [
1663 { id: "text", name: "Text", type: "textarea", placeholder: "Input text" }
1664 ]
1665 },
1666 {
1667 id: "join_lines",
1668 name: "Join Lines",
1669 description: "Join multiline text into a single line with a chosen separator",
1670 fields: [
1671 { id: "text", name: "Text", type: "textarea", placeholder: "Input text" },
1672 { id: "separator", name: "Separator", type: "text", placeholder: ", ", defaultValue: ", " }
1673 ]
1674 },
1675 {
1676 id: "html_to_markdown",
1677 name: "HTML to Markdown",
1678 description: "Convert HTML content to Markdown format",
1679 fields: [
1680 { id: "text", name: "HTML Text", type: "textarea", placeholder: "<p>Hello</p>" },
1681 { id: "save_media", name: "Save Media to Media Library?", type: "checkbox", defaultValue: false }
1682 ]
1683 },
1684 {
1685 id: "markdown_to_html",
1686 name: "Markdown to HTML",
1687 description: "Convert Markdown text to HTML",
1688 fields: [
1689 { id: "text", name: "Markdown Text", type: "textarea", placeholder: "# Hello" }
1690 ]
1691 },
1692 {
1693 id: "generate_slug",
1694 name: "Generate Slug",
1695 description: "Convert text to a URL-friendly slug",
1696 fields: [
1697 { id: "text", name: "Text", type: "textarea", placeholder: "Input text" }
1698 ]
1699 }
1700 ]
1701 },
1702 {
1703 id: "xml_parser",
1704 name: "XML Parser",
1705 icon: "XML",
1706 iconBg: "bg-amber-600",
1707 actions: [
1708 {
1709 id: "parse_xml_file",
1710 name: "Parse XML File",
1711 description: "Fetch and parse an XML file URL into JSON data.",
1712 fields: [
1713 {
1714 id: "xml_url",
1715 name: "XML File URL",
1716 type: "text",
1717 placeholder: "https://example.com/data.xml"
1718 }
1719 ]
1720 }
1721 ]
1722 },
1723 {
1724 id: "email_parser",
1725 name: "Email Parser",
1726 icon: "EP",
1727 iconBg: "bg-indigo-500",
1728 actions: [
1729 {
1730 id: "parse_email_content",
1731 name: "Parse Email Content",
1732 isPro: true,
1733 description: "Parse raw email text to extract emails and URLs.",
1734 fields: [
1735 {
1736 id: "email_content",
1737 name: "Email Content",
1738 type: "textarea",
1739 placeholder: "Pass the raw email content here"
1740 }
1741 ]
1742 },
1743 {
1744 id: "fetch_emails_imap",
1745 name: "Fetch Emails (IMAP)",
1746 isPro: true,
1747 description: "Fetch emails from an IMAP server.",
1748 fields: [
1749 { id: "host", name: "IMAP Host", type: "text", placeholder: "imap.gmail.com" },
1750 { id: "port", name: "Port", type: "number", placeholder: "993", defaultValue: 993 },
1751 {
1752 id: "encryption",
1753 name: "Encryption",
1754 type: "select",
1755 options: [
1756 { id: "/imap/ssl", name: "SSL" },
1757 { id: "/imap/tls", name: "TLS" },
1758 { id: "/imap", name: "None" }
1759 ],
1760 defaultValue: "/imap/ssl"
1761 },
1762 { id: "username", name: "Username", type: "text", placeholder: "[email protected]" },
1763 { id: "password", name: "Password", type: "password", placeholder: "Your password or app password" },
1764 { id: "folder", name: "Folder", type: "text", placeholder: "INBOX", defaultValue: "INBOX" },
1765 { id: "search", name: "Search Criteria", type: "text", placeholder: "UNSEEN", defaultValue: "UNSEEN" },
1766 { id: "limit", name: "Limit", type: "number", placeholder: "5", defaultValue: 5 }
1767 ]
1768 }
1769 ]
1770 },
1771 {
1772 id: "curl_importer",
1773 name: "cURL Importer",
1774 icon: ">_",
1775 iconBg: "bg-slate-800",
1776 actions: [
1777 {
1778 id: "execute_curl",
1779 name: "Execute cURL Command",
1780 isPro: true,
1781 description: "Parse and execute a raw cURL command and return the JSON response.",
1782 fields: [
1783 {
1784 id: "curl_command",
1785 name: "cURL Command",
1786 type: "textarea",
1787 placeholder: "curl -X POST https://api.example.com -H 'Content-Type: application/json' -d '{\"key\":\"value\"}'"
1788 }
1789 ]
1790 }
1791 ]
1792 },
1793 {
1794 id: "json_parser",
1795 name: "JSON Parser",
1796 icon: "{}",
1797 iconBg: "bg-yellow-600",
1798 actions: [
1799 {
1800 id: "parse_json_url",
1801 name: "Parse JSON from URL",
1802 isPro: true,
1803 description: "Fetch and parse a JSON file from a URL into structured data.",
1804 fields: [
1805 {
1806 id: "json_url",
1807 name: "JSON File URL",
1808 type: "text",
1809 placeholder: "https://example.com/data.json"
1810 }
1811 ]
1812 },
1813 {
1814 id: "parse_json_text",
1815 name: "Parse JSON Text",
1816 isPro: true,
1817 description: "Parse raw JSON text into structured data.",
1818 fields: [
1819 {
1820 id: "json_text",
1821 name: "JSON Text",
1822 type: "textarea",
1823 placeholder: "{\"key\":\"value\"}"
1824 }
1825 ]
1826 }
1827 ]
1828 },
1829 {
1830 id: "webpage_parser",
1831 name: "Webpage Parser",
1832 icon: "🌐",
1833 iconBg: "bg-teal-500",
1834 actions: [
1835 {
1836 id: "parse_webpage_url",
1837 name: "Parse Webpage URL",
1838 isPro: true,
1839 description: "Fetch a URL and parse its title, description, and raw text content.",
1840 fields: [
1841 {
1842 id: "webpage_url",
1843 name: "Webpage URL",
1844 type: "text",
1845 placeholder: "https://example.com"
1846 }
1847 ]
1848 }
1849 ]
1850 },
1851 {
1852 id: "csv_parser",
1853 name: "CSV Parser",
1854 icon: "CSV",
1855 iconBg: "bg-green-700",
1856 actions: [
1857 {
1858 id: "parse_csv_url",
1859 name: "Parse CSV from URL",
1860 isPro: true,
1861 description: "Fetch and parse a CSV file from a URL into structured row data.",
1862 fields: [
1863 {
1864 id: "csv_url",
1865 name: "CSV File URL",
1866 type: "text",
1867 placeholder: "https://example.com/data.csv"
1868 },
1869 {
1870 id: "delimiter",
1871 name: "Delimiter",
1872 type: "text",
1873 placeholder: "e.g. , or ; or \\t",
1874 defaultValue: ","
1875 },
1876 {
1877 id: "has_header",
1878 name: "First row is header?",
1879 type: "checkbox",
1880 defaultValue: true
1881 },
1882 {
1883 id: "row_limit",
1884 name: "Row Limit (0 = unlimited)",
1885 type: "number",
1886 placeholder: "0",
1887 defaultValue: 0
1888 }
1889 ]
1890 },
1891 {
1892 id: "parse_csv_text",
1893 name: "Parse CSV Text",
1894 isPro: true,
1895 description: "Parse raw CSV text (e.g. from a previous action) into structured row data.",
1896 fields: [
1897 {
1898 id: "csv_text",
1899 name: "CSV Text",
1900 type: "textarea",
1901 placeholder: "name,email,phone\nJohn,[email protected],123456"
1902 },
1903 {
1904 id: "delimiter",
1905 name: "Delimiter",
1906 type: "text",
1907 placeholder: "e.g. , or ; or \\t",
1908 defaultValue: ","
1909 },
1910 {
1911 id: "has_header",
1912 name: "First row is header?",
1913 type: "checkbox",
1914 defaultValue: true
1915 },
1916 {
1917 id: "row_limit",
1918 name: "Row Limit (0 = unlimited)",
1919 type: "number",
1920 placeholder: "0",
1921 defaultValue: 0
1922 }
1923 ]
1924 }
1925 ]
1926 },
1927 {
1928 id: "unit_converter",
1929 name: "Unit Converter",
1930 icon: "U",
1931 iconBg: "bg-indigo-500",
1932 actions: [
1933 {
1934 id: "length_conversion",
1935 name: "Length Conversion",
1936 description: "Convert between meters, feet, inches, kilometers, miles, yards, centimeters, millimeters, etc.",
1937 fields: [
1938 { id: "value", name: "Value", type: "text", placeholder: "e.g., 10 or {{token}}" },
1939 {
1940 id: "from",
1941 name: "From Unit",
1942 type: "select",
1943 options: [
1944 { id: "mm", name: "Millimeter" },
1945 { id: "cm", name: "Centimeter" },
1946 { id: "m", name: "Meter" },
1947 { id: "km", name: "Kilometer" },
1948 { id: "in", name: "Inch" },
1949 { id: "ft", name: "Foot" },
1950 { id: "yd", name: "Yard" },
1951 { id: "mi", name: "Mile" }
1952 ],
1953 defaultValue: "m"
1954 },
1955 {
1956 id: "to",
1957 name: "To Unit",
1958 type: "select",
1959 options: [
1960 { id: "mm", name: "Millimeter" },
1961 { id: "cm", name: "Centimeter" },
1962 { id: "m", name: "Meter" },
1963 { id: "km", name: "Kilometer" },
1964 { id: "in", name: "Inch" },
1965 { id: "ft", name: "Foot" },
1966 { id: "yd", name: "Yard" },
1967 { id: "mi", name: "Mile" }
1968 ],
1969 defaultValue: "ft"
1970 }
1971 ]
1972 },
1973 {
1974 id: "weight_conversion",
1975 name: "Weight Conversion",
1976 description: "Convert between kilograms, pounds, ounces, grams, tons, milligrams, etc.",
1977 fields: [
1978 { id: "value", name: "Value", type: "text", placeholder: "e.g., 10 or {{token}}" },
1979 {
1980 id: "from",
1981 name: "From Unit",
1982 type: "select",
1983 options: [
1984 { id: "mg", name: "Milligram" },
1985 { id: "g", name: "Gram" },
1986 { id: "kg", name: "Kilogram" },
1987 { id: "ton", name: "Ton" },
1988 { id: "oz", name: "Ounce" },
1989 { id: "lb", name: "Pound" }
1990 ],
1991 defaultValue: "kg"
1992 },
1993 {
1994 id: "to",
1995 name: "To Unit",
1996 type: "select",
1997 options: [
1998 { id: "mg", name: "Milligram" },
1999 { id: "g", name: "Gram" },
2000 { id: "kg", name: "Kilogram" },
2001 { id: "ton", name: "Ton" },
2002 { id: "oz", name: "Ounce" },
2003 { id: "lb", name: "Pound" }
2004 ],
2005 defaultValue: "lb"
2006 }
2007 ]
2008 },
2009 {
2010 id: "temperature_conversion",
2011 name: "Temperature Conversion",
2012 description: "Convert between Celsius, Fahrenheit, and Kelvin.",
2013 fields: [
2014 { id: "value", name: "Value", type: "text", placeholder: "e.g., 10 or {{token}}" },
2015 {
2016 id: "from",
2017 name: "From Unit",
2018 type: "select",
2019 options: [
2020 { id: "c", name: "Celsius" },
2021 { id: "f", name: "Fahrenheit" },
2022 { id: "k", name: "Kelvin" }
2023 ],
2024 defaultValue: "c"
2025 },
2026 {
2027 id: "to",
2028 name: "To Unit",
2029 type: "select",
2030 options: [
2031 { id: "c", name: "Celsius" },
2032 { id: "f", name: "Fahrenheit" },
2033 { id: "k", name: "Kelvin" }
2034 ],
2035 defaultValue: "f"
2036 }
2037 ]
2038 },
2039 {
2040 id: "volume_conversion",
2041 name: "Volume Conversion",
2042 description: "Convert between liters, gallons, milliliters, fluid ounces, cups, pints, quarts, etc.",
2043 fields: [
2044 { id: "value", name: "Value", type: "text", placeholder: "e.g., 10 or {{token}}" },
2045 {
2046 id: "from",
2047 name: "From Unit",
2048 type: "select",
2049 options: [
2050 { id: "ml", name: "Milliliter" },
2051 { id: "l", name: "Liter" },
2052 { id: "gal", name: "Gallon" },
2053 { id: "floz", name: "Fluid Ounce" },
2054 { id: "cup", name: "Cup" },
2055 { id: "pt", name: "Pint" },
2056 { id: "qt", name: "Quart" }
2057 ],
2058 defaultValue: "l"
2059 },
2060 {
2061 id: "to",
2062 name: "To Unit",
2063 type: "select",
2064 options: [
2065 { id: "ml", name: "Milliliter" },
2066 { id: "l", name: "Liter" },
2067 { id: "gal", name: "Gallon" },
2068 { id: "floz", name: "Fluid Ounce" },
2069 { id: "cup", name: "Cup" },
2070 { id: "pt", name: "Pint" },
2071 { id: "qt", name: "Quart" }
2072 ],
2073 defaultValue: "gal"
2074 }
2075 ]
2076 },
2077 {
2078 id: "area_conversion",
2079 name: "Area Conversion",
2080 description: "Convert between square meters, square feet, acres, hectares, square kilometers, square miles, etc.",
2081 fields: [
2082 { id: "value", name: "Value", type: "text", placeholder: "e.g., 10 or {{token}}" },
2083 {
2084 id: "from",
2085 name: "From Unit",
2086 type: "select",
2087 options: [
2088 { id: "sqm", name: "Square Meter" },
2089 { id: "sqft", name: "Square Foot" },
2090 { id: "ac", name: "Acre" },
2091 { id: "ha", name: "Hectare" },
2092 { id: "sqkm", name: "Square Kilometer" },
2093 { id: "sqmi", name: "Square Mile" }
2094 ],
2095 defaultValue: "sqm"
2096 },
2097 {
2098 id: "to",
2099 name: "To Unit",
2100 type: "select",
2101 options: [
2102 { id: "sqm", name: "Square Meter" },
2103 { id: "sqft", name: "Square Foot" },
2104 { id: "ac", name: "Acre" },
2105 { id: "ha", name: "Hectare" },
2106 { id: "sqkm", name: "Square Kilometer" },
2107 { id: "sqmi", name: "Square Mile" }
2108 ],
2109 defaultValue: "ac"
2110 }
2111 ]
2112 },
2113 {
2114 id: "speed_conversion",
2115 name: "Speed Conversion",
2116 description: "Convert between km/h, mph, m/s, knots, ft/s, etc.",
2117 fields: [
2118 { id: "value", name: "Value", type: "text", placeholder: "e.g., 10 or {{token}}" },
2119 {
2120 id: "from",
2121 name: "From Unit",
2122 type: "select",
2123 options: [
2124 { id: "kmh", name: "km/h" },
2125 { id: "mph", name: "mph" },
2126 { id: "ms", name: "m/s" },
2127 { id: "knot", name: "Knots" },
2128 { id: "fts", name: "ft/s" }
2129 ],
2130 defaultValue: "kmh"
2131 },
2132 {
2133 id: "to",
2134 name: "To Unit",
2135 type: "select",
2136 options: [
2137 { id: "kmh", name: "km/h" },
2138 { id: "mph", name: "mph" },
2139 { id: "ms", name: "m/s" },
2140 { id: "knot", name: "Knots" },
2141 { id: "fts", name: "ft/s" }
2142 ],
2143 defaultValue: "mph"
2144 }
2145 ]
2146 },
2147 {
2148 id: "pressure_conversion",
2149 name: "Pressure Conversion",
2150 description: "Convert between pascals, bars, psi, atmospheres, torr, etc.",
2151 fields: [
2152 { id: "value", name: "Value", type: "text", placeholder: "e.g., 10 or {{token}}" },
2153 {
2154 id: "from",
2155 name: "From Unit",
2156 type: "select",
2157 options: [
2158 { id: "pa", name: "Pascal" },
2159 { id: "bar", name: "Bar" },
2160 { id: "psi", name: "PSI" },
2161 { id: "atm", name: "Atmosphere" },
2162 { id: "torr", name: "Torr" }
2163 ],
2164 defaultValue: "pa"
2165 },
2166 {
2167 id: "to",
2168 name: "To Unit",
2169 type: "select",
2170 options: [
2171 { id: "pa", name: "Pascal" },
2172 { id: "bar", name: "Bar" },
2173 { id: "psi", name: "PSI" },
2174 { id: "atm", name: "Atmosphere" },
2175 { id: "torr", name: "Torr" }
2176 ],
2177 defaultValue: "bar"
2178 }
2179 ]
2180 },
2181 {
2182 id: "energy_conversion",
2183 name: "Energy Conversion",
2184 description: "Convert between joules, calories, kilowatt-hours, BTU, electron volts, etc.",
2185 fields: [
2186 { id: "value", name: "Value", type: "text", placeholder: "e.g., 10 or {{token}}" },
2187 {
2188 id: "from",
2189 name: "From Unit",
2190 type: "select",
2191 options: [
2192 { id: "j", name: "Joule" },
2193 { id: "cal", name: "Calorie" },
2194 { id: "kwh", name: "Kilowatt-hour" },
2195 { id: "btu", name: "BTU" },
2196 { id: "ev", name: "Electron Volt" }
2197 ],
2198 defaultValue: "j"
2199 },
2200 {
2201 id: "to",
2202 name: "To Unit",
2203 type: "select",
2204 options: [
2205 { id: "j", name: "Joule" },
2206 { id: "cal", name: "Calorie" },
2207 { id: "kwh", name: "Kilowatt-hour" },
2208 { id: "btu", name: "BTU" },
2209 { id: "ev", name: "Electron Volt" }
2210 ],
2211 defaultValue: "cal"
2212 }
2213 ]
2214 },
2215 {
2216 id: "power_conversion",
2217 name: "Power Conversion",
2218 description: "Convert between watts, kilowatts, horsepower, BTU/hour, etc.",
2219 fields: [
2220 { id: "value", name: "Value", type: "text", placeholder: "e.g., 10 or {{token}}" },
2221 {
2222 id: "from",
2223 name: "From Unit",
2224 type: "select",
2225 options: [
2226 { id: "w", name: "Watt" },
2227 { id: "kw", name: "Kilowatt" },
2228 { id: "hp", name: "Horsepower" },
2229 { id: "btuh", name: "BTU/hour" }
2230 ],
2231 defaultValue: "w"
2232 },
2233 {
2234 id: "to",
2235 name: "To Unit",
2236 type: "select",
2237 options: [
2238 { id: "w", name: "Watt" },
2239 { id: "kw", name: "Kilowatt" },
2240 { id: "hp", name: "Horsepower" },
2241 { id: "btuh", name: "BTU/hour" }
2242 ],
2243 defaultValue: "kw"
2244 }
2245 ]
2246 },
2247 {
2248 id: "data_size_conversion",
2249 name: "Data Size Conversion",
2250 description: "Convert between bytes, KB, MB, GB, TB, PB, bits, etc.",
2251 fields: [
2252 { id: "value", name: "Value", type: "text", placeholder: "e.g., 10 or {{token}}" },
2253 {
2254 id: "from",
2255 name: "From Unit",
2256 type: "select",
2257 options: [
2258 { id: "bit", name: "Bit" },
2259 { id: "b", name: "Byte" },
2260 { id: "kb", name: "Kilobyte (KB)" },
2261 { id: "mb", name: "Megabyte (MB)" },
2262 { id: "gb", name: "Gigabyte (GB)" },
2263 { id: "tb", name: "Terabyte (TB)" },
2264 { id: "pb", name: "Petabyte (PB)" }
2265 ],
2266 defaultValue: "mb"
2267 },
2268 {
2269 id: "to",
2270 name: "To Unit",
2271 type: "select",
2272 options: [
2273 { id: "bit", name: "Bit" },
2274 { id: "b", name: "Byte" },
2275 { id: "kb", name: "Kilobyte (KB)" },
2276 { id: "mb", name: "Megabyte (MB)" },
2277 { id: "gb", name: "Gigabyte (GB)" },
2278 { id: "tb", name: "Terabyte (TB)" },
2279 { id: "pb", name: "Petabyte (PB)" }
2280 ],
2281 defaultValue: "gb"
2282 }
2283 ]
2284 },
2285 {
2286 id: "angle_conversion",
2287 name: "Angle Conversion",
2288 description: "Convert between degrees, radians, gradians, arc minutes, arc seconds, etc.",
2289 fields: [
2290 { id: "value", name: "Value", type: "text", placeholder: "e.g., 10 or {{token}}" },
2291 {
2292 id: "from",
2293 name: "From Unit",
2294 type: "select",
2295 options: [
2296 { id: "deg", name: "Degree" },
2297 { id: "rad", name: "Radian" },
2298 { id: "grad", name: "Gradian" },
2299 { id: "min", name: "Arc Minute" },
2300 { id: "sec", name: "Arc Second" }
2301 ],
2302 defaultValue: "deg"
2303 },
2304 {
2305 id: "to",
2306 name: "To Unit",
2307 type: "select",
2308 options: [
2309 { id: "deg", name: "Degree" },
2310 { id: "rad", name: "Radian" },
2311 { id: "grad", name: "Gradian" },
2312 { id: "min", name: "Arc Minute" },
2313 { id: "sec", name: "Arc Second" }
2314 ],
2315 defaultValue: "rad"
2316 }
2317 ]
2318 },
2319 {
2320 id: "frequency_conversion",
2321 name: "Frequency Conversion",
2322 description: "Convert between hertz, kilohertz, megahertz, gigahertz, RPM, etc.",
2323 fields: [
2324 { id: "value", name: "Value", type: "text", placeholder: "e.g., 10 or {{token}}" },
2325 {
2326 id: "from",
2327 name: "From Unit",
2328 type: "select",
2329 options: [
2330 { id: "hz", name: "Hertz" },
2331 { id: "khz", name: "Kilohertz" },
2332 { id: "mhz", name: "Megahertz" },
2333 { id: "ghz", name: "Gigahertz" },
2334 { id: "rpm", name: "RPM" }
2335 ],
2336 defaultValue: "hz"
2337 },
2338 {
2339 id: "to",
2340 name: "To Unit",
2341 type: "select",
2342 options: [
2343 { id: "hz", name: "Hertz" },
2344 { id: "khz", name: "Kilohertz" },
2345 { id: "mhz", name: "Megahertz" },
2346 { id: "ghz", name: "Gigahertz" },
2347 { id: "rpm", name: "RPM" }
2348 ],
2349 defaultValue: "khz"
2350 }
2351 ]
2352 },
2353 {
2354 id: "fuel_economy_conversion",
2355 name: "Fuel Economy Conversion",
2356 description: "Convert between MPG, L/100km, km/L, miles/gallon, etc.",
2357 fields: [
2358 { id: "value", name: "Value", type: "text", placeholder: "e.g., 10 or {{token}}" },
2359 {
2360 id: "from",
2361 name: "From Unit",
2362 type: "select",
2363 options: [
2364 { id: "mpg", name: "MPG (US)" },
2365 { id: "mpg_imp", name: "MPG (Imperial)" },
2366 { id: "l100", name: "L/100km" },
2367 { id: "kml", name: "km/L" }
2368 ],
2369 defaultValue: "mpg"
2370 },
2371 {
2372 id: "to",
2373 name: "To Unit",
2374 type: "select",
2375 options: [
2376 { id: "mpg", name: "MPG (US)" },
2377 { id: "mpg_imp", name: "MPG (Imperial)" },
2378 { id: "l100", name: "L/100km" },
2379 { id: "kml", name: "km/L" }
2380 ],
2381 defaultValue: "l100"
2382 }
2383 ]
2384 }
2385 ]
2386 },
2387 {
2388 id: "fluent_forms",
2389 name: "Fluent Forms",
2390 isTrigger: true,
2391 icon: "FF",
2392 iconBg: "bg-green-600",
2393 actions: [
2394 { id: "ff_form_submit", name: "Form submitted" }
2395 ]
2396 },
2397 {
2398 id: "mailrefine",
2399 name: "MailRefine",
2400 icon: "MR",
2401 iconBg: "bg-violet-600",
2402 actions: [
2403 {
2404 id: "mr_verify_email",
2405 name: "Verify Email",
2406 description: "Verify if an email address is valid and deliverable using MailRefine.",
2407 fields: [
2408 { id: "api_key", name: "API Key", type: "text", placeholder: "Enter MailRefine API Key" },
2409 { id: "email", name: "Email to Verify", type: "text", placeholder: "e.g., {email} or {{fields.email}}" }
2410 ]
2411 }
2412 ]
2413 },
2414 {
2415 id: "filters",
2416 name: "Filters",
2417 icon: "FT",
2418 iconBg: "bg-yellow-500",
2419 actions: [
2420 {
2421 id: "filter_condition",
2422 name: "Filter / Condition",
2423 description: "Only continue the workflow if the specified condition is met.",
2424 fields: [
2425 { id: "field", name: "Field", type: "text", placeholder: "e.g., {email_valid} or {{status}}" },
2426 {
2427 id: "operator",
2428 name: "Operator",
2429 type: "select",
2430 options: [
2431 { id: "equals", name: "Equals" },
2432 { id: "not_equals", name: "Not Equals" },
2433 { id: "contains", name: "Contains" },
2434 { id: "not_contains", name: "Does Not Contain" },
2435 { id: "is_true", name: "Is True" },
2436 { id: "is_false", name: "Is False" }
2437 ],
2438 defaultValue: "equals"
2439 },
2440 { id: "value", name: "Value", type: "text", placeholder: "e.g., true or valid" }
2441 ]
2442 }
2443 ]
2444 },
2445 {
2446 id: "csv_creator",
2447 name: "CSV Creator",
2448 icon: "CSV",
2449 iconBg: "bg-emerald-700",
2450 categories: [
2451 {
2452 id: "files",
2453 name: "File Actions",
2454 actions: [
2455 {
2456 id: "csv_from_table",
2457 name: "Create CSV from Table",
2458 description: "Export records from a custom table to a CSV file saved in the media library. Returns {csv_url}, {csv_attachment_id}, {csv_filename}, {csv_row_count}.",
2459 fields: [
2460 {
2461 id: "table_id",
2462 name: "Table",
2463 type: "select",
2464 optionsUrl: "/tables",
2465 placeholder: "Select a table…"
2466 },
2467 {
2468 id: "filter_col",
2469 name: "Filter Column (optional)",
2470 type: "text",
2471 placeholder: "column_slug — leave blank to export all rows"
2472 },
2473 {
2474 id: "filter_val",
2475 name: "Filter Value (optional)",
2476 type: "text",
2477 placeholder: "e.g. active or {status}"
2478 },
2479 {
2480 id: "filename",
2481 name: "Filename (optional)",
2482 type: "text",
2483 placeholder: "orders_2024.csv — leave blank for auto"
2484 }
2485 ]
2486 },
2487 {
2488 id: "csv_from_json",
2489 name: "Create CSV from JSON",
2490 description: "Convert a JSON array of objects to a CSV file. Pipe {response} from an AI or API action. Returns {csv_url}, {csv_attachment_id}, {csv_filename}, {csv_row_count}.",
2491 fields: [
2492 {
2493 id: "json_data",
2494 name: "JSON Data",
2495 type: "textarea",
2496 placeholder: "[{\"name\":\"Alice\",\"email\":\"[email protected]\"},{\"name\":\"Bob\",\"email\":\"[email protected]\"}]\n\nTip: use {response} to pipe output from an AI or API action."
2497 },
2498 {
2499 id: "filename",
2500 name: "Filename (optional)",
2501 type: "text",
2502 placeholder: "report.csv — leave blank for auto"
2503 }
2504 ]
2505 },
2506 {
2507 id: "csv_from_array",
2508 name: "Create CSV from Array",
2509 description: "Convert a JSON array of arrays to a CSV file with optional custom headers. Returns {csv_url}, {csv_attachment_id}, {csv_filename}, {csv_row_count}.",
2510 fields: [
2511 {
2512 id: "array_data",
2513 name: "Array Data (JSON)",
2514 type: "textarea",
2515 placeholder: "[[\"Alice\",\"[email protected]\"],[\"Bob\",\"[email protected]\"]]\n\nTip: use {response} or {items} to pipe data from a previous action."
2516 },
2517 {
2518 id: "headers",
2519 name: "Column Headers (comma-separated, optional)",
2520 type: "text",
2521 placeholder: "Name, Email, Phone — leave blank for no header row"
2522 },
2523 {
2524 id: "filename",
2525 name: "Filename (optional)",
2526 type: "text",
2527 placeholder: "export.csv — leave blank for auto"
2528 }
2529 ]
2530 }
2531 ]
2532 }
2533 ]
2534 },
2535 {
2536 id: "tables",
2537 name: "Tables",
2538 icon: "TB",
2539 iconBg: "bg-indigo-600",
2540 isTrigger: true,
2541 categories: [
2542 {
2543 id: "triggers",
2544 name: "Triggers",
2545 actions: [
2546 {
2547 id: "trigger_button",
2548 name: "Trigger Workflow Button Clicked",
2549 description: "Fires when the 'Trigger Workflow' button is clicked in a table shortcode. Available tokens: {table_id}, {table_name}, {record_id}, and all column values."
2550 },
2551 {
2552 id: "new_record",
2553 name: "New Record",
2554 description: "Fires when a new row is inserted into a table. Available tokens: {table_id}, {table_name}, {record_id}, and all column values."
2555 },
2556 {
2557 id: "updated_record",
2558 name: "Updated Record",
2559 description: "Fires when a row is updated. Available tokens: {table_id}, {table_name}, {record_id}, new column values, and {old_<column_slug>} for previous values."
2560 },
2561 {
2562 id: "deleted_record",
2563 name: "Deleted Record",
2564 description: "Fires when a row is deleted. Available tokens: {table_id}, {table_name}, {record_id}, and the last known column values."
2565 },
2566 {
2567 id: "updated_cell",
2568 name: "Updated Cell",
2569 description: "Fires once per changed cell when a row is updated. Available tokens: {table_id}, {table_name}, {record_id}, {column_slug}, {old_value}, {new_value}."
2570 }
2571 ]
2572 },
2573 {
2574 id: "records",
2575 name: "Records",
2576 actions: [
2577 {
2578 id: "tables_insert_record",
2579 name: "Insert Record",
2580 description: "Insert a new row into one of your custom tables.",
2581 fields: [
2582 {
2583 id: "table_id",
2584 name: "Table",
2585 type: "select",
2586 optionsUrl: "/tables",
2587 placeholder: "Select a table…"
2588 },
2589 {
2590 id: "record_data",
2591 name: "Field Values",
2592 type: "table_columns_mapper",
2593 tableIdField: "table_id"
2594 }
2595 ]
2596 },
2597 {
2598 id: "tables_update_record",
2599 name: "Update Record",
2600 description: "Update an existing row in one of your custom tables.",
2601 fields: [
2602 {
2603 id: "table_id",
2604 name: "Table",
2605 type: "select",
2606 optionsUrl: "/tables",
2607 placeholder: "Select a table…"
2608 },
2609 {
2610 id: "row_id",
2611 name: "Record ID",
2612 type: "text",
2613 placeholder: "Row to update — use {record_id} or a number"
2614 },
2615 {
2616 id: "record_data",
2617 name: "Field Values",
2618 type: "table_columns_mapper",
2619 tableIdField: "table_id"
2620 }
2621 ]
2622 }
2623 ]
2624 }
2625 ]
2626 },
2627 {
2628 id: "workflow",
2629 name: "Workflows",
2630 icon: "WF",
2631 iconBg: "bg-teal-600",
2632 isTrigger: true,
2633 categories: [
2634 {
2635 id: "triggers",
2636 name: "Triggers",
2637 actions: [
2638 {
2639 id: "sub_workflow_trigger",
2640 name: "Sub-Workflow Trigger",
2641 description: "Starts the workflow when called from another workflow. Use this to create reusable modular workflows."
2642 }
2643 ]
2644 },
2645 {
2646 id: "actions",
2647 name: "Actions",
2648 actions: [
2649 {
2650 id: "call_sub_workflow",
2651 name: "Call Sub-Workflow",
2652 description: "Execute another workflow and use its returned data.",
2653 fields: [
2654 {
2655 id: "workflow_id",
2656 name: "Select Sub-Workflow",
2657 type: "select",
2658 optionsUrl: "/workflows",
2659 placeholder: "Choose a workflow to call…"
2660 },
2661 {
2662 id: "inputs",
2663 name: "Map Inputs",
2664 type: "keyvalue",
2665 placeholder: "Add Input (e.g. email: {customer_email})"
2666 }
2667 ]
2668 },
2669 {
2670 id: "return_values",
2671 name: "Return Values",
2672 description: "Stop the current sub-workflow and return specified values to the parent workflow.",
2673 fields: [
2674 {
2675 id: "values",
2676 name: "Return Values",
2677 type: "keyvalue",
2678 placeholder: "Add Value (e.g. status: success)"
2679 }
2680 ]
2681 }
2682 ]
2683 }
2684 ]
2685 },
2686 {
2687 id: "delay",
2688 name: "Delay",
2689 icon: "⏱",
2690 iconBg: "bg-slate-500",
2691 description: "Pause the workflow for a set duration before continuing to the next step.",
2692 actions: [
2693 {
2694 id: "delay_execution",
2695 name: "Wait / Delay",
2696 description: "Pause workflow execution for a configurable time (minutes, hours, or days) before continuing.",
2697 fields: [
2698 {
2699 id: "delay_amount",
2700 name: "Delay Amount",
2701 type: "number",
2702 placeholder: "e.g., 5"
2703 },
2704 {
2705 id: "delay_unit",
2706 name: "Unit",
2707 type: "select",
2708 options: [
2709 { id: "minutes", name: "Minutes" },
2710 { id: "hours", name: "Hours" },
2711 { id: "days", name: "Days" }
2712 ],
2713 defaultValue: "days"
2714 }
2715 ]
2716 }
2717 ]
2718 },
2719 {
2720 id: "wpbot",
2721 name: "WPBot",
2722 isTrigger: true,
2723 icon: "WB",
2724 iconBg: "bg-blue-500",
2725 categories: [
2726 {
2727 id: "triggers",
2728 name: "Triggers",
2729 actions: [
2730 {
2731 id: "wpbot_chat_session_saved",
2732 name: "WPBot Chat Session Saved"
2733 },
2734 {
2735 id: "conversationalforms_submit",
2736 name: "Conversational Forms Submitted",
2737 fields: [
2738 {
2739 id: "form_id",
2740 name: "Specific Form",
2741 type: "select",
2742 optionsUrl: "/conversational-forms",
2743 placeholder: "All forms (leave empty to trigger on any)"
2744 },
2745 {
2746 id: "specific_fields",
2747 name: "Map Specific Fields",
2748 type: "text",
2749 isPro: true,
2750 placeholder: "e.g., your-name, your-email (comma-separated field keys)"
2751 }
2752 ]
2753 }
2754 ]
2755 },
2756 {
2757 id: "actions",
2758 name: "Actions",
2759 actions: [
2760 {
2761 id: "delete_session",
2762 name: "Delete Chat Session",
2763 fields: [
2764 { id: "session_id", name: "Session ID", type: "text", placeholder: "Enter Session ID" }
2765 ]
2766 },
2767 {
2768 id: "get_chat_sessions",
2769 name: "Get Chat Sessions",
2770 description: "Retrieves chat sessions within a specified date range. Returns an array of sessions.",
2771 fields: [
2772 { id: "start_date", name: "Start Date", type: "text", placeholder: "e.g., YYYY-MM-DD or {yesterday}" },
2773 { id: "end_date", name: "End Date", type: "text", placeholder: "e.g., YYYY-MM-DD or {today}" }
2774 ]
2775 }
2776 ]
2777 }
2778 ]
2779 }
2780 ];
2781
2782
2783