-
Notifications
You must be signed in to change notification settings - Fork 0
/
bs_docset_090524_RAG_ready.json
2126 lines (2126 loc) · 991 KB
/
bs_docset_090524_RAG_ready.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
[
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/",
"content": "Welcome to BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Quick Start What's inside? \ud83d\udc40 Features \ud83e\ude84 Combine the power of any AI Model The Nodeverse Build with JavaScript / TypeScript One-of-a-kind development experience Why use BuildShip? \ud83d\udea2 BuildShip FAQ Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Welcome to BuildShip A Low-code Visual Backend Builder, powered by AI \u2728 Use BuildShip to create: Scalable APIs Scheduled tasks / CRON jobs Backend cloud functions Database CRUD or event data-triggered functions WhatsApp, Telegram, Slack, Discord, AI chatbot BuildShip integrates with any tools like Stripe, Sengrid, Whatsapp or AI model from OpenAI, Replicate etc or database\nlike Firebase, Supabase, Postgres. \ud83e\udea9 Best part? If any integration is missing, don't get stuck - use AI to generate your own workflow nodes. BuildShip\ngives you the best of no-code with the power of low-code. See the 5-minute product walkthrough. Quick Start Follow the learning resources below to get a deeper understanding of the platform: How to build a workflow? \u2192 What is a node? \u2192 What are workflow triggers? \u2192 You can connect your favorite AI models, tools, API services, and backend in minutes. Extend your workflow's\ncapabilities with JavaScript / TypeScript code and 1M+ NPM packages! \ud83e\udd2f BuildShip lets you build scalable backend workflows for the apps you build on any stack. Be it a no-code app builder\n(FlutterFlow, Webflow, Framer, Adalo, Bubble, BravoStudio ...) or a frontend framework (Next.js, React, Vue ...) - you\ncan build scalable backend tasks for them in minutes. This means you don't need to wrangle or deploy things on the cloud\nplatform, wait for long build cycles of cloud functions, perform DevOps, etc. No-code friendly but the code of every node is accessible and tweakable in javascript/typescript. Comes with features\nlike instant deployment (no need to wait for long build cycles), version control, multiple projects, copying workflows\nfrom one project to another, a large number of templates on popular use cases - WhatsApp Bot, Google Vision, Stripe\nPayment, and so much more. \u2728\u2728 Just Build and Ship, instantly \ud83d\ude80 What's inside? \ud83d\udc40 Built on top of powerful and scalable Google Cloud Platform (GCP) , BuildShip gives you a friction-free serverless\ndevelopment experience. Now you can quickly transform your ideas into cloud-deployed scripts within seconds, without\nleaving your browser. BuildShip uses Cloud Run to run your code in a serverless environment. It also supports EventArc-based backend\ntriggers, HTTP and webhook backend triggers, data triggers, and BYOC (Bring Your Own Cloud) compatibility. Features \ud83e\ude84 Combine the power of any AI Model Integrate the leading multimodal AI models and services with your APIs and Workflows like ChatGPT , Stable\nDiffusion , Midjourney , DALL-E 2 , and many more. The Nodeverse Explore and select from The Nodeverse, our library of pre-built nodes or generate your own using AI. Tweak the nodes to\nyour liking and build your own custom workflows. Build with JavaScript / TypeScript Typical low-code, no-code tools use their own complicated formulae process as you start to build anything meaningful.\nWith BuildShip you can build on javascript/typescript - which has a lot of reference materials. So you will not get\n\u201c stuck \u201d \ud83d\ude36\u200d\ud83c\udf2b\ufe0f in the tool\u2019s features and can build without limits. One-of-a-kind development experience BuildShip provides you with a powerful code editor with autocomplete, localhost-like speedy debugging experience, and a\nsandboxing environment. Build serverless scripts fast, right from your browser! \u26a1\ufe0f Schedule your function calls, save\ndata to the database, connect to any API and use 1M + NPM packages. Why use BuildShip? \ud83d\udea2 Faster development : BuildShip makes it easy to build and deploy serverless applications, so you can get your\nideas to market faster . Flexible and Extensible : BuildShip offers the most flexible and powerful platform to build APIs and backend\nworkflows exactly the way you want. You will never be stuck waiting for an integration. Lower costs : It's serverless , so you only pay for the resources you use . This can save you a lot of money\non infrastructure costs. You can build 10x workflows for a whole lot less. Scalability : BuildShip is scalable. So, you can easily scale your applications as your traffic grows! GDPR Compliant : You have the option to select your project's location and all your workflows will be deployed to\nthat region, which means your data never leaves your region of choice. Security : Save your API Keys and Secrets on Google Cloud Secret Manager of your own single-tenant project, so\nyou can be confident that your data is safe. Templates to start fast : 100s of pre-built integrations, from popular AI models like OpenAI text generation,\nVector embedding, Sythesia video gen, image gen using Stable Diffusion, or using any AI model on platforms like\nReplicate, Hugging Face, etc., or even the ones that will launch in the future! AI-Generated Nodes : You are not limited to pre-built nodes or the platform. Start from hundreds of pre-built\nnodes, but if something is missing - don\u2019t wait for BuildShip to release an integration! Simply ask AI and it\ngenerates a custom workflow node just for you. Custom code : Readily use any API or 1M+ NPM packages: You can use any NPM package in the workflow node or ask Ask\nAI to use an NPM package and generate a node for you. Code made accessible - anytime you want : BuildShip is not a black box, you can open the code of any node, and\ntweak it any way you want. Use powerful developer tools like logging, version control, a code editor equipped with\nautocomplete, a lightning-fast debugger similar to localhost, and a secure sandboxing environment. One-click deploy : When ready, hit \u201cship\u201d and get your backend workflow deployed instantly! Start fast with templates : We have templates featuring chatbots, music generators, reverse image search using\nGoogle Vision API, Vector DB search, HTML to PDF converter, and more! They are the team behind Rowy.io - A popular low-code tool for managing Firestore data and building low-code style\non Firebase and Google Cloud. They have a great community already building with low-code and the team has been\nshipping products fast to help and solve products of the low-code community. The team is part of the first batch of\nAIGrant.org which has backed top emerging AI companies and their investors include Vercel CEO, execs from Figma,\nGoogle, Github, and more. BuildShip FAQ The BuildShip FAQ is a collection of useful questions and answers about the project. If you have a question that isn't\nanswered here, please open a discussion . What is a AI generated node? With BuildShip you can use our pre-build nodes or create one yourself by simply asking what you want to the node to\ndo. You can learn more about it here What is the pricing plan? We are a free tier for you to try out BuildShip and plans to accomodate your needs. You can learn all about pricing here (opens in a new tab) . \ud83d\ude4b\ud83c\udffb Need help? Chat with us and our community of low-code/no-code builders and developers on Discord (opens in a new tab) . Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/\"><meta,https://docs.buildship.com/og.png\"><meta,https://docs.buildship.com\"><meta,https://docs.buildship.com/\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/index.mdx\">Edit,https://www.youtube.com/embed/k20_4hv7pT4\",https://buildship.com/discord\">open,https://buildship.com/pricing\",https://buildship.com/discord\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 1559
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/.",
"interpretation_notes": "Extracted 1559 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/tutorials",
"content": "Tutorials \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Tutorials Step by step guided tutorial for powerful usecases and examples. Firebase \u2192 Firebase Full Text Search \u2192 GCP File Storage \u2192 Supabase \u2192 Postgres \u2192 Bring Your Own Key \u2192 MySQL \u2192 Secure Your API Endpoint \u2192 Notion \u2192 Vector Database \u2192 Supabase Postgres RPC \u2192 Supabase Search \u2192 MongoDB Search \u2192 RAG with Buildship \u2192 Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/tutorials\"><meta,https://docs.buildship.com/api/og?title=Tutorials\"><meta,https://docs.buildship.com\"><meta,https://docs.buildship.com/tutorials\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/tutorials.mdx\">Edit,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Ftutorials&r=&sid=MVPMZLFT&qs=%7B%7D&cid=24448484\"",
"token_count": 445
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/tutorials.",
"interpretation_notes": "Extracted 445 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/basics/workflow",
"content": "What is a Workflow? \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page How to build a Workflow? Create a new workflow Adding Triggers Adding Logic Nodes Configuring the Nodes Returning data from the Workflow Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 What is a Workflow? A workflow is a visual representation of a logical sequence of tasks designed to achieve a specific goal. Each task\nis represented by a node, and workflows are constructed to automate processes, streamline tasks, and efficiently respond\nto various events. Key characteristics of workflows include: Trigger Nodes: The first node is a trigger that initiates the workflow Nodes: Each node represents a specific task or action within the workflow Return Nodes: The last node can be a return statement, providing optional final outputs How to build a Workflow? Here's a comprehensive guide to building a workflow using BuildShip: Create a new workflow Begin by initiating a new workflow on the BuildShip dashboard. Navigate to the BuildShip dashboard and click on the \" New Workflow \" button. \ud83d\udca1 Alternatively, you can select a suitable template from the available options. Adding Triggers Triggers initiate workflows based on specific events. Click on the \" Add a Trigger \" button within your newly created workflow. Select from the list of existing triggers,\nsuch as HTTP Requests , Scheduled Intervals , or Cron Jobs . Adding Logic Nodes Logic nodes perform tasks and actions within your workflow. Explore the Nodeverse, which offers a variety of pre-built nodes for data processing, communication, and more. Select\nnodes that align with the tasks you want to accomplish. You could also create your own custom nodes using the \" Generate with AI \" feature from the Nodeverse . Configuring the Nodes With BuildShip's low-code capabilities, configuring each node is a user-friendly process that empowers you to tailor\nyour workflow to your exact requirements. Here's how you can do it: Click on the Script Icon on the node to open the Node Editor . Personalize the node's behavior according to your specific needs by manipulating the Node Logic, Input Params, Output,\nas well as the Node Description. Returning data from the Workflow Optionally, include a return statement at the end of your workflow. The return statement provides output values that can be used for further processing or as a response. Congratulations! You've successfully created a dynamic workflow tailored to your needs. \ud83d\ude80 Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/basics/workflow\"><meta,https://docs.buildship.com/api/og?title=What,https://docs.buildship.com\"><meta,https://docs.buildship.com/basics/workflow\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/basics/workflow.mdx\">Edit,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fbasics%2Fworkflow&r=&sid=MVPMZLFT&qs=%7B%7D&cid=8993253\"",
"token_count": 772
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/basics/workflow.",
"interpretation_notes": "Extracted 772 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/basics/trigger",
"content": "What is a Trigger? \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page What are Trigger Nodes? Characteristics of a Trigger Types of Triggers Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 What is a Trigger? Triggers are the basis of the execution of any workflow. Each trigger node serves as a starting point for your\nworkflow, allowing you to automate processes based on specific events or schedules. You can only add a single trigger\nnode to a workflow. What are Trigger Nodes? Trigger nodes play a pivotal role in BuildShip as they are the catalysts responsible for initiating the execution of\na workflow. Think of them as the \" starting points \" that kickstart the entire automation process. Characteristics of a Trigger Trigger nodes are responsible for triggering the execution of a workflow A workflow can have only one trigger node Trigger nodes do not have Input / Output manipulation settings \ud83d\udca1 Learn how to go from an idea to an actual workflow low-code style with BuildShip here . \ud83d\ude80 Types of Triggers Below you'll find detailed explaination and examples of our most popular Triggers types: Rest API Call \u2192 Scheduled Cron \u2192 Scheduled Interval \u2192 Rowy Trigger \u2192 Telegram Bot \u2192 Supabase Trigger \u2192 BuildShip Trigger \u2192 Firebase Auth Request Trigger \u2192 GitHub Trigger \u2192 Rest API File Upload Trigger \u2192 Rest API File Upload (Auth) Trigger \u2192 WhatsApp Bot \u2192 Email Trigger \u2192 Lemon Squeezy Trigger \u2192 RevenueCat Trigger \u2192 Every Day (Cron) Trigger \u2192 Every Hour (Cron) Trigger \u2192 Every Month (Cron) Trigger \u2192 Every Week (Cron) Trigger \u2192 MongoDB Trigger \u2192 YouTube Trigger \u2192 Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/basics/trigger\"><meta,https://docs.buildship.com/api/og?title=What,https://docs.buildship.com\"><meta,https://docs.buildship.com/basics/trigger\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/basics/trigger.mdx\">Edit,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fbasics%2Ftrigger&r=&sid=MVPMZLFT&qs=%7B%7D&cid=33593666\"",
"token_count": 642
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/basics/trigger.",
"interpretation_notes": "Extracted 642 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/basics/node",
"content": "What is a Node? \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Node Anatomy Edit and Customize Nodes Node Editor </> Input Params Output Node Info Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 What is a Node? Within BuildShip, each node is designated to fulfill a specific function, and the combination of nodes forms a complete\nworkflow. It's important to note that the initial node in any workflow must be a trigger node (find more information on triggers here ). The fundamental building blocks of a workflow are the logic nodes. Let's delve into the details of a logic node's\nstructure and functionality. Node Anatomy Open Node Editor </> This feature grants you the power to modify the logic , input parameters , output\nconfiguration , and metadata descriptions associated with a given node, providing the flexibility to tailor the\nnodes to your exact requirements. Node Options Manage nodes through AI-powered editing , deletion , copying , and the ability to view\nlogs specific to each individual node. Value Expression Editor Tap into the capabilities of AI data autofill for inputs , leverage variables , and\nsafeguard sensitive information using secret keys . Expand/Collapse Toggle Enhance your workspace by toggling between expanded and collapsed views for nodes, ensuring\na clutter-free experience . Edit and Customize Nodes Whether selecting a node from the Nodeverse library or generating one via AI , the Node Editor provides a\nuser-friendly environment for configuring nodes. Moreover, the Node Editor is accompanied by a testing environment , enabling users to edit and test nodes\nsimultaneously , all without the need for deployment. Node Editor </> Node Logic is a versatile code editor within BuildShip that empowers users to create and customize the functionality of\na node. With Node Logic, you can: Write and modify the underlying functions for a node to suit your specific needs. Seamlessly integrate with APIs, leverage AI models, or incorporate NPM libraries to enhance your workflow's\ncapabilities. Generate QR Codes import { toDataURL } from 'qrcode' ; export default async function generateQRCode ({ url }) { const qrCodeDataURL = await toDataURL (url); return qrCodeDataURL; } \ud83d\udca1 If you wish to create your own node from scratch, you can do so by using the Script node . Input Params Input parameters for a node are variables or values that can be provided as input to the node when it is executed. These\nparameters serve as the data that the node needs to perform its specific task. These parameters can be set in the form UI or via JSON schema. \ud83d\udca1 Learn more about setting input params via JSON Schema and customizing node input parameters on the Node Inputs\npage . Output The Node Editor empowers you to modify your node's output configurations. The structured JSON format ensures clarity in\nhandling resulting data, promoting seamless integration with downstream processes. \ud83d\udca1 Learn more about setting outputs via JSON Schema and customizing node input parameters on the Node Inputs\npage . Node Info Just as input parameters are accompanied by comprehensive descriptions, the \"Info\" section contains essential insights\nabout the node's purpose and functionality. This contextual information aids in better understanding the node's role\nwithin your workflow. \ud83d\udca1 Learn more about Node Metadata here . Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/basics/node\"><meta,https://docs.buildship.com/api/og?title=What,https://docs.buildship.com\"><meta,https://docs.buildship.com/basics/node\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/basics/node.mdx\">Edit,http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fbasics%2Fnode&r=&sid=MVPMZLFT&qs=%7B%7D&cid=74223562\"",
"token_count": 914
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/basics/node.",
"interpretation_notes": "Extracted 914 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/basics/input",
"content": "Node Inputs \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Structure of the Input Configuration Input Parameter Definition Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Node Inputs Input parameters for a node are variables or values that can be provided as input to the node when it is executed. These\nparameters serve as the data that the node needs to perform its specific task. The input parameters for a node are defined in the node's Inputs section. These parameters can be set in the form\nUI or via JSON schema . Structure of the Input Configuration \ud83d\udca1 Open the Inputs section in the code view to see it as a JSON object. The input configuration is a JSON object that defines the input parameters for a node. Let's understand the structure using an example, here's a sample input configuration for a node: { \"type\" : \"object\" , \"properties\" : { \"apiKey\" : { \"title\" : \"API Key\" , \"description\" : \"The Bearer token for the Cohere API. (Get your Cohere API key [here](https://dashboard.cohere.com/api-keys).)\" , \"type\" : \"string\" , \"pattern\" : \"\" , \"buildship\" : { \"index\" : 1 , \"sensitive\" : true } } , \"texts\" : { \"title\" : \"Texts\" , \"description\" : \"The array of texts to detect language for. Refer to [Cohere's API Reference Guide here](https://docs.cohere.com/reference/detect-language-1)\" , \"type\" : \"array\" , \"pattern\" : \"/^[^A-Z]*$/\" , \"buildship\" : { \"index\" : 0 , \"sensitive\" : false } } } , \"required\" : [ \"apiKey\" , \"texts\" ] } It has the following structure: properties: This is an object containing the definition of individual input parameters. In your example, it\ndefines two input parameters: apiKey and texts . type: This specifies the overall data type of the input. In this case, it is set as \"object,\" indicating that the\ninput parameters are organized within an object structure. required: This is an array that can list any required parameters, but it's currently empty, indicating that none\nof the parameters are mandatory. Input Parameter Definition The input parameters are defined as follows: title : The user-friendly title or label for the input parameter, which is \"API Key\" in this case. description : Additional information or description of the parameter, which is \"Cohere API Key.\" type : Specifies the data type of the parameter, which is \"string.\" pattern : An optional field, typically used for validating the input value. In this example, it's an empty string. buildship : An object that includes additional metadata for the parameter, such as its index within the list of\nparameters and whether it is marked as sensitive (containing sensitive or private data). Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/basics/input\"><meta,https://docs.buildship.com/api/og?title=Node,https://docs.buildship.com\"><meta,https://docs.buildship.com/basics/input\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/basics/input.mdx\">Edit,https://dashboard.cohere.com/api-keys).)\"</span><span,https://docs.cohere.com/reference/detect-language-1)\"</span><span,http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fbasics%2Finput&r=&sid=MVPMZLFT&qs=%7B%7D&cid=14361402\"",
"token_count": 811
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/basics/input.",
"interpretation_notes": "Extracted 811 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/basics/input-validation",
"content": "Node Input Validation \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page How to Specify Validation Regex Open the Node Editor Open the Input Editor Specify the Validation Regex Test the Validation Regex Example Validation Regex Input Field Configuration Pattern Matching Validation Results Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Node Input Validation In BuildShip, you have the ability to specify a regular expression pattern for input fields. This allows you to define a\npattern that a value must match to be considered valid. If the value provided in the input does not match the specified pattern, the workflow will generate a node validation\nerror, preventing the execution of the workflow. How to Specify Validation Regex To configure Validation Regex for an input field, follow these steps: Open the Node Editor Once you have a node for which you wish to validate the inputs, open the node editor by clicking on the </> icon in the top right corner of the node. Open the Input Editor Navigate to the \"Inputs\" tab within the Node Editor and select the input field/s you wish to validate. Specify the Validation Regex You'll spot the \" Validation Regex \" at the bottom of the input editor. Enter the regular expression pattern you wish\nto use to validate the input field. Test the Validation Regex Once this is done, click the \"Save\" button to save your changes. You can test your validation regex by entering a value\nthat does not match the pattern you specified. If the value does not match the pattern, you'll see a validation error\nappear below the input field when you click on the \" Ship \" button. Example Validation Regex Let's consider an example using the regular expression pattern ^[A-Za-z0-9]+$ . This specific pattern is designed to\nmatch a string that consists of one or more alphanumeric characters, which includes letters (both uppercase and\nlowercase) and digits. Here's how the process works: Input Field Configuration In the Node Editor, you pick the input field you want to validate, and you add the regular expression pattern in the Validation Regex field for that input. Pattern Matching When the workflow is executed, the Validation Regex function checks if the value provided in the input field matches the\nregular expression pattern defined in the Validation Regex field. Validation Results CASE 1: If the input is abc123 , it matches the pattern (consisting of alphanumeric characters only), and\ntherefore, no validation error is generated. The workflow proceeds as expected. CASE 2: If the input is abc-123 ,it contains a hyphen, which does not match the specified pattern. In this case,\nthe workflow will generate a validation error before proceeding, preventing the building of the workflow. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/basics/input-validation\"><meta,https://docs.buildship.com/api/og?title=Node,https://docs.buildship.com\"><meta,https://docs.buildship.com/basics/input-validation\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/basics/input-validation.mdx\">Edit,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 825
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/basics/input-validation.",
"interpretation_notes": "Extracted 825 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/basics/output",
"content": "Node Output \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Structure of the Output Configuration Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Node Output Output configuration for a node involves specifying how the node will produce and format its output data. It defines the\nstructure and content of the data that the node will generate as a result of its execution. The output configuration is defined in the output section of the node configuration file. These parameters can be\nset in the form UI or via JSON schema . Structure of the Output Configuration The structure is a JSON object that defines the output configuration for a node. Let's understand the structure using an example, here's a sample output configuration for a node: { \"buildship\" : {} , \"description\" : \"The response from the Cohere detectLanguage API\" , \"type\" : \"object\" , \"title\" : \"Cohere Response\" , \"properties\" : {} } description : This field provides a brief description of the output. In this case, it describes the output as \"The\nresponse from the Cohere detectLanguage API.\" type : Specifies the overarching data type of the output, which is \"object.\" This indicates that the output data will\nbe structured as a JSON object. title : This is a user-friendly title or label for the output, which is \"Cohere Response\" in this example. properties : This field is typically used to define the individual components or variables within the output data.\nHowever, in this example, it's empty, which means that there are no specific properties defined for the output. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/basics/output\"><meta,https://docs.buildship.com/api/og?title=Node,https://docs.buildship.com\"><meta,https://docs.buildship.com/basics/output\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/basics/output.mdx\">Edit,http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fbasics%2Foutput&r=&sid=MVPMZLFT&qs=%7B%7D&cid=66454285\"",
"token_count": 633
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/basics/output.",
"interpretation_notes": "Extracted 633 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/basics/update-outputs",
"content": "Update Node Output \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Auto-Updating Node Output Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Update Node Output Each Script Node in BuildShip has the following configurations: Node Logic : The core functionality of the node. Inputs : The input parameters required by the node. Output : The output schema defining the structure of the data returned by the node. Info : Additional information or metadata about the node. The Output configuration tab allows you to define the structure of the output generated by the node. This output\nconfiguration makes it easier for users to access the specific values being returned from the node without using complex\ndot notations. For example, if a node returns a JSON object with the following structure: { \"content\" : \"This is some content.\" , \"metadata\" : { \"author\" : \"John Doe\" , \"timestamp\" : \"2023-04-01T12:00:00Z\" } } The output configuration can be set to expose the content , metadata.author , and metadata.timestamp properties\ndirectly, allowing users to access them in subsequent nodes without using dot notation like nodeOutput.metadata.author . Auto-Updating Node Output When building or customizing a node, you can automatically update the output schema based on the actual output generated\nby the node logic. Here are the steps to auto-update the node output: Open the node editor and make any necessary changes to the node logic. Click the \" Test Node \" button to execute the node and view its output. In the output section, you should see an option to \" Update Output Schema \". Click this button. The output configuration tab will be updated with the schema of the output generated by the node logic. By auto-updating the output schema, you ensure that the output configuration accurately reflects the structure of the\ndata returned by the node. This allows you to use the different or nested outputs returned by the node in subsequent\nnodes directly from the context menu, as shown in the image below. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/basics/update-outputs\"><meta,https://docs.buildship.com/api/og?title=Update,https://docs.buildship.com\"><meta,https://docs.buildship.com/basics/update-outputs\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/basics/update-outputs.mdx\">Edit,http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fbasics%2Fupdate-outputs&r=&sid=MVPMZLFT&qs=%7B%7D&cid=21428762\"",
"token_count": 705
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/basics/update-outputs.",
"interpretation_notes": "Extracted 705 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/basics/variables",
"content": "Using Variables \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Using Incoming HTTP Request Components Accessing Request Variables Using Output values from other nodes Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Using Variables in Workflows Learn how to use context variables, HTTP request components, and output values from other nodes in your workflow logic. Using Incoming HTTP Request Components \u26a0\ufe0f This is only applicable while using REST API Trigger node. When working with the REST API Call Trigger, you can leverage various request components like Headers , Params ,\nand the Request Body to efficiently pass data to your logic nodes. Accessing Request Variables Use the \" Expression Editor \" to select the request variables. Inside the Expression Editor , click on \" Insert Variable \" dropdown to browse and select from the available\nrequest variables. \ud83d\udca1 Extracting a specific value from a Request Variable Let's consider an example where we want to retrieve the collectionName variable from the request body. To do this, we\ncan: In the Expression Editor , pick the Request Body variable from the \" Insert Variable \" dropdown. To access the specific value, add the key in one of the following formats: - [\"collectionName\"] - .collectionName Using Output values from other nodes When you have previously returned values from your logic nodes, you can access them conveniently through the Expression Menu (x) . To access a specific output, click on the name of the node associated with the desired\noutput, and then select your output variable . This allows you to conveniently leverage the output values in your\ncurrent workflow logic. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/basics/variables\"><meta,https://docs.buildship.com/api/og?title=Using,https://docs.buildship.com\"><meta,https://docs.buildship.com/basics/variables\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/basics/variables.mdx\">Edit,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fbasics%2Fvariables&r=&sid=MVPMZLFT&qs=%7B%7D&cid=50556212\"",
"token_count": 641
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/basics/variables.",
"interpretation_notes": "Extracted 641 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/basics/reordering-nodes",
"content": "Reordering Nodes \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page How to Reorder Nodes Access the Workflow Navigation Panel Drag and Drop Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Reordering Nodes In BuildShip, you have the flexibility to rearrange the order of your logic nodes within your workflows. This is useful\nwhen you want to change the order of execution of your logic nodes. How to Reorder Nodes Access the Workflow Navigation Panel On the left-hand side of the BuildShip interface, you'll find the Workflow Navigation Panel. This panel displays all the\nnodes in your workflow in their current order. Drag and Drop To rearrange the nodes, simply click and hold on the node you want to move. Drag it to the desired position within the\npanel. As you drag and drop the nodes in the navigation panel, you'll notice that the nodes automatically adjust to\ntheir new order. This mirrors the order you've set in the navigation panel within your workflow. \ud83d\udca1 Triggers are the starting points of workflows, and thus cannot be reordered. Their sequence remains fixed. Only logic\nnodes can be rearranged as needed. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/basics/reordering-nodes\"><meta,https://docs.buildship.com/api/og?title=Reordering,https://docs.buildship.com\"><meta,https://docs.buildship.com/basics/reordering-nodes\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/basics/reordering-nodes.mdx\">Edit,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 562
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/basics/reordering-nodes.",
"interpretation_notes": "Extracted 562 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/basics/api-spec",
"content": "API Specification \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Request Specification Response Specification Accessing Request Values Example Scenario - Implementing BYOK Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 API Specification The API Specification feature allows users to define and structure incoming requests and expected responses for their\nworkflow APIs. This functionality simplifies accessing request values as defined variables throughout the workflow. Request Specification \u26a0\ufe0f This is only applicable while using REST API Trigger node. Users can define the expected request structure for the API Call. Click on the Trigger Menu (\u2022\u2022\u2022) on the REST API Call Trigger and click on Edit . Under the \u201cRequest\u201d section you\u2019ll see the default request structure. Click on the + icon to add fields to the request schema. You can also click on a field, let\u2019s say query , to add\nnested fields and parameters. Response Specification Users can also define the expected response from the API. Click on the </> icon on the Return Node to open the Response Specification . Under the \u201cResponse\u201d section you\u2019ll see the default response structure. { \"200\" : { \"title\" : \"Success Response\" , \"type\" : \"object\" , \"properties\" : { \"text\" : { // added this property \"type\" : \"string\" , \"description\" : \"The generated text\" } } } } Accessing Request Values Users can access the request values defined in the Request Specification throughout the workflow using the Context\nMenu . Example Scenario - Implementing BYOK Let's consider implementing a Bring Your Own Key (BYOK) system within BuildShip. We require incoming API requests to include an Authorization header containing the user's API Key. Additionally, the\nAPI needs a prompt query parameter, which will act as the User Prompt for the OpenAI Text Generator node generating a\nstory. To modify the Request Definition for this scenario: Go to the Request section in your REST API Call trigger. Define the Authorization header: Click on the Request Headers and use the + icon to add a nested field. Provide\nappropriate Label, Key, Description, and set its type to string. Define the prompt query parameter: Click on the Query section and add a nested field using the + icon. Provide\nappropriate Label, Key, Description, and set its type to string. These defined request variables can now be easily accessed via the context menu throughout the workflow. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/basics/api-spec\"><meta,https://docs.buildship.com/api/og?title=API,https://docs.buildship.com\"><meta,https://docs.buildship.com/basics/api-spec\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/basics/api-spec.mdx\">Edit,http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 763
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/basics/api-spec.",
"interpretation_notes": "Extracted 763 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/basics/buildship-tables",
"content": "BuildShip Tables \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page How to use BuildShip Table Access BuildShip Table Creating Tables Set up an existing collection Creating a new table Manipulating Table Data Via BuildShip Table UI Via BuildShip Database Nodes BuildShip Database Nodes Creating Documents Querying Collection Basic Filter Multiple Filters Nested Filters Bonus: Filter by Reference Get Document Updating Fields Delete Document Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 BuildShip Tables BuildShip Tables give you an easy visual way to manage your BuildShip Database. Every BuildShip project comes with a\nready-to-use Firestore database. With BuildShip, you get the ultimate flexibility to choose the database that best works for your project. Use BuildShip Database: If you are looking for quick and ready-to-use database with an instant database management\nUI. Pick Your Own Database: Firestore, Postgres, Supabase, MySQL\u2026.or any database. Choose a database that works for\nyou if you do not want to use the BuildShip database. In this case, you can simply use them in the workflows and APIs\nusing CRUD nodes. How to use BuildShip Table If you're using the BuildShip database , by using the BuildShip Database nodes in your workflows, you can access\nBuildShip Tables to visualize and manage the data populated by these nodes. \u26a0\ufe0f You can use BuildShip database in your workflows using the BuildShip Database CRUD nodes, and access the data in a\ntabular format visually using the BuildShip Tables. (This feature is now available for users on all plans! \u2b50\ufe0f) Access BuildShip Table You can access BuildShip Tables directly from the CRUD node you are using. Once you click on the table icon\navailable on the BuildShip Database node, you'll be prompted to create a new table or select an existing table. \u26a0\ufe0f Ensure pop-ups are unblocked for buildship.app. Alternatively, you can access BuildShip Tables from the side navigation bar . Click on the Database icon to\naccess the BuildShip Tables. Creating Tables There are two ways of creating a BuildShip Table: Set up an existing collection After navigating to the Databases tab, users will be able to check out the existing collections as tables, if any. If\nyou do not have any existing tables, proceed to the Creating a new table section. To initialize an existing collection as a BuildShip table, simply click on the Setup \u27a4 button. Select the table type, or leave it as default. Under the Display section, users can edit the Table Name and ID . Optionally create and select display sections, add description for easy access. Under the Columns section, select the columns to initialize with the table. Click on Create . Now a table will be initialized for the collection name provided. Click on \u201cImport Existing Data\u201d to import the data\ninto your table. Follow the step-by-step guided process to import your data and hit \u201cFinish\u201d. Creating a new table Once you\u2019ve navigated to the \u201cDatabases\u201d tab, click on the \u201cCreate Table\u201d button. (or look for the \u271a icon on the\nbottom right corner to add a new table) Select a Collection Name. You can also copy and paste the name of the collection used in your BuildShip Database Nodes\nto import the existing data in your table. Optionally, you can add the display information for your table and select initial \u201cRow ID\u201d as the column. Users also\nhave the option to quickly copy existing column data from any existing tables. Click on \u201cCreate\u201d to create the table. Manipulating Table Data There are two ways to manipulate the Firebase Collection data associated with your table. Via BuildShip Table UI In your empty table, click on \u201c Add Column \u201d button. Add in the Field Name, Field Key, and the Field Type. \ud83d\udca1 If you already have existing fields in your collection, make sure to match the Field Key value with your existing\nkeys to sync data. Click on \u201c Add Row \u201d button to add values to your table. Via BuildShip Database Nodes BuildShip has pre-built CRUD nodes available under the BuildShip Database Integrations section in the Node\nLibrary. These nodes are similar to the Firestore database nodes and are meant to help you insert, query, and manipulate\nyour BuildShip Data. In the next section, we\u2019ll see how we can perform some basic operations on our data. BuildShip Database Nodes Let\u2019s see how we can perform some basic operations and visualize them in our BuildShip Tables interface: Creating Documents To create a document in a collection, we need to add the Create Document node from the BuildShip Database integration. To test it out, let\u2019s try to add the data in the collection connected to a BuildShip table. Add in the data as shown in\nthe image below. Querying Collection To query a collection, we can use the Collection Query node from the BuildShip Database integration. Add the collection name, same as the one linked to the BuildShip Table. Basic Filter For the Filters field, let\u2019s copy the sample input available in the Node Info (\u2139\ufe0f) and modify it according to our data. { \"field\" : \"name\" , \"operator\" : \"==\" , \"value\" : \"Marta\" } This will return all the documents where the field name is equal to Marta. Tip: Click here (opens in a new tab) for a list of all\nthe operators available for filtering. Multiple Filters Example 1: Filtering with OR. To add multiple filters, we can use the logic field to specify the logic to be applied\nto the filters. For example: { \"logic\" : \"OR\" , \"filters\" : [ { \"field\" : \"active\" , \"operator\" : \"==\" , \"value\" : false } , { \"field\" : \"name\" , \"operator\" : \"==\" , \"value\" : \"doe\" } ] } This will return all the documents where the field \u201cactive\u201d is false OR the field \u201cname\u201d is doe. Example 2: Filtering with AND. To filter with AND, we can use the same logic field to specify the logic to be\napplied to. For example: { \"logic\" : \"AND\" , \"filters\" : [ { \"field\" : \"active\" , \"operator\" : \"==\" , \"value\" : false } , { \"field\" : \"name\" , \"operator\" : \"==\" , \"value\" : \"doe\" } ] } This will return all the documents where the field \u201cactive\u201d is false AND the field \u201cname\u201d is doe. Nested Filters We can also nest filters to create complex queries. For example: { \"logic\" : \"AND\" , \"filters\" : [ { \"field\" : \"technology\" , \"operator\" : \"==\" , \"value\" : \"Firebase\" } , { \"logic\" : \"OR\" , \"filters\" : [ { \"field\" : \"admin\" , \"operator\" : \"==\" , \"value\" : true } , { \"field\" : \"age\" , \"operator\" : \">=\" , \"value\" : 18 } ] } ] } This will return all the documents where the field \u201ctechnology\u201d is equal to \u201cFirebase\u201d AND the field \u201cadmin\u201d is true OR\nthe field \u201cage\u201d is greater than or equal to 18. Bonus: Filter by Reference To filter by reference we can use the convention collectionName/documentID for the filter value. For example: { \"field\" : \"user_ref\" , \"operator\" : \"==\" , \"value\" : \"users/user123\" } This will return all the documents where the field \u201cuser_ref\u201d is equal to \u201cusers/user123\u201d. Values passed in this format\nwill be treated as references. Next, let\u2019s limit the number of responses being returned by specifying a limit and add a condition to order the results.\nFor example: [{ name : 'asc' }]; // order in ascending order by the username Get Document To get a document from a collection, lets use the Get Document node from the BuildShip Database integration. Add in the Collection Name and the Document ID to retrieve. Updating Fields To update a field in the document from a collection, lets use the Update Field Value node from the BuildShip\nDatabase integration. For this, we\u2019d require the Document Path instead of the Collection Name and Document ID. To get the Document Path,\nlet\u2019s go to our BuildShip Table for the document we wish to update. Right click any value for that particular row and\nclick on \u201c Copy Path \u201d. Paste the copied document path in the input field. The Document Path is in the following format: collectionName/DocumentID Add in the fieldName to update and the value to update. Delete Document To update a field in the document from a collection, lets use the Delete Document node from the BuildShip\nDatabase integration. Add in the Collection Name and the Document ID of the document to delete. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/basics/buildship-tables\"><meta,https://docs.buildship.com/api/og?title=BuildShip,https://docs.buildship.com\"><meta,https://docs.buildship.com/basics/buildship-tables\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/basics/buildship-tables.mdx\">Edit,http://www.w3.org/2000/svg\",https://cloud.google.com/firestore/docs/query-data/queries#query_operators\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 1788
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/basics/buildship-tables.",
"interpretation_notes": "Extracted 1788 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/basics/oauth",
"content": "OAuth Nodes \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Key Features Authenticating with OAuth Nodes Initiating Authentication Successful Authentication Managing Accounts Switching/Addition of Accounts Removing Accounts / Logging Out OAuth Nodes Mechanism BuildShip OAuth Nodes Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 OAuth Nodes OAuth Nodes are a new addition to the BuildShip Node Library, designed to seamlessly integrate with various services\nthrough OAuth authentication. These nodes simplify the integration process by enabling connections with our favorite integrations without the need for\nadditional setup involving API Keys or IDs. Key Features One-Click Integration : Easily connect with selected integrations with a single click. No Additional Configuration : Avoid the hassle of managing API Keys or IDs. User-Friendly Interface : Recognizable by the Fingerprint Icon situated on the top right corner of the node,\nenabling authentication. Authenticating with OAuth Nodes OAuth Nodes feature a Fingerprint Icon initially highlighted in red, indicating a lack of authentication to any specific\naccount. Initiating Authentication Click on the Fingerprint Icon associated with the node. This action triggers an authentication window, prompting users to log in to the integration. Successful Authentication Upon successful login, the Fingerprint Icon turns green, signifying a completed authentication process. In the event the icon doesn't change automatically, users can manually select the authenticated user account by\nclicking the Fingerprint Icon again. Managing Accounts Switching/Addition of Accounts After a successful login, users can switch to or add a different account for the same integration using the following\nsteps: Click the Fingerprint Icon to access the menu. Select the \" Add an Account \" option to initiate authentication for a new account. Easily switch between accounts by selecting the desired account from the menu. Removing Accounts / Logging Out Click the Fingerprint Icon to open the authentication menu. Select the specific account to log out from. Click the \" Log Out \" button. \ud83d\udca1 Note: Ensure the account is selected before confirming the logout action. The logout action requires prior account\nselection to be successful. OAuth Nodes Mechanism Unlike the regular integration nodes which require you to provide an API Key, the OAuth Nodes redirect you to the OAuth\nprovider\u2019s authorization endpoint. After account is successfully logged in and the request for the permissions is approved, the authorization code is\nexchanged for an Access Token. This Access Token substitutes for the API Keys. BuildShip OAuth Nodes The BuildShip Node Library currently features the following OAuth Nodes (more to be added soon! \ud83e\udd29): Google Workspace \u2192 Notion \u2192 Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/basics/oauth\"><meta,https://docs.buildship.com/api/og?title=OAuth,https://docs.buildship.com\"><meta,https://docs.buildship.com/basics/oauth\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/basics/oauth.mdx\">Edit,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fbasics%2Foauth&r=&sid=MVPMZLFT&qs=%7B%7D&cid=31851537\"",
"token_count": 790
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/basics/oauth.",
"interpretation_notes": "Extracted 790 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/basics/ship-an-api",
"content": "How to SHIP an API \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page How to create an API? Step 1: When will the API be called? Step 2: Specify the Request Structure Step 3: Generate the Story Step 4: Parsing the JSON output Step 5: Running flows in Parallel PARALLEL PROCESS 1: Generating a Cover Image PARALLEL PROCESS 2: Generating the Audio Storybook Step 6: Formatting pages for the Storybook How to test an API? How to ship an API? How to use an API? Making API requests Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 How to SHIP an API Building APIs is a complex process especially when you need to integrate multiple 3rd party integrations. BuildShip\nempowers you to effortlessly design, deploy, and manage APIs, providing a user-friendly platform that accelerates your\ndevelopment cycle. Learn how to build APIs step-by-step, leverage AI to build logic, focus on your business logic rather than intricate\ntechnical details. How to create an API? To begin creating an API, the initial step is to break down the API into smaller chunks. For example, let\u2019s say we wish to build an app which generates custom audio story books based on a prompt provided by the end user of your app and\nalso provide a cover image. What we understand till now is we will call an API from our app\u2019s front end which is gonna fetch the audio and cover\nimage for the prompt provided by the user and display it on the front end. But how do we break this down into small achievable steps? Let\u2019s build this app together and see... Step 1: When will the API be called? According to our example, we are supposed to have an input on the front end for the user to enter the prompt for the\naudio story book. The user would then hit a \u201cGenerate\u201d button which should send the prompt to the API, generate the\naudio story book and return it to the front end. The \u201c Generate \u201d button sends an HTTP request to an API Endpoint which we\u2019ll create using BuildShip. This is the\nstarting point of our API, the HTTP Trigger. Step 2: Specify the Request Structure Now let us define the HTTP Request structure that is going to trigger the API Endpoint. An API Request has the following\nstructure. The Request Endpoint will be the Rest API Call Endpoint that we set, which is https://008vd0.buildship.run/story-gen . For the Request Method , we can pick from GET , POST , PUT , and DELETE . Each method has it\u2019s own actions and\ncharacteristics. To learn more about each of these methods, check out the MDN Docs website (opens in a new tab) . For this example, we\u2019ll use the POST request method. The Query Params are the additional parameters to be appended to the end of the endpoint URL. We do have an option\nto pass in the prompt via the Query Params as shown in the image above, but for this example we\u2019ll pass in the prompt with the style value in the request body. We can also optionally add the HTTP Headers to pass additional information about the HTTP Request. To learn more\nabout the Headers to include, refer to the MDN Docs website (opens in a new tab) . \ud83d\udca1 TIP\ud83d\udca1: We also have a documentation on a very interesting use-case utilizing the Authorization Request Header to\nimplement \u201cBring Your Own Key\u201d (BYOK) using BuildShip. Learn more (opens in a new tab) . For the request body, let\u2019s pass in the values we require for our API from the user which are: Prompt - The main story line for the generation Style - The author style for the story being generated. Let\u2019s say you wish to generate a kids fairytale so we can\ninput \u201cBrothers Grimm\u201d to generate similar stories. The request body should look something like this: { \"prompt\": \"Two siblings discover the hidden mysteries of an enchanted garden\", \"style\": \"Brothers Grimm\" } \ud83d\udca1 For making it easy to access the values (opens in a new tab) for our request structure in the workflow input fields, we can specify the Request Structure in the REST API Call Trigger. Learn more (opens in a new tab) . Step 3: Generate the Story We can now get the prompt and style values from the request body, which we can now directly access from the context\nmenu. Now we need to generate our story via the prompt given by the user. Let\u2019s use the OpenAI GPT Text Generator node to\ngenerate the story, along with the cover image description, for us. Add the OpenAI API Key (which we can get from the OpenAI Developer Dashboard (opens in a new tab) ). \ud83d\udca1 We can securely store our API Keys in the BuildShip Secret Manager to maintain confidentiality and avoid misuse. Learn more (opens in a new tab) . For the System Prompt , let\u2019s add: `You're a ghost writer for ${ ctx[ 'root' ][ 'request' ][ 'body' ][ 'style' ] ?? 'Beatrix Potter' } , users give you prompts and you write short children story, in pages format,with short discription of an illustration to support the text,without mentioning the character names in the illustration text. Respond in json format{ \"cover\":{ \"title\":string, \"subtitle\":string, \"illustration\":string }, \"pages\":[ {index:number, \"illustration\":string, \"text\":string } ] } You are bedtime story teller. You will create: - A short bedtime stories that are meaningful, have a good moral, and creative - It should be safe for children to hear and no explicit content - No more than 6 pages - If you are unsure how to create a story say \"{\"error\":\"Sorry, I can't tell a story on that topic\"}. ` ; For the User Prompt , let\u2019s pass the incoming prompt from the HTTP Request Body. \ud83d\udca1 At any point, while building your BuildShip Workflow, we can use the Workflow and Node testing to check outputs and confirm the workflow is working correctly. Step 4: Parsing the JSON output Now we see that we get a stringified JSON object. Now to convert this into a JSON object we\u2019ll be using the Parse\nJSON node to do this. We can also test and ensure everything is working smoothly till this step. Step 5: Running flows in Parallel Now we need to: Generate the audio file for the story Generate the cover image for the storybook Both of these processes can be run in parallel. Let\u2019s add a Parallel Execution node. Now, let\u2019s discuss each of these\nprocesses one by one. PARALLEL PROCESS 1: Generating a Cover Image GENERATE IMAGE Firstly, we need a node to generate an image based on the prompt provided by the GPT Text Generator Node. \ud83d\udca1 If you search \u201cGenerate Image\u201d in the node explorer, you\u2019ll see BuildShip comes with a bunch of pre-built integration nodes for the same purpose - OpenAI DALL-E, StabilityAI Image Generator, Hugging Face Text to Image, Replicate Image Generation. You can use any of these pre-built nodes for generating the cover image. For this example, we\u2019ll be using the OpenAI Image Generator node using the DALL-E Model. Add in your API Key and\npick the DALL-E Model. For the Input Text, we\u2019ll be passing in the value for the cover.illustration from our Parsed\nOpenAI JSON. Pick a size. For this example, we\u2019ll be using 1024 X 1024. Clicking on the \u2139\ufe0f\u00a0icon on the Image Generator node reveals a node info section which tells us everything we need to\nknow about that node. This reveals that the generated output will be a Base64 file. SAVE BASE64 FILE Let\u2019s search the nodes featuring the Base64 format. We see we have two nodes: Upload Base64 file to BuildShip File Storage Upload Base64 file to Google Cloud Storage For this example, let\u2019s use the BuildShip File Storage node which requires no set-up. We\u2019ll be able to upload the Base64\nfile to a folder in the File Storage and returns the generated Public URL. \ud83d\udca1 We can also access the files via the BuildShip Storage Manager available in the Project Settings. For the * *Upload Base64 File - BuildShip Storage** node, add the output file from the OpenAI Image Generator node. For the file name, we\u2019ll need to add a unique name every time a story is generated. We can achieve this by adding a UUID\nGenerator node before the Parallel Execution , after the Parse JSON node. In the File Name input for the Upload Base64 File node, we can define the entire path for storing the Image file. For\nexample: Our flow to generate the cover image for the story. Now, let\u2019s build the parallel flow for generating the audio file for\nthe Storybook. PARALLEL PROCESS 2: Generating the Audio Storybook For generating the audio file for each of the story book page, we\u2019ll require a loop. This will loop over each page\u2019s\ntext, generate an audio file, and upload the file to the BuildShip File Storage in each iteration. ADDING A LOOP The Items input requires an array to loop through. Let\u2019s add the pages array from the parsed JSON input provided by\nOpenAI (from the Parse JSON node). CONVERT TEXT TO SPEECH Now, within the loop, we need to add the OpenAI Text to Speech node which will convert the story pages into audio page\nby page with every iteration. Add in the API Key and pick a model. The Input Text is the text for the current iteration page, i.e. item.text . SAVING THE AUDIO FILE TO STORAGE Once one iteration of the loop generates the audio it will output a Base64 file which we need to save to the BuildShip\nstorage. So, the audio file generated in every iteration is collected in a folder to be combined later. The Base64 File will be the output generated by the Text to Speech node for that iteration. Let\u2019s set the File Path to: Step 6: Formatting pages for the Storybook All we need to do now is to combine all of our generated data together. For this, we do not already have a pre-built\nnode in the library, so let\u2019s create it using the \u201c Generate with AI \u201d feature. Take the following prompt for example: I need a node that takes audioUrls array and pages array as input. It should iterate over the audioUrls array and, for each index, create a JSON object with properties - index - audio (value should be the audioUrl at the current index) - text (the text in the pages array at the same index) For the Audio URLs add in the output from the Loop node, and for Pages add the ParseJSON.pages as shown in\nthe Image below. Now, we can test the workflow and see if everything is working as expected and return the output as shown below: How to test an API? Now that we have built our workflow, let\u2019s test it out. We can test the workflow by clicking on the \u201c Test \u201d button on\nthe top right corner of the canvas. You can add in the Request inputs - Query Params, Headers, and Body. For this example, we'd only require the Body. Let's\nadd the following: { \"prompt\": \"Two siblings discover the hidden mysteries of an enchanted garden\", \"style\": \"Brothers Grimm\" } Now, let\u2019s click on the \u201c Run \u201d button to run the workflow. We can see the workflow running in real-time and the\noutput being generated. For every successful execution of a node, we can see a green tick mark. For any failed execution, we can see a red cross\nmark. We can also see the output generated by each node by clicking on the mark. How to ship an API? Now that we have built and tested our API, let\u2019s ship it. We can ship our API by clicking on the \u201c Ship \u201d button on\nthe top right corner of the canvas. It takes just a few seconds to complete the deployment process. Once the deployment is complete, we can see the API\nEndpoint URL in the pop-up. TIP\ud83d\udca1: We can also copy the API Endpoint URL from the link icon on top of the REST API Trigger node. This is the endpoint URL the HTTP request has to be directed to. The best part is that we can easily perform changes and hit the \u201c Ship \u201d button again to update the API. \u26a0\ufe0f The API will not be updated unless the \u201c Ship \u201d button is clicked. Also, any accidental changes made to the API will\nnot be reflected until the \u201c Ship \u201d button is clicked. Also, every time we ship an API, a new version is created. We can see all the versions of the API in the \u201c Version\nHistory \u201d tab next to the Ship Button. (This is only available for paid plans) How to use an API? Now that we have shipped our API, let\u2019s see how we can use it. We can use the API Endpoint URL in any of our apps, be it\na low-code app or a custom app. All we need to do is hit the API Endpoint URL with the required inputs. You can pick any programming language, HTTP\nlibrary or framework to make the API call. Common choices include requests in Python, axios in JavaScript, or libraries in other languages. For testing purposes,\nyou can use Postman (opens in a new tab) , HoppScotch (opens in a new tab) or Insomnia (opens in a new tab) . Making API requests Use the chosen HTTP library to make requests to the API endpoints. Include any required parameters, headers, and\nauthentication tokens. Example in Python using requests : import requests url = \"https://xyz.buildship.run/post_endpoint\" headers = { \"Content-Type\" : \"application/json\" , \"Authorization\" : \"Bearer YOUR_API_KEY\" } # Dummy data data = { \"name\" : \"John Doe\" , \"email\" : \"john.doe@example.com\" , \"age\" : 30 } # Making a POST request response = requests . post (url, json = data, headers = headers) # Handling the response if response . status_code == 201 : # Assuming a successful creation status code result = response . json () print ( \"Post successful. Result:\" , result) else : print ( f \"Error: { response.status_code } \" ) Example in JavaScript using axios : const axios = require ( 'axios' ); const url = 'https://xyz.buildship.run/post_endpoint' ; const headers = { 'Content-Type' : 'application/json' , Authorization : 'Bearer YOUR_API_KEY' , }; // Dummy data const data = { name : 'John Doe' , email : 'john.doe@example.com' , age : 30 , }; // Making a POST request with axios axios .post (url , data , { headers }) .then ((response) => { console .log ( 'Post successful. Result:' , response .data); }) .catch ((error) => { console .error ( 'Error:' , error .message); }); Example in JavaScript using fetch : const url = 'https://xyz.buildship.run/post_endpoint' ; const headers = { 'Content-Type' : 'application/json' , Authorization : 'Bearer YOUR_API_KEY' , }; // Dummy data const data = { name : 'John Doe' , email : 'john.doe@example.com' , age : 30 , }; // Making a POST request with fetch fetch (url , { method : 'POST' , headers : headers , body : JSON .stringify (data) , }) .then ((response) => { if ( ! response .ok) { throw new Error ( `HTTP error! Status: ${ response .status } ` ); } return response .json (); }) .then ((result) => { console .log ( 'Post successful. Result:' , result); }) .catch ((error) => { console .error ( 'Error:' , error .message); }); Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/basics/ship-an-api\"><meta,https://docs.buildship.com/api/og?title=How,https://docs.buildship.com\"><meta,https://docs.buildship.com/basics/ship-an-api\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/basics/ship-an-api.mdx\">Edit,https://008vd0.buildship.run/story-gen</code>.</p>,https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods\",https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers\",https://docs.buildship.com/tutorials/byok\",http://www.w3.org/2000/svg\",https://docs.buildship.com/basics/api-spec#accessing-request-values\",https://docs.buildship.com/basics/api-spec#request-specification\",https://platform.openai.com/account/api-keys\",https://docs.buildship.com/secrets\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://www.postman.com/\",https://hoppscotch.io/\",https://insomnia.rest/\",https://xyz.buildship.run/post_endpoint\"</span></span>,http://www.w3.org/2000/svg\",https://xyz.buildship.run/post_endpoint'</span><span,http://www.w3.org/2000/svg\",https://xyz.buildship.run/post_endpoint'</span><span,http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fbasics%2Fship-an-api&r=&sid=MVPMZLFT&qs=%7B%7D&cid=97358318\"",
"token_count": 2978
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/basics/ship-an-api.",
"interpretation_notes": "Extracted 2978 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/rest-api",
"content": "REST API Call Trigger \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Setting up a REST API Call Trigger in BuildShip Add Trigger Node Platform to send Requests Example: Triggering a Workflow with a REST API Call NODE 1: Trigger - Rest API Call NODE 2: Calculator Node NODE 3: Return Node Testing the Workflow Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes Rest API REST API Call Trigger With this powerful trigger node, you can initiate automation by sending HTTP requests to specified URL endpoints .\nWhen setting up the REST API Call Trigger, you define the path , choose the HTTP method (GET, PUT, POST, DELETE),\nand create the complete endpoint URL. Setting up a REST API Call Trigger in BuildShip To set up a REST API Call Trigger in your BuildShip workflow, follow these steps: Add Trigger Node In a fresh workflow, click \"Add Trigger,\" and select \"Rest API Call\" from the available options. The Rest API Call trigger comes with three fields: Path: Specify the URL Endpoint to which you want to send the request. Method: Choose the appropriate HTTP method for your request, such as GET, PUT, POST, or DELETE. Endpoint URL: This is the complete request URL, including the endpoint you specified in the Path field. Platform to send Requests The REST API Call Trigger allows you to pick any platform to trigger an HTTP request to the specified Endpoint URL. This\nflexibility empowers you to integrate BuildShip with various applications and services seamlessly. Example: Triggering a Workflow with a REST API Call Calculator - Multiplying two numbers and returning the result NODE 1: Trigger - Rest API Call Set path to /calculator Method: POST Copy the endpoint URL NODE 2: Calculator Node Selected a pre-built Calculator Node from the Node Library. To add first and second numbers, click on the Expression (x) icon \u2192 Select Expression \u2192 Click on the Expression Editor \u2192 Click on Insert Variable \u2192 Under Request , select Body and add the key in either of\nthe following formats: [\"num1\"] or .num1 . Repeat the above step for the second number. Selected the operation as MULTIPLY . NODE 3: Return Node Added a pre-built Return Node from the Node Library. Set the Status Code to (OK) 200 For the Value, click on the Expression (x) icon \u2192 Select Expression \u2192 Click on the Expression Editor \u2192 Click on\nInsert Variable \u2192 Under Calculator, select Result . Testing the Workflow To test our our Workflow, let\u2019s go to Postman. Add in the copied Endpoint URL and set the request method to POST. (Same\nas we had set up in the Trigger Node) Add in the body and click Send! \ud83d\ude80 Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/rest-api\"><meta,https://docs.buildship.com/api/og?title=REST,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/rest-api\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/rest-api.mdx\">Edit,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Ftrigger-nodes%2Frest-api&r=&sid=MVPMZLFT&qs=%7B%7D&cid=41006989\"",
"token_count": 826
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/rest-api.",
"interpretation_notes": "Extracted 826 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/scheduled-cron",
"content": "Scheduled Cron Trigger \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page User Friendly Cron Triggers \u23f0 How to Use Scheduled Cron Trigger Understanding the Cron Syntax Setting up the Scheduled Cron Trigger Add Trigger Node Configure Fields Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes Scheduled Cron Scheduled Cron Trigger The Scheduled Cron Trigger node is a powerful tool within BuildShip that enables you to automate workflows based on\nscheduled time intervals . This trigger allows you to initiate workflows at specific times , or patterns, ensuring\ntimely execution of your automation tasks. User Friendly Cron Triggers \u23f0 BuildShip offers a 4 user-friendly cron triggers which let you schedule workflows to run at specific intervals , like\nevery day, every hour, every month, and every week. No need to set up complex cron expressions, just choose the\ndesired interval and time zone . Learn more: Every Day: Schedule a workflow to run every day at a specified time, like 5 pm every day. \u2192 Every Hour: Schedule a workflow to run every hour for more frequent automation. \u2192 Every Month: Schedule a workflow to run at a specific time on chosen days of the month, such as the 1st and 15th at midnight. \u2192 Every Week: Schedule a workflow to run at a specific time on chosen days of the week, like every Monday, Wednesday, and Friday at noon. \u2192 How to Use Scheduled Cron Trigger The Scheduled Cron Trigger node comes with three essential fields that you need to configure: Location : The GCP region where the trigger will be executed . This field is automatically filled based on the\nGCP region associated with your workspace. Schedule : Set the schedule pattern using the cron syntax . This field determines the frequency and timing of\nyour workflow execution. For example, */20 * * * * specifies an interval of 20 minutes. \ud83d\udca1 Discover additional information about cron syntax and creating custom cron expressions here . Time Zone : Choose the desired time zone for your scheduled trigger . You can select from the list of existing\ntime zones. Understanding the Cron Syntax CRON syntax is a widely used standard for scheduling tasks in various Unix-like operating systems. It defines a set\nof fields that specify when a task should be executed based on time intervals. Each field represents a unit of time, allowing users to define intricate scheduling patterns . The CRON syntax consists of five fields, each separated by a space: Minute (0 - 59) : Specifies the minute at which the task should run. A value of * indicates any minute, while 0\nindicates the exact minute. Hour (0 - 23) : Specifies the hour at which the task should run. A value of * indicates any hour, while 0\nindicates midnight. Day of Month (1 - 31) : Specifies the day of the month when the task should run. A value of * indicates any day,\nwhile specific numbers represent particular days. Month (1 - 12) : Specifies the month when the task should run. A value of * indicates any month, while specific\nnumbers represent particular months. Day of Week (0 - 6) : Specifies the day of the week when the task should run. The values 0 and 7 often represent\nSunday, 1 represents Monday, and so on. The CRON syntax also supports special characters and shorthand notations: */x : Represents every x interval. For example, */15 in the minutes field means every 15 minutes. x-y : Represents a range of values. For example, 1-5 in the day of week field means Monday to Friday. x,y,z : Represents a list of values. For example, 1,15 in the day of month field means the 1st and 15th day. \u2705 EXAMPLE 1: Suppose you want to schedule a task to run every day at 3:30 PM. The CRON expression for this scenario would be: 30 15 * * * Minute (30) : The task should run at the 30th minute of the hour. Hour (15) : The task should run at the 15th hour, which is 3:00 PM in 24-hour format. Day of Month (*) : The task should run on any day of the month. Month (*) : The task should run in any month. Day of Week (*) : The task should run on any day of the week. \u2705 EXAMPLE 2: Suppose you want to schedule a task to run every weekday (Monday to Friday) at 9:00 AM. The CRON expression for this scenario would be: 0 9 * * 1-5 Minute (0) : The task should run at the 0th minute of the hour. Hour (9) : The task should run at the 9th hour, which is 9:00 AM. Day of Month (*) : The task should run on any day of the month. Month (*) : The task should run in any month. Day of Week (1-5) : The task should run on Monday to Friday. Setting up the Scheduled Cron Trigger To set up a Scheduled Cron Trigger within your BuildShip workflow, follow these steps: Add Trigger Node Create a new workflow or open an existing one. Click \"Add Trigger\" and select \"Scheduled Cron\" from the available\ntrigger options. Configure Fields Configure the fields within the Scheduled Cron Trigger node. You can choose the desired GCP region, schedule pattern,\nand time zone for your trigger as given in the above sections. \ud83e\uddbe Use Cases for Scheduled Interval Trigger Example 1: Daily Backup CRON Expression : 0 0 * * * Description : This expression triggers the workflow every day at midnight. It's perfect for automating daily backups of your data. Example 2: Weekly Reports CRON Expression : 0 8 * * 1 Description : This expression triggers the workflow every Monday at 8:00 AM. It's great for generating weekly reports at the start of the workweek. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/scheduled-cron\"><meta,https://docs.buildship.com/api/og?title=Scheduled,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/scheduled-cron\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/scheduled-cron.mdx\">Edit,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Ftrigger-nodes%2Fscheduled-cron&r=&sid=MVPMZLFT&qs=%7B%7D&cid=20505656\"",
"token_count": 1352
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/scheduled-cron.",
"interpretation_notes": "Extracted 1352 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/rowy-trigger",
"content": "Rowy Trigger \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Pre-requisites \u2705 Configuration in BuildShip Add a Rowy Trigger Add in your Rowy Project ID Setting up the Rowy Extension Add the BuildShip Extension Select Trigger Events Specify Required Fields (Optional) Set Trigger Conditions (Optional) Configure BuildShip Trigger Save and Deploy The Request Structure Updating Rowy Table with the API Response Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes Rowy Trigger Rowy Trigger Rowy Triggers in BuildShip allow you to initiate a BuildShip workflow in response to specific events within your Rowy\nProject. This integration enables you to automate tasks seamlessly based on events that occur in your Rowy environment. \ud83d\ude80 This method also acts as a Firebase Trigger , allowing you to efficiently manage your Firebase Data with both Rowy\nand BuildShip. Pre-requisites \u2705 For this integration to work, you will need: A Rowy Project with a Rowy Run set up. If you don't have a Rowy Project, you can create one here (opens in a new tab) . Configuration in BuildShip Add a Rowy Trigger After creating a new workflow in BuildShip, click on Add a Trigger and select Rowy Trigger from the available options. Add in your Rowy Project ID In the Project ID field add your Rowy Project ID. Click on the link icon on the top right within the trigger to copy the\nconfiguration details required for the next steps. \ud83d\udc40 To get your Rowy Project ID, go to your Rowy Table and click on your profile picture on the top right. You'll find the Project ID under the your Email Id. This is all you need to do in BuildShip to set up the Rowy Trigger. Now, let's set up the BuildShip Extension our Rowy\nTable. Setting up the Rowy Extension Add the BuildShip Extension In your Rowy Table, access the extensions menu and add a \" BuildShip Trigger Extension \". Select Trigger Events Choose the specific events within Rowy that will trigger the BuildShip extension. You can select from events: Create Update Delete Specify Required Fields (Optional) Optionally, you can define the required fields that must be populated to trigger the extension. Set Trigger Conditions (Optional) If needed, add conditions that determine whether the extension should be triggered for a given row. Configure BuildShip Trigger Within the extension body, navigate to the return statement. You'll find the \"buildshipConfig\" object, which includes\nthe following fields: buildshipConfig : { projectId : \"\" , workflowId : \"\" } Replace the placeholder with the configuration details copied from your BuildShip Rowy Trigger. It should look something\nlike this: buildshipConfig : { projectId : \"buildship-008vd0\" , workflowId : \"zE49cCs5kBmg7GkUwzLt\" } Save and Deploy Once you've configured the extension to your requirements, click on \"Add\" and then deploy the extension. Now, whenever the selected event (Create, Update, or Delete) occurs in your Rowy Table, it will trigger the BuildShip\nworkflow linked to this extension. The Request Structure When the BuildShip Workflow is triggered via the Rowy Extension, it passes the following request body structure: This body structure can then be referenced in different parts of the workflow as variables. Updating Rowy Table with the API Response Once you've configured your Rowy Trigger and the BuildShip Extension on Rowy, let's explore how to update fields or\nadd a row in our Rowy table from our BuildShip Workflow using an example. In this scenario, we have a Rowy Table containing a list of items. The BuildShip Extension triggers the connected\nBuildShip Workflow every time a new item is added or updated. The triggered workflow employs OpenAI\u2019s GPT Model to generate an adjective to describe each item and updates the\nadjective column in the Rowy Table accordingly. To implement this, after setting up the Rowy Extension and Trigger mechanism, proceed to add an OpenAI Text Generator\nnode. Add your OpenAI API Key (opens in a new tab) . Set the User Prompt to Row.item . Define the System Prompt as follows: Generate a unique adjective for a given item. Provide only one word. To update the Rowy Table with the generated adjective, utilize the Update Firestore Field Value node. This node updates the Firestore Collection associated with your Rowy project , thereby reflecting changes in the Rowy Table. \ud83d\udca1 NOTE: To utilize the Firebase/Firestore nodes and connect to your Firebase project, follow the step-by-step guide to\ninitiate the connection here . In the Update Firestore Field Value node: Enter the same Project ID used in the Rowy Trigger. Set the Document Path input to the variable Body > Ref > Path . Define the Field Key as adjective (for this example). Pass the output of the OpenAI Text Generator node into the **New Value(()) input. \u26a0\ufe0f The Return node does not update the Rowy Table or returns any values in this case as the BuildShip Extension doesn't support returning values to the Rowy Table. The Update Firestore Field Value node has to be used to update the Rowy Table with the response values. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/rowy-trigger\"><meta,https://docs.buildship.com/api/og?title=Rowy,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/rowy-trigger\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/rowy-trigger.mdx\">Edit,https://www.youtube.com/embed/mkuu_0V8dLw\",https://rowy.app/\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://platform.openai.com/account/api-keys\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 1207
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/rowy-trigger.",
"interpretation_notes": "Extracted 1207 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/telegram-bot",
"content": "Telegram Bot Trigger \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Pre-requisites \u2705 How to setup a Telegram bot and get API key Clone the Telegram Bot Assistant Template Search Telegram Bot and publish it to Telegram and share with users Step to create a Telegram Bot workflow manually Add the Telegram Bot Trigger Verification Code (optional) Add \"Send Telegram message\" Node Return success status and click Ship Send a message to Test That's it \ud83c\udf89 Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes Telegram Bot Telegram Bot Trigger The Telegram Bot is a handy trigger within BuildShip that enables you to handle incoming messages in Telegram chats. This trigger allows you to easily manage Telegram Bot, moderate and respond with meaningful messages and even include\nOpenAI in your workflow to generate meaningful responses to assist users. Create a bot and share it with your users to\ndirectly interact with your Telegram Bot and get responses. Pre-requisites \u2705 Telegram bot API key - The API keys of the Telegram bot that will be responding to the incoming messages. To\nsetup a bot and get the API key, follow the instructions here . How to setup a Telegram bot and get API key Enter @BotFather in the search tab and select the verified bot with tick mark that shows up. Click Start to activate the BotFather bot. You will receive a list of commands to manage the bots. Choose or type the /newbot command and click Send. Choose a name for your bot. Your subscribers will see it in their conversations. Next, choose a username for your\nbot. The bot can be found by its username in the search bar. The username must be unique and end with the word \u201cbot.\u201d Once you've made your selection for your bot's name, your bot will be brought to life. Shortly thereafter, you'll\nreceive a message containing a link leading to your bot, which can be accessed at \"t.me/[bot_username] as well as\nyour API key. Make note of this API key as this is what you will need to use in the Telegram Trigger node on BuildShip. Clone the Telegram Bot Assistant Template Clone this template to get started with the Telegram Bot by just adding your token. Search Telegram Bot and publish it to Telegram and share with users Search for @userdetailsbot on telegram to get your personl UID. Add the UID generated by Userinfo | Get id bot in the chat ID of the Send Telegram Messaging Node. (optional if using\nfrom the template - the ID is passed as variable from the trigger response) Search for your created Bot on Telegram and click start. Start chatting with your Bot. Step to create a Telegram Bot workflow manually Add the Telegram Bot Trigger Add the telegram bot's API Key, that you can get from this step . Also,\noptionally you can add a Verification Code if you want incoming requests to be verified. Verification Code (optional) Telegram Bot API provides a verification code to ensure requests to your bot's webhook are coming from Telegram itself.\nThis code is a random string sent in the X-Telegram-Bot-Api-Secret-Token header with each update request. You can use\nthis code to verify that the request is coming from Telegram and not from a third-party source. If you want to use this\nfeature, you can generate a random string and add it to the Verification Code field in the Telegram Bot Trigger node.\nThis code will be sent in the X-Telegram-Bot-Api-Secret-Token header with each update request to your bot's webhook. You\ncan then verify this code in your workflow to ensure the request is coming from Telegram. To set the verification code, you can add the code in the Verification Code field in the Telegram Bot Trigger node and\nsend it to the headers of te incoming request to your webhook. To know more about Telegram Bot verification code you can\nrefer to this link (opens in a new tab) . Add \"Send Telegram message\" Node Next to you workflow, add a node by searching in the node explorer for \"Send Telegram message\" node to reply to\nincoming messages. Add the \"Chat ID\" of the group that you want the bot to reply to. (Use the Telegram Assistant Template to skip adding\nthe ChatID (and fetch it dynamically from the Trigger Response)) To this node also add the response \"Text\" that you want the bot to reply with. We have added here, a generic message\nof \"Welcome to the group...\". You can however, add nodes like OpenAI text generation to respond with AI, or even verify if the incoming message is\nfrom a Stripe paying user before responding There is full flexibiliy to add more nodes and handle what your bot is replying with. Return success status and click Ship Finally, add a \"Return\" node that will respond with a success status. And click the \"Ship\" button to deploy the workflow Send a message to Test Finally, you can send a message and test the response is as expected. That's it \ud83c\udf89 \ud83d\udca1 Use the Telegram Bot Assistant to create a Telegram Bot workflow without the need to add the Chat ID manually and\nstart by just setting up the bot and passing the access token. customers. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/telegram-bot\"><meta,https://docs.buildship.com/api/og?title=Telegram,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/telegram-bot\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/telegram-bot.mdx\">Edit,https://core.telegram.org/api/auth#sending-a-verification-code\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 1255
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/telegram-bot.",
"interpretation_notes": "Extracted 1255 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/supabase-trigger",
"content": "Supabase Trigger \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page OAuth-Based Configuration Trigger Configuration Project Reference Event Table Schema Table Name Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes Supabase Trigger Supabase Trigger The Supabase Trigger allows the creation of a database webhook on Supabase. When an event occurs on the specified\nSupabase table, this trigger initiates the associated BuildShip workflow . Events can include Insertions, Updates, or\nDeletions . OAuth-Based Configuration This trigger operates through OAuth authentication, eliminating the need for users to provide API Keys. By clicking on\nthe fingerprint icon, users are redirected to the Supabase login page to grant necessary permissions. Upon successful\nlogin, the red fingerprint icon changes to green, indicating successful authentication. Trigger Configuration The Supabase Trigger requires the following configuration: Project Reference This refers to the Supabase project reference , typically obtained from the Supabase dashboard. It's a unique\nidentifier for the project within Supabase. Event Specifies the type of event on the table that triggers the workflow . Events can include insertions, updates, or\ndeletions. Choose the specific event that should activate the workflow. The trigger can be configured to activate on auth updates, such as when a user signs up. To set this up, ensure the\ntable schema is defined as auth , and the table name is specified as users . Table Schema Refers to the Postgres schema associated with the table on Supabase . The schema organizes and structures the\ndatabase objects and data. More info on table schemas. Table Name Denotes the name of the table within Supabase for which the trigger is set up. The workflow will be activated based\non the specified events occurring in this table. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/supabase-trigger\"><meta,https://docs.buildship.com/api/og?title=Supabase,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/supabase-trigger\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/supabase-trigger.mdx\">Edit,http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Ftrigger-nodes%2Fsupabase-trigger&r=&sid=MVPMZLFT&qs=%7B%7D&cid=10738906\"",
"token_count": 657
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/supabase-trigger.",
"interpretation_notes": "Extracted 657 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/buildship-trigger",
"content": "BuildShip Trigger \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Understanding the Mechanism Execute Workflow Node Project ID (optional) Workflow ID Data Await? The BuildShip Trigger Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes Buildship Trigger BuildShip Trigger The BuildShip Trigger serves as a mechanism to initiate a BuildShip Workflow from another workflow by employing the Execute Workflow node. This functionality enables users to trigger workflows within the same project or across different projects. TIP \ud83d\udca1: An alternative method to accomplish this is through the API Call Node available in the Node Library. Understanding the Mechanism 1. Execute Workflow Node This node is added to the primary workflow and serves the purpose of initiating the secondary workflow. 2. BuildShip Trigger This is integrated into the secondary workflow, which is intended to be triggered. Execute Workflow Node The Execute Workflow Node empowers users to trigger any workflow, regardless of whether it belongs to the same or a\ndifferent project. For the Execute Workflow Node, the following information is required: Project ID (optional) When executing a BuildShip Workflow that isn't part of the current project, users must specify the Project ID . This ID can be found within the BuildShip Trigger Config or in the BuildShip Project Settings page. Workflow ID The Workflow ID is necessary to identify the workflow to be invoked. Users can retrieve this ID from the BuildShip\nTrigger config or copy it from the address bar. The Workflow ID is the last part of the URL, as shown below: https://buildship.app/p/project-id/workflow/workflow-id Data This input allows users to pass data to another workflow as the request body. The data format is expected to be in the\nform of a JSON object. Sample Data Object: { \"name\" : \"John Doe\" , \"age\" : 30 , \"city\" : \"New York\" } Await? This boolean input determines whether the triggered secondary workflow needs to complete before proceeding with the\nremaining nodes in the primary workflow. The BuildShip Trigger To complete this mechanism, users need to include the BuildShip Trigger Node in the secondary workflow intended to be\ninitiated via the Execute Workflow node. The BuildShip Trigger node processes incoming trigger requests from the \" Execute Workflow \" node, validating the\nsource and authenticating it. If calling the target workflow from a different BuildShip Project (other than the one housing the target workflow),\nusers need to specify the Runtime Service Account from the other project. This information can be obtained from the\nProject Settings page within BuildShip. If the user needs to call the target workflow from a different BuildShip Project (other than the one with the target\nworkflow), users need to specify the Runtime Service Account of other project (one with the \" Execute Workflow \"\nNode). The BuildShip Runtime Service Account can be obtained from the Project Settings page. The data passed through the Execute Workflow node can be accessed in the target workflow using the Data variable from\nthe context menu in the Input Editor. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/buildship-trigger\"><meta,https://docs.buildship.com/api/og?title=BuildShip,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/buildship-trigger\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/buildship-trigger.mdx\">Edit,https://buildship.app/p/project-id/workflow/workflow-id</span></span></code></pre><div,http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Ftrigger-nodes%2Fbuildship-trigger&r=&sid=MVPMZLFT&qs=%7B%7D&cid=50517044\"",
"token_count": 870
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/buildship-trigger.",
"interpretation_notes": "Extracted 870 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/firebase-auth",
"content": "Firebase Auth Request Trigger \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Prerequisites \u2705 Understanding the Mechanism Request Method Request Headers Request Body The Firebase Authenticated Request Trigger Firebase Project ID Path Method Trigger Outputs Example Workflow Firebase Authenticated Request Trigger Branch Node Conditional Workflow Execution Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes Firebase Auth Request Firebase Auth Request Trigger The Firebase Authenticated Request Trigger facilitates seamless API Calls to BuildShip from a Web Client. Leveraging the\nuser's ID token as the authentication key, it automatically rejects unauthenticated requests, ensuring robust security\nmeasures. This mechanism ensures that only authenticated users of your application can send requests to your API endpoint. Prerequisites \u2705 A Frontend Application / Web Client integrated with Firebase Authentication . Users must pass the end-user's ID\ntoken in the headers to authenticate the request. Understanding the Mechanism This trigger functions similar to the REST API Call Trigger . It allows you to specify the Path of the API Endpoint and the HTTP Method for the incoming request. The Request Structure is outlined below: Request Method The HTTP Method for the incoming request can be specified in the Firebase Authenticated Request Trigger configuration.\nThe supported methods are GET, POST, PUT, and DELETE. Request Headers The request headers must include the Authorization Header , where the value should be the user\u2019s ID Token received\npost successful user authentication within your Web Client. Additionally, the Content-Type should be set to application/json . For more details about Firebase ID Tokens, refer to the documentation here (opens in a new tab) . \ud83d\udca1 For testing purposes, users can conveniently copy and paste their token from the network tab. SAMPLE INPUT : Authorization: 'Bearer eyJhbGciOiJSUzI1NiIsImtpZC...', 'Content-Type': 'application/json' Request Body For HTTP Methods like POST , and PUT , users have the option to pass any desired data to be accessed within the\nWorkflow associated with the Firebase Auth Trigger. This data format must adhere to a JSON Object . SAMPLE INPUT : { \"key1\": \"value1\", \"key2\": \"value2\" } Here\u2019s an example demonstrating a similar request using the API Call Node in BuildShip. However, for actual\nimplementation, this request must be made through the client application. The Firebase Authenticated Request Trigger In a blank workflow, click on \u201c Add Trigger \u201d button and select the \u201c Firebase Authenticated Request \u201d trigger. The Project ID , Path , and Method inputs are required for configuring the trigger for your project. Firebase Project ID Users must specify the Firebase Project ID utilized by their client application . This trigger initializes\nauthentication and validates the token passed in the request. If no Project ID is provided, the Trigger employs the default Project ID linked with your BuildShip Project. Path The Path specifies the endpoint where the incoming request is directed. This can be any valid URL path, such as /users , /products , or /orders . Method The Method input specifies the HTTP Method for the incoming request. The supported methods are GET, POST, PUT, and\nDELETE. Trigger Outputs Once the trigger is correctly configured, users will be able to access the Request Body passed via the POST Request made\nto the endpoint, along with the Firebase User details. The Firebase User Details include the Display Name, Photo URL, Email, and UID. All these outputs can be accessed as variables using the Context Menu in the Editor. Example Workflow Consider a scenario where we aim to generate custom tokens for users whose emails end with a specific domain, such as @buildship.com . Let's outline the steps for achieving this: Firebase Authenticated Request Trigger Add the Project ID associated with the client that authenticates the user and generates the ID Token. Branch Node Set up a Branch node in the workflow to evaluate whether the Firestore User Email includes @buildship.com. Paste the\nfollowing condtion in the Editor: ctx[\"root\"][\"firebase-trigger\"][\"user\"][\"email\"].includes(\"@buildship.com\") Conditional Workflow Execution If the user's email matches the condition ( @buildship.com ), proceed with generating a custom Firebase Token for the\nuser's UID. If the condition is not met, return a response with a status code of 401 - Unauthorized Request. This workflow ensures that only users with email addresses ending in @buildship.com receive custom Firebase Tokens,\nallowing controlled access to specific functionalities or resources within the application. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/firebase-auth\"><meta,https://docs.buildship.com/api/og?title=Firebase,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/firebase-auth\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/firebase-auth.mdx\">Edit,https://firebase.google.com/docs/auth/admin/verify-id-tokens#web\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Ftrigger-nodes%2Ffirebase-auth&r=&sid=MVPMZLFT&qs=%7B%7D&cid=68136278\"",
"token_count": 1086
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/firebase-auth.",
"interpretation_notes": "Extracted 1086 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/github-trigger",
"content": "GitHub Webhook Trigger \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Authentication Input Configuration Repository Owner Events Use Cases Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes GitHub Trigger GitHub Trigger The GitHub Trigger is a powerful tool that allows you to create a webhook on a GitHub repository , enabling you to execute a BuildShip workflow whenever specific events occur in the repository . This integration seamlessly connects\nyour GitHub projects with BuildShip, unlocking a world of automation possibilities. Authentication The GitHub Trigger leverages OAuth for authentication, providing a secure and user-friendly experience. Users are\nprompted to grant the necessary permissions to BuildShip during the configuration process, eliminating the need to share\nsensitive API keys. To authenticate, users simply click on the fingerprint icon , which redirects them to the GitHub login page. After\ngranting the necessary permissions, the red fingerprint icon will turn green, indicating successful authentication. Input Configuration Repository The GitHub Repository for which you want to set up the webhook . Ensure that you have the required permissions to\ncreate a webhook for the selected repository. Owner The owner (user or organization) of the repository for which you want to set up the webhook. Events The list of events that will trigger the associated BuildShip workflow . You can choose from a wide range of over\n40 events , including: push : Triggered when code is pushed to the repository. issues : Triggered when issues are opened, closed, or updated. pull_request : Triggered when pull requests are opened, closed, or updated. release : Triggered when a new release is published. fork : Triggered when the repository is forked. And many more! For a comprehensive list of available events, their descriptions, and the expected payload, refer to the GitHub Webhook Events and Payloads documentation (opens in a new tab) . Use Cases The GitHub Trigger opens up a world of possibilities for automating various tasks and processes related to your GitHub\nprojects. Here are some interesting use cases: Continuous Integration and Deployment (CI/CD): Trigger a BuildShip workflow to build, test, and deploy your\napplication whenever code is pushed to a specific branch or when a pull request is merged. Issue and Pull Request Management: Automate tasks like assigning labels, adding comments, or moving issues to a\nproject board based on specific events related to issues and pull requests. Release Management: Trigger a workflow to create and publish release notes, update documentation, or notify\nrelevant stakeholders when a new release is published. Repository Monitoring: Set up workflows to monitor repository activity, such as forks, stars, or branch protection\nchanges, and take appropriate actions based on the events. Collaboration and Notifications: Integrate with various communication channels (e.g., Slack, Microsoft Teams) to\nreceive notifications or updates about repository events, facilitating better collaboration among team members. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/github-trigger\"><meta,https://docs.buildship.com/api/og?title=GitHub,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/github-trigger\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/github-trigger.mdx\">Edit,https://docs.github.com/en/webhooks/webhook-events-and-payloads\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Ftrigger-nodes%2Fgithub-trigger&r=&sid=MVPMZLFT&qs=%7B%7D&cid=90724300\"",
"token_count": 841
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/github-trigger.",
"interpretation_notes": "Extracted 841 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/file-upload",
"content": "Rest API File Upload \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Input Request Structure Output Usage Testing the Trigger Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes Rest API File Upload Rest API File Upload Trigger The Rest API File Upload Trigger is designed to handle incoming HTTP requests with multipart/form-data content type,\nwhich is commonly used for file uploads. When a request is sent to the specified endpoint, the trigger parses the request body and extracts the uploaded file\nalong with its metadata. The file is then stored in a buffer, which can be used for further processing or storage. Input Request Structure The Upload File Trigger allows you to specify a Path and Method for the trigger. The Path is the URL\nendpoint where the trigger will listen for incoming requests. The Method is the HTTP method that the trigger will\nlisten for. The trigger expects an HTTP request with the following structure: Content-Type: multipart/form-data Method: POST or PUT Body: The request body should contain the file data and any additional form fields. The request body is parsed using the multer library, which is a middleware for handling multipart/form-data in\nNode.js. Output The trigger produces the following output which can be used in subsequent workflow nodes: file: An object containing the uploaded file and its metadata, including: fieldname : The name of the field containing the file in the form data. originalname : The original name of the file on the user's computer. mimetype : The MIME type of the file. buffer : A Buffer (Node.js) containing the entire file data. size : The size of the file in bytes. encoding : The encoding type of the file. body: An object containing any additional form fields submitted with the request. headers: An object containing the request headers. Usage Here's a basic template that can be cloned and used as a starting point. This example demonstrates how to use the File\nUpload Trigger to handle incoming file uploads and save the file to the BuildShip Cloud Storage to get back a public\nURL. ( Click here to clone the template in your project! (opens in a new tab) ) \u2b50\ufe0f Testing the Trigger You can test the Rest API File Upload Trigger using tools like Postman or Hoppscotch. Here's an example of how to test\nit using Postman: Open Postman and create a new request. Set the request method to POST or PUT . Copy the endpoint URL from the Trigger's Instructions popover and paste it in the request URL field. Set the request body type to form-data . Click the \"Choose File\" button and select the file you want to upload. If you have additional form fields, you can add them under the \"form-data\" section. Click the \"Send\" button to submit the request. If the request is successful, you should see the response from the workflow containing the public URL of the file. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/file-upload\"><meta,https://docs.buildship.com/api/og?title=Rest,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/file-upload\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/file-upload.mdx\">Edit,https://buildship.app/remix?template=basic-file-upload\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Ftrigger-nodes%2Ffile-upload&r=&sid=MVPMZLFT&qs=%7B%7D&cid=49445351\"",
"token_count": 862
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/file-upload.",
"interpretation_notes": "Extracted 862 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/firebase-file-upload",
"content": "Rest API File Upload (Auth) Trigger \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Input Request Structure Output Authentication Usage Testing Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes Rest API File Upload (Auth) Rest API File Upload (Auth) Trigger The Authenticated Rest API File Upload Trigger is designed to handle incoming HTTP requests with multipart/form-data\ncontent type, which is commonly used for file uploads. However, before processing the file upload, the trigger verifies if the request is coming from an authenticated user by\nchecking the Authorization header for a valid Firebase ID token. If the token is valid, the trigger proceeds to parse the request body and extract the uploaded file along with its\nmetadata. The file is then stored in a buffer, which can be used for further processing or storage. \ud83d\udca1 If you're looking for a more general-purpose file upload trigger without verification, you can use the Rest API File\nUpload Trigger instead. Input Request Structure The Upload File Trigger allows you to specify a Path , Method , and a Project ID for the trigger. The Path is the URL endpoint where the trigger will listen for incoming requests. The Method is the HTTP method that the\ntrigger will listen for. The Project ID is the ID of the Firebase project that the trigger will use to verify the ID\ntoken. Leave empty to use default project associated with your BuildShip Workspace. The trigger expects an HTTP request with the following structure: Content-Type: multipart/form-data Method: POST or PUT Headers: The request should contain an Authorization header with a valid Firebase ID token. Body: The request body should contain the file data and any additional form fields. The request body is parsed using the multer library, which is a middleware for handling multipart/form-data in\nNode.js. Output The trigger produces the following output: file: An object containing the uploaded file and its metadata, including: fieldname : The name of the field containing the file in the form data. originalname : The original name of the file on the user's computer. mimetype : The MIME type of the file. buffer : A Buffer (Node.js) containing the entire file data. size : The size of the file in bytes. encoding : The encoding type of the file. body: An object containing any additional form fields submitted with the request. headers: An object containing the request headers. Authentication Before processing the file upload, the trigger verifies the provided Firebase ID token by calling the verifyIdToken method from the Firebase Admin SDK. If the token is valid, the trigger proceeds with the file upload process. If the\ntoken is invalid or missing, an error is thrown with an \"Unauthorized request\" message. \ud83d\udca1 The Authenticated Rest API File Upload Trigger is designed to verify the Firebase ID token before processing the file\nupload. Learn more on how to add the Firebase ID token to the request (or for testing) in the Firebase Authentication\nTrigger > Request Headers . Usage Here's a basic template that can be cloned and used as a starting point. This example demonstrates how to use the\nAuthenticated Rest API File Upload Trigger to verify and handle incoming file uploads and save the file to the BuildShip\nCloud Storage to get back a public URL.\n( Click here to clone the template in your project! (opens in a new tab) )\n\u2b50\ufe0f Testing You can test the Authenticated Rest API File Upload Trigger using tools like Postman or Hoppscotch. Here's an example of\nhow to test it using Postman: Open Postman and create a new request. Set the request method to POST or PUT . Enter the endpoint URL in the request URL field. In the \"Headers\" tab, add a new header with the key \"Authorization\" and the value Bearer <Firebase ID Token> .\nReplace <Firebase ID Token> with a valid Firebase ID token for an authenticated user. In the Body tab, select the form-data option. Click the \"Choose File\" button and select the file you want to upload. If you have additional form fields, you can add them under the \"form-data\" section. Click the \"Send\" button to submit the request. If the request is successful and the provided Firebase ID token is valid, you should see the response from the trigger\ncontaining the file buffer and metadata. If the token is invalid or missing, you should see an \"Unauthorized request\"\nerror. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/firebase-file-upload\"><meta,https://docs.buildship.com/api/og?title=Rest,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/firebase-file-upload\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/firebase-file-upload.mdx\">Edit,https://buildship.app/remix?template=basic-firebase-file-upload\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Ftrigger-nodes%2Ffirebase-file-upload&r=&sid=MVPMZLFT&qs=%7B%7D&cid=38553216\"",
"token_count": 1108
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/firebase-file-upload.",
"interpretation_notes": "Extracted 1108 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/whatsapp-bot",
"content": "WhatsApp Bot \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Prerequisites Setting up a Business App Create a new app Select Other in \"What do you want your app to do\" section. Select Business Create App details Add WhatsApp to your app Webhook Verification Clone the WhatsApp Bot - Verification template Save the webhook in Meta Subscribe to messaging notifications Test setup with test message Using the WhatsApp Bot - Auto Reply template Clone the WhatsApp Bot - Auto Reply template Get App ID and App Secret Configuring the WhatsApp Bot trigger Configuring the Claude AI Text Generator node Configuring the Auto-Responder node Testing the bot Setting up a Permanent Token Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes WhatsApp Bot WhatsApp Bot The WhatsApp Bot trigger enables seamless integration and creation of interactive chatbots on WhatsApp by leveraging\nMeta's WhatsApp Business API. It verifies and parses messaging payloads from the WhatsApp Webhook, empowering developers\nto build context-aware, multimedia-rich conversational experiences efficiently. Checkout the full video tutorial \ud83c\udf7f: Prerequisites Before you can create a chatbot on WhatsApp, you need to have the following: A Meta developer account. Sign up for a Meta Developer Account here (opens in a new tab) . A business app. Learn how to create a business app here (opens in a new tab) . A verified business on Facebook. Click here (opens in a new tab) to learn how to verify your\nbusiness. A registered WhatsApp business phone number. Access to the official WhatsApp Business API. Setting up a Business App Sign up for a Meta Developer Account : Go to https://developers.facebook.com (opens in a new tab) and click the \"Login\" button. You can\nuse your Facebook account associated with your company or create a new account. Create a new app After creating your Meta Developer Account, select \"My App >> Create an app\". Select Other in \"What do you want your app to do\" section. \"Select Other\" on What do you want your app to do section. Select Business \"Select Business\" - the type of app you want to create and use for your business. Create App details Give your app a name, enter a contact email, and connect it with your business account. Add WhatsApp to your app In your app, add the WhatsApp product. First, you'll need to select a business profile if you already have one setup. Then continue. Note: If you don't have a business profile set up, then you'll be met with a different screen. From here, just let\nthe platform guide you through the process of setting up a business profile. Then after adding the WhatsApp product you'll be redirected to the quickstart page Webhook Verification To get notified of incoming messages from WhatsApp, you need to set up a webhook. Here's how you can do it: Clone the WhatsApp Bot - Verification template \ud83d\udca1 Direct remix link for this step: Set up the webhook in BuildShip : In BuildShip, clone the WhatsApp webhook\nverification template and ship you workflow. Remix link - https://buildship.app/remix?template=whatsapp-bot-verification (opens in a new tab) . This workflow is required to verify the webhook endpoint as your setting it in the Meta dashboard. Next enter the verify\ntoken, this can be any text or number you want to use, just take note of it as you'll need it later. Then ship \ud83d\ude80 your\nworkflow and copy the endpoint URL. Save the webhook in Meta To connect the WhatsApp API to BuildShip, you need to configure a webhook. In your Meta Developer Account, go to\n\"WhatsApp\" >> \"Configuration\" >> \"Edit Webhook\". Enter the endpoint URL you copied from step 1 as well as the verify\ntoken you saved earlier. Then click \"Verify\" and \"Save\". Subscribe to messaging notifications To receive all messaging events from WhatsApp in BuildShip, you need to subscribe to messaging on webhooks. Click\n\"Manage\" (Webhook fields) and subscribe to messages. Test setup with test message First, go to \"WhatsApp\" >> \"API Setup\". For the From number, select the test number that Meta provides. For the To number, select a number from the recipient phone number list or add your own if not listed. Then click send message to test if you're receiving a message from WhatsApp. If it works, you'll receive a Hello World\nmessage from WhatsApp. Using the WhatsApp Bot - Auto Reply template To start auto replying to incoming messages, you can to clone the WhatsApp Bot - Auto Reply template from BuildShip. Clone the WhatsApp Bot - Auto Reply template The WhatsApp Bot - Auto Reply template uses the WhatsApp Bot trigger to verify incoming messages webhook payload from\nthe WhatsApp Webhook by Meta. It then uses the Claude AI to automatically generate and send responses to the incoming\nmessages. \ud83d\udca1 Direct remix link for this step: Set up the bot in BuildShip : In BuildShip, clone the WhatsApp Bot - Auto Reply\ntemplate and ship you workflow. Remix link - https://buildship.app/remix?template=whatsapp-bot (opens in a new tab) . Get App ID and App Secret On the Meta dahsboard, go to your app and click App settings where you'll find your App ID and App Secret. Note: Your app must be verified by Meta before obtaining App ID and App secret. Configuring the WhatsApp Bot trigger Trigger Inputs: Path: This field specifies the endpoint path for receiving webhook requests from the WhatsApp API. The default value\nis /handle-webhook . \u2139\ufe0f This path needs to be the same as the path specified in the WhatsApp\nVerification (opens in a new tab) workflow on the\nMeta Developer Platform. Method: This field indicates the HTTP method to be used for the webhook requests. It is set to POST , which is the\nrequired method for receiving webhook data from the WhatsApp Cloud API. App ID: (mentioned in previous step) This field requires entering the App ID provided by the WhatsApp Business Manager Cloud API (opens in a new tab) .\nIt is a unique identifier for your application, displayed on top of your Meta App Dashboard. App Secret: (mentioned in previous step) This field requires entering the App Secret provided by the WhatsApp Business Manager Cloud API (opens in a new tab) .\nIt is a secret key used for authentication and securing communication with the WhatsApp Cloud API. Configuring the Claude AI Text Generator node The Claude AI Text Generator node is used to generate automatic responses to incoming messages. You'll need to select\nyour Anthropic API key or create a new one. Configuring the Auto-Responder node The Auto-Responder node is used to send the generated response to the incoming message. The only field you need to enter\nis the Access Token. You can use the temporary access token provided by Meta for testing purposes. In the Meta dashboard, you can get this by going to WhatsApp >> API Setup >> Temporary access token. \u2139\ufe0f Note that this access token is temporary and will expire after 24 hours. See creating a permanent token below for a\npermanent token. Testing the bot First, ship \ud83d\ude80 your workflow. If everything is set up correctly, you can now test the bot by sending a message to the test WhatsApp phone number which\nyou can obtain in the Meta dashboard from WhatsApp >> API setup. Then you should receive an automatic response generated by Claude AI \u2705. If you don't receive a response, check the workflow for any errors, and make sure you followed all the steps correctly. Setting up a Permanent Token To set up a permanent token, you need a Meta Business Account. Full documentation link (opens in a new tab) . Create a system user : Log in to your Meta Business Account ( https://developers.facebook.com (opens in a new tab) ) >> \"Settings\" >>\n\"Business Assets\". If you've already set up your Meta Developer Account, you'll see your app and WhatsApp Test\nAccount. Go to \"Settings\" >> \"Business Settings\" >> \"System users\" >> \"Add\". Enter a system username and system user\nrole. Associate the system user with your app : Go to \"Add Assets\" >> \"App\". Select your app and give the system user\npartial or full access. Click \"Save changes\". Generate a new token : Click \"Generate new token\" >> Select your app from the dropdown menu. Make sure\n\"whatsapp_business_messaging\" and \"whatsapp_business_management\" are turned on. Click \"Generate token\". Save the token : Save the Access Token as it's not saved in Facebook. This is a permanent token that can be used\nfor your Meta Developer app. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/whatsapp-bot\"><meta,https://docs.buildship.com/api/og?title=WhatsApp,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/whatsapp-bot\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/whatsapp-bot.mdx\">Edit,https://www.youtube.com/embed/tvaiKsyr8dk?si=HmmYUFmM3C-6dlpg\",https://developers.facebook.com/\",https://developers.facebook.com/docs/development/create-an-app/\",https://developers.facebook.com/docs/whatsapp/overview/business-accounts/\",https://developers.facebook.com\",https://developers.facebook.com<span,https://buildship.app/remix?template=whatsapp-bot-verification\",https://buildship.app/remix?template=whatsapp-bot-verification<span,https://buildship.app/remix?template=whatsapp-bot\",https://buildship.app/remix?template=whatsapp-bot<span,https://developers.facebook.com/docs/whatsapp/cloud-api/get-started#verify-webhook\",https://developers.facebook.com/docs/whatsapp/cloud-api/get-started#app-setup\",https://developers.facebook.com/docs/whatsapp/cloud-api/get-started#app-setup\",https://developers.facebook.com/docs/whatsapp/business-management-api/get-started#access-tokens\",https://developers.facebook.com\",https://developers.facebook.com<span,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 1789
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/whatsapp-bot.",
"interpretation_notes": "Extracted 1789 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/email-trigger",
"content": "Email Trigger \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page How It Works Email Address Email Content Access Using the Email Trigger Accessing Email Data Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes Email Trigger Email Trigger The Email Trigger is a powerful feature that allows you to initiate a BuildShip workflow every time an email is\nsent to the email address provided by the trigger . This trigger provides a convenient and automated way to integrate\nemail communication into your workflows, enabling a wide range of use cases and automations. How It Works Email Address When you set up the Email Trigger, BuildShip generates a unique, custom email address for your workflow. This email\naddress follows the format workflowId@buildship.email . For example, if your workflow ID is E0J4S2eQy5ND8fTXCCns , the\ncorresponding email address would be E0J4S2eQy5ND8fTXCCns@buildship.email . Whenever an email is sent to this custom email address, the Email Trigger is activated, and the workflow is initiated. Email Content Access The entire email content, including the subject , body , attachments , and metadata , is made available to\nthe workflow as the request body. You can access and process this information using the appropriate nodes within your\nworkflow. Learn more . Using the Email Trigger To use the Email Trigger, follow these steps: Create a new workflow in your BuildShip Project, or open an existing workflow that you want to add the Email Trigger\nto. Click on \" Add Trigger \" button. In the Trigger Library, select the \" Email Trigger \". \ud83d\udca1 In case of modifying an existing workflow, delete the existing trigger and then click on \" Add Trigger \" button.\nIn the Trigger Library, select the \" Email Trigger \". You'll be able to access the incoming Email data in the following nodes via the context menu . Save the workflow and note the custom email address generated for the Email Trigger. Once the Email Trigger is set up, you can initiate the associated workflow by simply sending an email to the provided\ncustom email address. The workflow will automatically start executing, and you can process the email content using the\nappropriate nodes within your workflow. Accessing Email Data The Email Trigger provides access to the entire email content, including the subject, body, attachments, and metadata.\nYou can access this information in the following nodes. For example, you can extract the email body, or perform any\ndesired actions based on the received email content. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/email-trigger\"><meta,https://docs.buildship.com/api/og?title=Email,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/email-trigger\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/email-trigger.mdx\">Edit,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Ftrigger-nodes%2Femail-trigger&r=&sid=MVPMZLFT&qs=%7B%7D&cid=13702836\"",
"token_count": 785
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/email-trigger.",
"interpretation_notes": "Extracted 785 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/lemon-squeezy",
"content": "Lemon Squeezy Trigger \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Prerequisites \u2705 API Key Store ID Secret Key Trigger Inputs API Key Events Secret Key Store ID Trigger Outputs Webhook Security Example Use Cases Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes Lemon Squeezy Lemon Squeezy Trigger The Lemon Squeezy Trigger allows you to connect your BuildShip workflows with your Lemon Squeezy account, which is a payment management platform for selling digital products, subscriptions, software licenses, and courses . Using this trigger, you can activate specific workflows in response to various webhook events that occur within your\nLemon Squeezy account , such as new orders, subscription updates, or license key changes. Prerequisites \u2705 Before configuring the Lemon Squeezy Trigger, you need to have the following: API Key The Lemon Squeezy API Key. You can create an API Key from the Lemon Squeezy Dashboard by navigating to Settings > API (opens in a new tab) . Store ID The ID of the store for which you want to set up the webhook. You can find your Store ID from the Settings > Stores (opens in a new tab) section in the Lemon Squeezy Dashboard. Secret Key A string used by Lemon Squeezy to sign requests for increased security. This key is required for verifying the\nauthenticity of the incoming requests. \ud83d\udca1 NOTE: The Secret Key needs to have a length greater than or equal to 6 characters. Trigger Inputs The Lemon Squeezy Trigger requires the following input parameters to be configured: API Key Your Lemon Squeezy API Key. You can create an API Key from the Lemon Squeezy Dashboard by navigating to Settings > API (opens in a new tab) . (Refer to the prerequisites section for\nmore information) Events The specific events that will trigger the associated BuildShip Workflow. You can choose to listen to all events by\nleaving this field empty, or you can specify a list of events to listen to. The available events include: Event Name Description order_created Occurs when a new order is successfully placed. order_refunded Occurs when a full or partial refund is made on an order. subscription_created Occurs when a new subscription is successfully created. An order_created event will always be sent alongside a subscription_created event. subscription_updated Occurs when a subscription's data is changed or updated. This event can be used as a \"catch-all\" to make sure you always have access to the latest subscription data. subscription_cancelled Occurs when a subscription is cancelled manually by the customer or store owner. The subscription enters a \"grace period\" until the next billing date, when it will expire. It is possible for the subscription to be resumed during this period. subscription_resumed Occurs when a subscription is resumed after being previously cancelled. subscription_expired Occurs when a subscription has ended after being previously cancelled, or once dunning has been completed for past_due subscriptions. You can manage how long to wait before the system marks deliquent subscriptions as expired. subscription_paused Occurs when a subscription's payment collection is paused. subscription_unpaused Occurs when a subscription's payment collection is resumed after being previously paused. subscription_payment_success Occurs when a subscription payment is successful. subscription_payment_failed Occurs when a subscription renewal payment fails. subscription_payment_recovered Occurs when a subscription has a successful payment after a failed payment. A subscription_payment_success event will always be sent alongside a subscription_payment_recovered event. subscription_payment_refunded Occurs when a subscription payment is refunded. license_key_created Occurs when a license key is created from a new order. An order_created event will always be sent alongside a license_key_created event. license_key_updated Occurs when a license key is updated. Secret Key The string used by Lemon Squeezy to sign requests for increased security. This key is required for verifying the\nauthenticity of the incoming requests. Store ID The ID of the store for which you want to set up the webhook. This ID should match the Store ID you obtained from the\nSettings > Stores section in the Lemon Squeezy Dashboard. (Refer to the prerequisites section for\nmore information) Trigger Outputs Once the trigger is correctly configured and shipped, users will be able to access the following outputs: Parsed Payload: The parsed JSON payload of the incoming webhook event. Raw Payload: The raw, unparsed payload of the incoming webhook event. These outputs can be accessed as variables using the Context Menu in the BuildShip Editor. Webhook Security The Lemon Squeezy Trigger uses HMAC-SHA256 signatures to ensure the authenticity of incoming webhook requests. The\nprovided Secret Key is used to validate the signature included in the request headers. This mechanism ensures that only\nlegitimate requests from Lemon Squeezy are processed by the trigger, enhancing the overall security of your workflows. Example Use Cases Use Cases The Lemon Squeezy Trigger can be utilized in various scenarios to automate and streamline your workflows. Here\nare some interesting use cases: Order Processing: Configure the trigger to listen for the order_created or order_refunded events, and then\ncreate a workflow to automatically update your inventory management system, send order confirmation emails, or\ninitiate shipment processes. Subscription Management: Set up the trigger to respond to subscription_created , subscription_updated , subscription_cancelled , or other subscription-related events, and create workflows to sync subscription data with\nyour billing system, send notifications to customers, or trigger marketing campaigns based on subscription changes. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/lemon-squeezy\"><meta,https://docs.buildship.com/api/og?title=Lemon,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/lemon-squeezy\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/lemon-squeezy.mdx\">Edit,https://app.lemonsqueezy.com/settings/api\",https://app.lemonsqueezy.com/settings/stores\",https://app.lemonsqueezy.com/settings/api\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Ftrigger-nodes%2Flemon-squeezy&r=&sid=MVPMZLFT&qs=%7B%7D&cid=99043380\"",
"token_count": 1249
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/lemon-squeezy.",
"interpretation_notes": "Extracted 1249 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/revenue-cat",
"content": "RevenueCat Trigger \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Prerequisites \u2705 Setting up the RevenueCat Trigger Add the RevenueCat Trigger Set up the RevenueCat Webhook Configure the Webhook Select Events Trigger Inputs Auth Token Usage Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes RevenueCat Trigger RevenueCat Trigger The RevenueCat Trigger allows you to receive and process webhook events from RevenueCat , a powerful and reliable\nin-app purchase server that makes it easy to build, analyze, and grow your subscriber base. With this trigger, you can easily integrate RevenueCat's clean, normalized subscription data into your BuildShip\nworkflows, enabling you to automate processes and build custom workflows every time there are changes to subscriptions,\nand purchases. Prerequisites \u2705 Before setting up the RevenueCat Trigger, you'll need: A RevenueCat Account. You can sign up for a RevenueCat account here (opens in a new tab) . Setting up the RevenueCat Trigger Add the RevenueCat Trigger Create a new workflow, click on \"Add Trigger\" button to open the Trigger Explorer . Pick the RevenueCat Trigger from the list of available triggers. Click on Add to add it to your workflow. Set up the RevenueCat Webhook Go to the RevenueCat Dashboard (opens in a new tab) Navigate to Projects and click on your current project. Under Integrations , click on Add Integration . Under RevenueCat core tools > Click on Webhooks and create a new Webhook. Configure the Webhook Add a Webhook Name - any name to identify the webhook. Add the Webhook URL - the URL generated by the RevenueCat Trigger in BuildShip. \ud83d\udca1 To get the Webhook URL, go to the RevenueCat Trigger in your BuildShip workflow and click on the URL icon to copy\nthe Endpoint URL. Set the Authorization Header Value (optional) - To enable verification for the webhook requests, add a secret\nvalue to match in the RevenueCat Trigger Auth Token . If no value is set, the webhook will be sent without any\nauthorization. (Refer to the Trigger Inputs section for more information) Choose the environment to trigger the webhook - Sandbox or Production . Select Events Choose the events you want to trigger the webhook for. You can choose to trigger the webhook for all events or\nindividually select from the following: Initial purchase - A new subscription has been purchased, or a lapsed user has resubscribed. Renewal - An existing subscription has been renewed. Product change - A customer has changed the product of their subscription. Cancellation - A subscription or non-renewing purchase has been canceled. Billing issue - There has been a problem trying to charge the subscriber. Non-renewing purchase - A customer has made a purchase that will not auto-renew. Uncancellation - A non-expired canceled subscription has been re-enabled. Transfer - A transfer of transactions and entitlements was initiated between one App User ID(s) to another. Subscription paused - The subscription has been set to be paused at the end of the period. Expiration - A subscription has expired. Subscription extended - A subscription has been extended. Invoice issuance - An invoice has been issued. Temporary entitlement grant - An entitlement has been granted temporarily to a customer. Trigger Inputs The RevenueCat Trigger requires the following input parameters to be configured: Auth Token The Auth Token is an optional secret value that can be set in the RevenueCat Webhook configuration to verify the\nauthenticity of the incoming requests. If you set an Auth Token in the RevenueCat Webhook, you need to provide the same\nvalue in the Auth Token field of the RevenueCat Trigger in BuildShip. \ud83d\udca1 If there is no Auth Token set in the RevenueCat Webhook, you'll need to leave this field empty. Usage Once the RevenueCat Trigger is set up and configured, it will verify and parse the Webhook payload coming from the\nevents you've signed up for. The trigger will return the following output: request : An object containing the query , headers , and body of the incoming webhook request. output : The parsed payload from the RevenueCat webhook request body. You can use this output to further process the RevenueCat webhook data in your BuildShip workflow, enabling you to build\ncustom automations and integrations based on subscription events. It can be used to automate workflows based on the events triggered by RevenueCat. For example, you can create a workflow\nthat sends an email notification to the customer when their subscription is about to expire, or update a database with\nthe latest subscription data whenever a renewal event is triggered. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/revenue-cat\"><meta,https://docs.buildship.com/api/og?title=RevenueCat,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/revenue-cat\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/revenue-cat.mdx\">Edit,https://app.revenuecat.com/signup\",https://app.revenuecat.com/overview#\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Ftrigger-nodes%2Frevenue-cat&r=&sid=MVPMZLFT&qs=%7B%7D&cid=4392436\"",
"token_count": 1126
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/revenue-cat.",
"interpretation_notes": "Extracted 1126 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/mongodb-trigger",
"content": "MongoDB Trigger \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Prerequisites \u2705 Adding MongoDB Trigger Setting up the MongoDB Trigger Troubleshooting Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes MongoDB Trigger MongoDB Trigger The MongoDB Trigger parses the incoming webhook payload from the MongoDB webhook triggers. In other words, the\nBuildShip Workflow runs every time there are any changes in the linked MongoDB Collection, Database, or Deployment .\nAlternatively, the workflow can also be made to run based on a given schedule (or a CRON expression); however, this\ndocumentation is for setting up a Database Trigger. Prerequisites \u2705 A MongoDB Project. If you don't have one set up, click here (opens in a new tab) to set one up. Adding MongoDB Trigger Create a new BuildShip Workflow and click on the \" Add Trigger \" button. Select (or search for) the MongoDB\nTrigger and add it to the workflow. Open the Instruction panel \ud83d\udcce and copy the Webhook URL . To test the MongoDB Trigger functionality, click on the \" Add Node \" button and search for the Log message to console node and add it to the workflow. For the input values, pass in the Request Body from the\ncontext menu. Hit \" Ship! \ud83d\ude80\". Read the following section to complete the testing setup. Setting up the MongoDB Trigger Navigate to your MongoDB Dashboard and navigate to the \" Triggers \" section. Pick your desired type of trigger from Database - which will listen to changes to your database, or Scheduled - which will trigger the event at the chosen schedule. For this example, we will be setting up a Database Trigger . Follow the instructions and set up your source details. Under the Function section, select \" Function \" as the Event Type. Inside the Function script editor, paste the following script. Copy the Webhook URL from the MongoDB Trigger in\nyour BuildShip workflow, and paste it on line 5 : import axios from 'axios' ; import crypto from 'crypto' ; exports = async function (changeEvent) { const webhookUrl = '' ; // Add your webhook URL here const workflowId = webhookUrl .split ( '/' ) .pop (); try { const signature = generateSignature (changeEvent , workflowId); const res = await axios .post (webhookUrl , changeEvent , { headers : { 'X-Webhook-Signature' : signature , } , }); console .log ( JSON .stringify (changeEvent)); return true ; } catch (error) { console .error ( 'Error sending webhook:' , error); return false ; } }; function generateSignature (data , secret) { const hmac = crypto .createHmac ( 'sha256' , secret); hmac .update ( JSON .stringify (data)); return hmac .digest ( 'hex' ); } Click on the \" Add Dependency \" button and add axios , then hit \" Add \". This will install the dependency for the\nfunction execution. Similarly, add a dependency for the crypto package. Once this is done, click on the \" \u25b6\ufe0e Run \" button at the bottom. If set up correctly, this should return true as\nthe output on the console. \ud83d\udca1 The code snippet uses the axios library to send the POST request to the webhook URL, and the crypto library to\ngenerate a signature for the webhook payload. The signature is included in the request headers to ensure the\nauthenticity of the request . Troubleshooting If you encounter any issues while setting up the MongoDB Trigger, here are some common troubleshooting tips: Double-check the Webhook URL: Ensure that you've copied the correct Webhook URL from BuildShip and pasted it into\nthe MongoDB Function script. Verify dependencies: Make sure you've added the required axios and crypto dependencies to the MongoDB\nFunction. Review the logs: Check the MongoDB Function logs for any error messages or helpful information that can assist in\ntroubleshooting. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/mongodb-trigger\"><meta,https://docs.buildship.com/api/og?title=MongoDB,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/mongodb-trigger\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/mongodb-trigger.mdx\">Edit,https://www.mongodb.com\",https://www.youtube.com/embed/61zaETJ-0EY\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 1004
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/mongodb-trigger.",
"interpretation_notes": "Extracted 1004 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/trigger-nodes/youtube-trigger",
"content": "YouTube Trigger \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Authentication Trigger Inputs Channel URL Track Frequency Trigger Outputs New Videos Snapshot Channel ID Channel URL Latest Video Published At Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Trigger Nodes YouTube Trigger YouTube Trigger The YouTube Trigger is an OAuth-based scheduled trigger that periodically checks a specified YouTube channel for\nnew video uploads , fetches the details of any newly published videos, and returns those video details along with an\nupdated snapshot of the channel's state. Now easily automate workflows that need to be triggered when a new video is uploaded to a YouTube channel . For\nexample, use the YouTube Trigger to automatically share new video links on social media, send notifications to your\nteam, or update a database with video details . Authentication The YouTube Trigger uses OAuth 2.0 to authenticate with the YouTube API . When you add a YouTube Trigger to your\nworkflow, you will be prompted to authenticate with your Google account and grant the necessary permissions to the\ntrigger. \ud83d\udca1 To use the YouTube Trigger, you need to make sure you are neccessary permissions to manage the associated YouTube\nchannel . Trigger Inputs The YouTube Trigger requires the following inputs: Channel URL The URL of the YouTube channel that you want to monitor for new video uploads. It's a required field, and you need\nto provide a valid YouTube channel URL. SAMPLE INPUT: https://www.youtube.com/channel/UC1_8S7ffEDaOjcnjWOlRRlg Track Frequency The frequency at which the trigger should check for new video uploads . You can choose from the following options: Every 5 minutes Every 15 minutes Every 30 minutes Every 60 minutes Every 6 hours Every 12 hours Every 24 hours Every 5 days Every 15 days Every 30 days Trigger Outputs The YouTube Trigger returns an output object containing the following properties: New Videos newVideos is an array of new videos detected on the monitored YouTube channel since the last execution of the\ntrigger. The newVideos array contains objects with the following properties: id (string): The ID of the video. url (string): The URL of the video. title (string): The title of the video. description (string): The description of the video. publishedAt (string): The date and time when the video was published (in ISO format). thumbnail (string): The URL of the video's thumbnail image. Snapshot snapshot is an object representing the current state of the monitored YouTube channel , including the latest\nvideo's published date and a list of the most recent videos. The snapshot object contains the following properties: channelId (string): The ID of the monitored YouTube channel. latestVideoPublishedAt (string): The published date of the latest video on the channel (in ISO format). videos (array): An array of video objects representing the most recent videos on the channel, with the same\nproperties as described in the newVideos array. Channel ID The property channelId is the ID of the monitored YouTube channel. Channel URL The property channelUrl is the URL of the monitored YouTube channel. Latest Video Published At Property latestVideoPublishedAt gives the published date of the latest video on the channel (in ISO format). The newVideos array contains the details of any new videos that have been published on the monitored YouTube channel\nsince the last execution of the trigger. The snapshot object provides a comprehensive view of the channel's current state, including the latest video's\npublished date and a list of the most recent videos. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/trigger-nodes/youtube-trigger\"><meta,https://docs.buildship.com/api/og?title=YouTube,https://docs.buildship.com\"><meta,https://docs.buildship.com/trigger-nodes/youtube-trigger\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/trigger-nodes/youtube-trigger.mdx\">Edit,https://www.youtube.com/channel/UC1_8S7ffEDaOjcnjWOlRRlg</code></p>,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Ftrigger-nodes%2Fyoutube-trigger&r=&sid=MVPMZLFT&qs=%7B%7D&cid=16503049\"",
"token_count": 944
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/trigger-nodes/youtube-trigger.",
"interpretation_notes": "Extracted 944 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/core-nodes/if-else",
"content": "Branch (If Else) \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Using the Branch node Supported Comparison Operators Example: Conditional Response Based on Request Body HTTP Trigger Node Add Branch Node Set Branch Condition Setting Then and Else conditions Test the Workflow Execution of the Example Nested Branch (Nested If Else) Nested Branch Example HTTP Trigger Node Add Branch Node Set Branch Condition Adding Nested conditions Test the Workflow Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Core Nodes Branch (If Else) Branch (If Else) The Branch node is a conditional node in your workflow, designed to execute different sets of actions based on a\nspecific condition . This node provides a powerful way to control the flow of your workflow, making it flexible and\ndynamic. Using the Branch node The Branch node evaluates a base condition . If the condition evaluates to \" true \", the node executes the actions\nin the \" Then \" block. If the condition evaluates to \" false \", it proceeds to execute the actions in the \" Else \"\nblock. Supported Comparison Operators To define your conditions, the \"Branch\" node supports the following comparison operators: == : Checks whether two values are equal != : Checks whether two values are not equal. > : Checks whether the first value is greater than the second value. < : Checks whether the first value is less than the second value. >= : Checks whether the first value is greater than or equal to the second value. <= : Checks whether the first value is less than or equal to the second value. \ud83d\udca1 These comparison operators also work on strings . You can use them to compare string values and make decisions\nbased on string conditions. With these operators, you can construct various conditions to control the flow of your workflow based on specific data\nor inputs. Example: Conditional Response Based on Request Body In this example, we'll create a workflow that receives an HTTP request with a JSON body. The workflow will check the\nvalue of the number key in the request body. If the value is greater than 10, the workflow will return a message\nsaying that the number is greater than 10. If the value is less than or equal to 10, the workflow will return a message\nsaying that the number is less than or equal to 10. HTTP Trigger Node Create a workflow with an HTTP Request Trigger to receive incoming requests. Add Branch Node Add a Branch (If Else) node to the workflow. Set Branch Condition Click on the Expression Menu , select Expression Editor . Set the Branch node's condition as: ctx[ \"request\" ][ \"body\" ][ \"number\" ] > 10 Setting Then and Else conditions In the \" Then \" block of the Branch node, add a Return node with the message: ctx[ \"request\" ][ \"body\" ][ \"number\" ] + \" is greater than 10\" . In the \" Else \" block of the Branch node, add another Return node with the message: ctx[ \"request\" ][ \"body\" ][ \"number\" ] + \" is less than 10\" . Test the Workflow Click deploy and send a request to the given endpoint with a JSON body containing the number key. Here's an example body JSON: { \"number\" : 15 } Execution of the Example If the incoming requests' number key has a value greater than 10 (e.g., \"number\": 15 ), the workflow returns 15 is greater than 10 . If the incoming requests' number key has a value less than or equal to 10 (e.g., \"number\": 5 ), the workflow\nreturns 5 is less than or equal to 10 . Nested Branch (Nested If Else) A Nested Branch or a Nested If Else is a conditional structure within another conditional structure. Using\nnested branches allows you to create more complex conditional logic in your workflow by combining multiple levels of\n\"if-else\" statements. This approach is useful when you need to evaluate multiple conditions sequentially, with each\ncondition leading to a different set of actions. Nested Branch Example Let's consider a scenario where we want to categorize incoming numbers into three groups: \"Greater than 20,\" \"Between 10\nand 20,\" and \"Less than or equal to 10.\" HTTP Trigger Node Create a workflow with an HTTP Request Trigger to receive incoming requests. Add Branch Node Add a Branch (If Else) node to the workflow. Set Branch Condition Click on the Expression Menu , select Expression Editor . Set the Branch node's condition as: ctx[ \"request\" ][ \"body\" ][ \"number\" ] < 20 Adding Nested conditions In the \" Then \" block of the first Branch node, add another Branch (If Else) node. Set the condition in the second Branch node as ctx[ \"request\" ][ \"body\" ][ \"number\" ] > 10 In the \" Then \" block of the second Branch node, add a Return node with the expression: ctx[ \"request\" ][ \"body\" ][ \"number\" ] + \" is between 10 and 20\" In the \" Else \" block of the second Branch node, add another Return node with the message: ctx[ \"request\" ][ \"body\" ][ \"number\" ] + \" is less than or equal to 10\" In the \" Else \" block of the first Branch node (i.e., if the number is not greater than 20), add a Return node with the message: ctx[ \"request\" ][ \"body\" ][ \"number\" ] + \" is greater than 20\" Test the Workflow Click deploy and send a request to the given endpoint with a JSON body containing the number key. Here's an example body JSON: { \"number\" : 15 } Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/core-nodes/if-else\"><meta,https://docs.buildship.com/api/og?title=Branch,https://docs.buildship.com\"><meta,https://docs.buildship.com/core-nodes/if-else\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/core-nodes/if-else.mdx\">Edit,http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 1309
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/core-nodes/if-else.",
"interpretation_notes": "Extracted 1309 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/core-nodes/loop",
"content": "Loop \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Looping Functionality Using the Loop Node Video Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Core Nodes Loop Loop The Loop node is a versatile tool in BuildShip that empowers you to iterate over elements within a JSON object, an\narray, or even a literal value. This node serves as a powerful mechanism for processing and manipulating data\niteratively . It is particularly useful when you want to perform a series of actions on each element of the input\nprovided. Looping Functionality The primary functionality of the Loop node is to traverse through all the elements present in the input data and\nperform specified actions on each element. It facilitates the execution of a set of nodes within the loop , allowing\nyou to interact with and modify the data at each iteration. The loop processes each element sequentially. This mode is beneficial when the execution order matters, and actions must\nbe taken step by step. For instance, performing data transformation on each element one after the other. Using the Loop Node The Loop node's functionality revolves around iterating over the elements of the input data and executing a set of\nactions for each element. Here's how you can use the Loop node: Input Configuration : The Loop node accepts three types of input: JSON objects , arrays , or literals .\nYou can provide the input directly in the editor. Concurrency : The Loop node offers the flexibility to set the number of concurrent executions to run. This allows\nyou to control how many iterations are processed simultaneously, enhancing the efficiency of your workflow. (Note: To\nmodify this option, please check the pricing page (opens in a new tab) to see the maximum concurrency\nlimit for your plan.) Node Actions : The Loop node encapsulates a series of nodes within it. This allows you to define the actions\nyou want to perform on each element. You can add nodes for logging, making API calls, calculations, or any other\ndesired functionality. \ud83d\udca1 Example: Data Transformation Imagine you have an array of raw data that needs to undergo multiple processing steps. You can utilize the Loop node in series mode to accomplish this: Input : JSON array containing raw data Loop Body : Within the loop, include nodes that perform data transformation, filtering, and enrichment. By using the Loop node in series mode, you ensure that each data point is processed methodically, producing the desired results. Video Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/core-nodes/loop\"><meta,https://docs.buildship.com/api/og?title=Loop\"><meta,https://docs.buildship.com\"><meta,https://docs.buildship.com/core-nodes/loop\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/core-nodes/loop.mdx\">Edit,https://buildship.com/pricing\",https://www.youtube.com/embed/cKNcVRfPI30?si=seDNV8fX7-2YTaPu\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 789
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/core-nodes/loop.",
"interpretation_notes": "Extracted 789 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/core-nodes/parallel",
"content": "Parallel \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Video Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Core Nodes Parallel Parallel The Parallel node allows you to run other nodes at the same time. This node is useful if you want to independent pieces\nof logic to run at the same time, saving valueable time in your workflow. In parallel mode, each element of the input is processed concurrently. This is suitable when each iteration is\nindependent and can be executed simultaneously. For example, making API calls to multiple endpoints. Parallel processing executes actions simultaneously for each element, while series processing executes actions one after\nanother. \u2705 To use this node, please check the BuildShip Pricing page (opens in a new tab) to see the maximum\nconcurrency limit for your plan. \ud83d\udca1 Example: Processing Multiple API Calls Suppose you have a list of URLs that you want to send API requests to simultaneously. You can use the Loop node in parallel mode to achieve this: Input : JSON array containing URLs Loop Body : Inside the loop, add a series of nodes that make API calls to the URLs. This configuration ensures that each API call is executed in parallel, optimizing time and efficiency. Video Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/core-nodes/parallel\"><meta,https://docs.buildship.com/api/og?title=Parallel\"><meta,https://docs.buildship.com\"><meta,https://docs.buildship.com/core-nodes/parallel\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/core-nodes/parallel.mdx\">Edit,https://buildship.com/pricing\",https://www.youtube.com/embed/PloDC82kYuY?si=fNbgbcZN6y3injls\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 580
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/core-nodes/parallel.",
"interpretation_notes": "Extracted 580 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/core-nodes/switch",
"content": "Switch Node \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Switch Node Anatomy Expression Cases Next Case Toggle Default Case Example Implementation Use Case Request Structure Expression Cases Return Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Core Nodes Switch Switch Node Control the flow of your BuildShip workflow based on switch statements with the Switch Node. The switch node\nevaluates an expression and then executes the corresponding flow that matches the expression\u2019s result. Switch Node Anatomy The Switch node consists of the following components: Expression The Expression input is the main expression whose value is to be evaluated for the Switch Case. Example Input: Query.type // to use switch case on the type parameter in the query Cases The switch node will evaluate the value of the specified expression and execute the corresponding case that matches the\nexpression's result. Example Input: \"image\" // this will check if Query.type === \"image\" \ud83d\udca1 The expression and the case fields of the switch node can be any of the following types: - string - number - boolean Next Case Toggle The Next Case Toggle exists on every switch flow. When toggled to true , it will continue to execute its subsequent\ncase . We can think of this Next Case Toggle like a switch case without a break statement. If a return statement is added inside a case, the Next Case Toggle will be ignored. Default Case If there\u2019s no match specified in the \" Case \" inputs, control is transferred to the flow under the \" Default \" case. Example Implementation Let us understand how to use the Switch Node with an example. Use Case We need a workflow that generates assets for an end user. Given the prompt and type of an asset for generation,\nwe need to implement the switch node to process different flows depending on the type of the asset specified by the\nuser. Request Structure This example workflow will be a REST API type workflow using the REST API Call Trigger as the\nstarting point for our workflow. The REST API Call Trigger will process the incoming request. Let\u2019s say the incoming\nHTTP Request is a GET Request and looks like this: Having two query key value pairs: type specifying the type of asset to generate, and prompt the prompt to be passed\nfor the asset generation. Expression If we need to apply the switch node for a query parameter with the key type in the incoming HTTP Request, then we need\nto add Query.type . Cases We need to apply different flows for the different values of the type query parameter, which let\u2019s say defines the type\nof asset a user wishes to generate. For our example, we assume the user can pass in any of these values: Image Video Animation Audio So the value of the type query parameter can be: \"image\" , \"video\" , \"animation\" , \"audio\" . We can add these four\nvalues as our cases. After defining the cases, we get 5 different branches for each of the specified types and one for the \u201c Default Case \u201d\nwhich is a fallback case - i.e. if there\u2019s no match specified in the \"case\" inputs, control is transferred to the flow\nunder the \"default\" case. For the Default case, we can simply add a return node saying that the type is undefined. Return To return the value let\u2019s add a return node and set its value to Switch to return the generated asset. Our final workflow will look something like this: Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/core-nodes/switch\"><meta,https://docs.buildship.com/api/og?title=Switch,https://docs.buildship.com\"><meta,https://docs.buildship.com/core-nodes/switch\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/core-nodes/switch.mdx\">Edit,http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fcore-nodes%2Fswitch&r=&sid=MVPMZLFT&qs=%7B%7D&cid=1869610\"",
"token_count": 963
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/core-nodes/switch.",
"interpretation_notes": "Extracted 963 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/core-nodes/repeat",
"content": "Repeat \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Video Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Core Nodes Repeat Repeat Repeat node is similar to loop node however you can repeat/loop over other nodes x number of times. You can mention how\nmany times you want to repeat a task and add all the logic nodes inside the repeat node. Video Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/core-nodes/repeat\"><meta,https://docs.buildship.com/api/og?title=Repeat\"><meta,https://docs.buildship.com\"><meta,https://docs.buildship.com/core-nodes/repeat\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/core-nodes/repeat.mdx\">Edit,https://www.youtube.com/embed/cKNcVRfPI30?si=seDNV8fX7-2YTaPu\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 437
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/core-nodes/repeat.",
"interpretation_notes": "Extracted 437 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/core-nodes/return",
"content": "Return Node \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Supported Status Codes Return Value Autofill Values using AI Values via Expressions Request Components Returning Output Values from Previous Nodes Video Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Core Nodes Return Return Node The Return Node is used to return values from the workflow . It is the last node in the workflow and is always\nrequired. The Return Node is a crucial component in our workflow logic, designed to handle HTTP response codes and\nreturn a value upon execution. The Return Node is a non-configurable node that takes in predefined HTTP status codes and produces a corresponding\nvalue as output. Supported Status Codes The Return Node supports the following HTTP status codes: 200 : OK 201 : Created 202 : Accepted 204 : No Content 400 : Bad Request 401 : Unauthorized 403 : Forbidden 404 : Not Found 500 : Internal Server Error Return Value The Return Nodes in the workflow allow users to generate specific output values based on various sources, providing\nflexibility and customization to the workflow logic. The Return Node can be used to return a value from the following\nsources: Autofill Values using AI The Return Nodes can leverage the power of AI to autofill values automatically. By using AI-driven autofill feature,\nusers can save time and ensure that the generated values align with the workflow's objectives. Values via Expressions Return Nodes support expressions, allowing users to create dynamic output values by combining variables, constants, and\nfunctions. Expressions enable users to manipulate data and perform calculations, making it possible to generate\nresponses that adapt to changing conditions during workflow execution. Request Components In workflows involving REST API triggers , Return Nodes can return values derived from different components of the\nrequest. Users can extract data from the request's headers, parameters, and body to generate meaningful responses. For Example: The Return Node can extract the user's name from the request header and use it to personalize the\noutput message. Returning Output Values from Previous Nodes The power of workflows lies in their ability to connect and pass data between nodes. Return Nodes can utilize output\nvalues from previous nodes in the workflow. By referencing the outputs of other nodes, users can build complex logic and\ncreate cascading effects. For Example: If a previous node performs a calculation or retrieves data from a database, the Return Node can use\nthat data to provide the final result of the workflow. Video Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/core-nodes/return\"><meta,https://docs.buildship.com/api/og?title=Return,https://docs.buildship.com\"><meta,https://docs.buildship.com/core-nodes/return\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/core-nodes/return.mdx\">Edit,https://www.youtube.com/embed/oiOIkl_X82E?si=7Av5o35mhi8aEsod\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 789
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/core-nodes/return.",
"interpretation_notes": "Extracted 789 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/core-nodes/script",
"content": "Script Node \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Customizing the Script Node Node Logic Input Parameters Output Format Node Metadata Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Core Nodes Empty Script Script Node A Script Node is a flexible building block in your workflow automation system. It provides a blank canvas for you to\nwrite your custom logic. Users can configure input parameters , specify the output format , and add metadata to describe the node's\npurpose and appearance. Customizing the Script Node Node Logic The core of a Script Node is its logic, where you define the custom behavior of the node. This logic is typically\nwritten in JavaScript/TypeScript. Below is an example of a Script Logic for generating QR codes: import { toDataURL } from 'qrcode' ; export default async function generateQRCode ({ url }) { const qrCodeDataURL = await toDataURL (url); return qrCodeDataURL; } In the above example, we import the toDataURL function from the qrcode NPM Library (opens in a new tab) and create an asynchronous function generateQRCode . It\ntakes an input parameter url , generates a QR code image, and returns its data URL. Input Parameters Input parameters are values that users can configure when using the Node. These parameters can be set in the form UI or\nvia JSON schema. Here's the input configuration (in JSON) for the QR code generation node: { \"type\" : \"object\" , \"properties\" : { \"url\" : { \"buildship\" : { \"index\" : 0 } , \"description\" : \"The URL to generate a QR code for\" , \"title\" : \"URL\" , \"type\" : \"string\" } } , \"required\" : [ \"url\" ] } Here, type : Specifies that the input is an object. properties : Defines the available input properties. In this case, we have a single property, \"url.\" url : Describes the \"url\" property. It has a title, description, and data type (string). The \"buildship\" section\nincludes an index, which determines the order in which this input is displayed to users. The \"required\" field\nindicates that the \"url\" parameter is mandatory. Output Format You can specify the output format of the node to inform users about what to expect from this node. For the QR code generation node, the output format is as follows: { \"buildship\" : {} , \"title\" : \"Base64 Data URL\" , \"description\" : \"base64 data URL of the generated QR code image\" , \"type\" : \"string\" , \"properties\" : {} } Here, description : Provides a brief description of the output, which is the base64 data URL of the generated QR code\nimage. type : Indicates that the output is of type \"string.\" Node Metadata Node metadata allows you to provide information about the node's appearance and purpose. Here's an example of metadata for the QR code generation node: { \"icon\" : { \"svg\" : \"<path d=\\\"M15 21h-2v-2h2v2zm-2-7h-2v5h2v-5zm8-2h-2v4h2v-4zm-2-2h-2v2h2v-2zM7 12H5v2h2v-2zm-2-2H3v2h2v-2zm7-5h2V3h-2v2zm-7.5-.5v3h3v-3h-3zM8 9H4c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h4c.55 0 1 .45 1 1v4c0 .55-.45 1-1 1zm-3.5 7.5v3h3v-3h-3zM8 21H4c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h4c.55 0 1 .45 1 1v4c0 .55-.45 1-1 1zm8.5-16.5v3h3v-3h-3zM20 9h-4c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h4c.55 0 1 .45 1 1v4c0 .55-.45 1-1 1zm-1 10v-3h-4v2h2v3h4v-2h-2zm-2-7h-4v2h4v-2zm-4-2H7v2h2v2h2v-2h2v-2zm1-1V7h-2V5h-2v4h4zM6.75 5.25h-1.5v1.5h1.5v-1.5zm0 12h-1.5v1.5h1.5v-1.5zm12-12h-1.5v1.5h1.5v-1.5z\\\"></path>\" , \"type\" : \"SVG\" } , \"name\" : \"Generate QR Code\" , \"description\" : \"Generates a QR code for the given URL and returns the QR code's URL\" , \"id\" : \"generate-qr-code\" } Here, icon : The node's icon, represented as an SVG path. It's defined in the SVG format. name : The name of the node, which is \"Generate QR Code\" in this case. description : A brief description of the node's purpose. id : A unique identifier for the node, which can be useful for the Save to Library feature coming soon! \ud83d\ude80 This metadata helps users quickly identify the node and understand its purpose. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/core-nodes/script\"><meta,https://docs.buildship.com/api/og?title=Script,https://docs.buildship.com\"><meta,https://docs.buildship.com/core-nodes/script\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/core-nodes/script.mdx\">Edit,http://www.w3.org/2000/svg\",https://www.npmjs.com/package/qrcode\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fcore-nodes%2Fscript&r=&sid=MVPMZLFT&qs=%7B%7D&cid=38122542\"",
"token_count": 997
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/core-nodes/script.",
"interpretation_notes": "Extracted 997 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/ai-nodes",
"content": "AI Generated Nodes \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Building Custom Node via AI Open the AI Node Generator Give the prompt to generate the node Example Prompt to Generate Node using any API Explore and Modify the Node via the Node Explorer Testing the Node AI Autofill Input Open the Expression Editor (x) Select and Define a Prompt Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Generate with AI AI Generated Nodes There are two ways to build custom nodes in BuildShip: Picking pre-built nodes via the Nodeverse Building custom nodes via AI Building Custom Node via AI In BuildShip, you have the flexibility to create custom nodes for your specific use cases using an integrated AI-powered\nnode building feature. This process allows you to streamline the node creation process through intelligent prompts.\nLet's explore how to build custom nodes using this AI feature: Open the AI Node Generator Click on the wand icon \ud83e\ude84 on the top left menu bar to open the AI Node Generator. This action will open the AI Node\nGenerator, where you'll be able to initiate the node creation process. Give the prompt to generate the node The AI Node Generator modal asks you to give a prompt for the node you want to generate. This prompt serves as a\nguideline for the AI to understand your requirements. Check out the following image for an example prompt. Once you have given the prompt, click on the \" Generate \" button\nto generate the node. \ud83d\udca1 Users can also specify the exact format they want the output of the node to be generated in. For example, if you want the output to be in the form of a JSON object, you can specify that in the prompt. The resultant output should be in the form of a JSON object with the following format: { \"cover\" : { \"title\" : string , \"subtitle\" : string , \"illustration\" : string } , \"pages\" : [ { \"index\" : number , \"illustration\" : string , \"text\" : string } ] } Example Prompt to Generate Node using any API With this example prompt you can generate a perfect node for any API or SDK module. For this example, we will generate a\nnode for the Adalo API. Typically the best way to generate a node with AI is using a prompt like this.. 1. input, 2. output, and 3. docs API\ncode (which can be found in the official documentation - https://help.adalo.com/integrations/the-adalo-api/push-notifications#curl (opens in a new tab) .) You can customize the steps according to\nyour usecase. \ud83d\udca1 Make sure to always import any npm package using Named\nimport (opens in a new tab) declaration.\nExample: import module from \"module-name\"; & import Crypto from 'crypto'; Explore and Modify the Node via the Node Explorer Once the AI generates the node based on your prompt, you can explore its functionalities and make further modifications\nusing \" Node Explorer </> \". This is a powerful tool that allows you to fine-tune the node's logic , input\nparameters , output configurations , and metadata descriptions . For more details on customizing nodes, refer to the editing nodes section . Testing the Node The Node Editor provides a convenient testing feature, allowing you to test the newly created node using sample data\nwithout deploying the entire workflow. This ensures that the node operates as expected before full implementation. To\nlearn more about testing nodes, refer to the testing nodes section . By following these steps, you can efficiently create custom nodes tailored to your specific automation requirements! \ud83d\ude80 AI Autofill Input BuildShip offers an AI Autofill feature that allows users to automatically populate node inputs with static or dynamic\ndata. Here's how you can effectively leverage AI Autofill to automate the node data: Open the Expression Editor (x) While configuring a node, locate the expression icon (x) and click on it to open the Expression Editor. Select and Define a Prompt Within the expression editor, you'll notice an Autofill icon . Click on this icon to enable the add your prompt. Provide a precise and descriptive prompt that articulates the specific data you need. The clarity of this prompt is\ncrucial for the AI to generate accurate values. For instance, you might define a prompt like: I need to autofill the value to the current unix timestamp All you need to do now is to check if the generated value matches your requirements. You can modify the prompt as many\ntimes as you like and request a different value to fit your use case. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/ai-nodes\"><meta,https://docs.buildship.com/api/og?title=AI,https://docs.buildship.com\"><meta,https://docs.buildship.com/ai-nodes\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/ai-nodes.mdx\">Edit,https://www.youtube.com/embed/AawYfYW8xu0\",http://www.w3.org/2000/svg\",https://help.adalo.com/integrations/the-adalo-api/push-notifications#curl\",https://help.adalo.com/integrations/the-adalo-api/push-notifications#curl<span,https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#named_import\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 1138
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/ai-nodes.",
"interpretation_notes": "Extracted 1138 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/utility-nodes",
"content": "Utility Nodes \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page How to Use Utility Nodes Customization Available Utility Nodes Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Utility Nodes Utility Nodes Utility Nodes are a diverse collection of pre-built nodes created to simplify a wide range of tasks and utilities\nwithin your BuildShip workflows. These nodes can be found in the Node Explorer under the Utilities section . Utility nodes can serve as building blocks for your workflows, allowing you to automate tasks whether you're\ndealing with data manipulation, web interactions, calculations, or other common tasks. How to Use Utility Nodes To use a Utility Node, simply go to the Node Explorer and select any node from the utility section into your\nworkflow. Utility nodes are pre-built so, you don't need to write any code . Utility nodes are also fully customizable ,\nso you can tailor them to your specific needs either via the AI node modifier or by writing your own logic. Customization BuildShip empowers you to fully customize Utility Nodes to align them precisely with your unique workflow requirements.\nHere's how you can tailor these nodes: Node Editor (</>) : Enter the Node Editor to modify the Node Script using JavaScript (JS) or TypeScript (TS).\nCustomize input and output parameters, as well as the node description to suit your specific use case. \ud83d\udca1 Learn more about how to customize nodes here . AI Node Modifier: Customize nodes effortlessly without coding . Click the Magic Wand icon (\ud83e\ude84) to open an AI\nprompt modal. Type your instructions or modifications for the node, and the AI Node Modifier will automatically apply\nthem. With this level of customization, you can adapt Utility Nodes to perform exactly the utilities you need within your\nworkflows, ensuring maximum efficiency. Available Utility Nodes BuildShip offers a growing library of Utility Nodes to cater to your automation needs. Below are some examples of\nthese nodes: API Call: Make HTTP requests to external APIs for data retrieval, submission, or triggering actions. Learn more in\ndetail here Calculator: Perform mathematical calculations and operations on numeric values. Combine Vector Embeddings: Merge vector embeddings or feature vectors for machine learning and data analysis. Form Value Extractor: Extract values from structured data sources, such as web forms or JSON payloads. Generate PDF from HTML: Convert HTML content into PDF documents for reporting and documentation. Generate QR Code: Create QR codes containing information or data for various applications. Text to Lowercase: Convert text or strings to lowercase for consistent text processing. Neighbor Search: Perform searches based on proximity or similarity. PDF to Text: Extract text content from PDF documents for further processing. Redirect Request: Redirect HTTP requests to other URLs or endpoints. Scrape Web URL: Extract data from web pages by scraping their content. Learn more in detail here We're continually expanding the range of Utility Nodes to meet evolving automation needs. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/utility-nodes\"><meta,https://docs.buildship.com/api/og?title=Utility,https://docs.buildship.com\"><meta,https://docs.buildship.com/utility-nodes\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/utility-nodes.mdx\">Edit,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Futility-nodes&r=&sid=MVPMZLFT&qs=%7B%7D&cid=16534173\"",
"token_count": 855
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/utility-nodes.",
"interpretation_notes": "Extracted 855 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/utility-nodes/api-call-node",
"content": "API Call Node \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Node Inputs HTTP Method URL Authorization Query Parameters Body Content Type Await? Node Outputs Testing the API Call Node Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Utility Nodes API Call API Call Node The API Call node in BuildShip allows you to make HTTP requests to external APIs using the fetch library. It\nsupports various HTTP methods, content types, and authentication options. You can provide query parameters, request\nbody, and choose whether to await the response or not. Node Inputs The API Call node accepts the following inputs: HTTP Method The HTTP method to use for the API call. Supported values are: GET POST PUT DELETE PATCH URL The URL endpoint of the API to be called, for example: https://api.openweathermap.org/data/2.5/weather . Authorization The authorization header for the API call, if required (e.g., Bearer or Basic token), for example: Bearer abc123 . This authorization header will be added to the request headers while sending the API call. Query Parameters The query parameters for the API call. They will be merged with the URL if any are provided. For example: If the URL is https://api.example.com/data and the query parameters are {\"query1\": \"value1\", \"query2\": \"value2\"} , the final URL will be https://api.example.com/data?query1=value1&query2=value2 . Sample Input: { \"query1\" : \"value1\" , \"query2\" : \"value2\" } Body The body of the request. It can be a JSON object or a string. The content type of the body can be specified using the Content Type field. If the content type is application/json , the body will be sent as a JSON object. Sample Input: { \"key\" : \"value\" , \"data\" : { \"nested\" : \"value\" } } Content Type The content type of the API call. Available options are: application/json (default) application/x-www-form-urlencoded multipart/form-data text/plain Await? A boolean value indicating whether the workflow should wait for the API response before proceeding to the next node. If\nset to false , the node will return immediately with null data. Node Outputs The API Call node returns an object with the following properties: status : The HTTP status code of the API response. data : The response data from the API. If the response is JSON, it will be parsed into an object. Otherwise, it will\nbe returned as a string. Testing the API Call Node Navigate to the 'API Call' node and fill in the fields with the required information. Click on the '\u25b6\ufe0e' Test Button located in the top-right corner of the Node. This will open up the Node testing panel where you can enter the test\ninputs to execute the Node. Enter the values for the required fields like HTTP Method , URL , Content Type , Query Parameters , Body , and Authorization . Click on the 'Run Test' button to execute the Node. If the execution is successful , a green check-mark \u2705 will appear on the node. To view the output of the test run,\nclick on the check-mark. You can copy the output by clicking ' Copy Value '. \ud83d\udca1 In case of an unsuccessful execution, an error message will be displayed. For example, an incorrect URL can lead to an\nerror. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/utility-nodes/api-call-node\"><meta,https://docs.buildship.com/api/og?title=API,https://docs.buildship.com\"><meta,https://docs.buildship.com/utility-nodes/api-call-node\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/utility-nodes/api-call-node.mdx\">Edit,https://www.youtube.com/embed/7ehFdORNIaE?si=UVRHtbU9nlJpUY-g\",https://api.openweathermap.org/data/2.5/weather</code>.</p>,https://api.example.com/data</code>,https://api.example.com/data?query1=value1&query2=value2</code>.</p>,http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 906
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/utility-nodes/api-call-node.",
"interpretation_notes": "Extracted 906 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/utility-nodes/crawler",
"content": "Crawler \ud83d\udd77\ufe0f \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Using the Crawler Node Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Utility Nodes Crawler Crawler \ud83d\udd77\ufe0f Extract data from an entire website by crawling through and scraping all its pages. Using the Crawler Node The Crawler node performs parallel crawling of web pages using headless Chrome with Puppeteer. Imagine you want to\nscrape https://www.buildship.com (or any other website) and all its linked pages. You can use the Crawler node to\nachieve this. The node accepts these parameters: Website URL (required) : The URL of the website to start crawling. Selector (optional) : The HTML selector to grab the inner text from. Max Concurrency (optional) : Number of crawls to run in parallel (max limit: 20). Max Requests Per Crawl (optional) : Max requests to be executed per crawl (max limit: 50). Useful to limit the\nnumber of pages to crawl. Proxy URLs (optional) : List of proxy urls to be used automatically by crawler for all connections. Crawl ID (optional) : Use crawlId returned from previous crawling to continue crawling remaining urls. This is\nuseful when you want to continue crawling from where you left off. Usage Example: Suppose you want to scrape all the pages of https://www.buildship.com : To begin we can setup the crawler node, set the URL to https://www.buildship.com and the selector to body . Let's\nalso set the maxConcurrency to 5 and maxRequestsPerCrawl to 10 . So after execution, the Crawler node output will look something like below: { // Total pages crawled \"count\" : 14 , \"desc\" : false , // Crawled pages \"items\" : [ { \"url\" : \"https://buildship.com/\" , // URL of the page \"title\" : \"BuildShip | Visual Low-code Backend Builder\" , // Title of the page \"description\" : \"\" , \"contents\" : \"AI Assistant Builder is here - Create Chatbots on your own data \ud83d\udc49...\" , // Scraped content of the page \"urls\" : [ \"https://buildship.com/assistant-api\" ] // List of URLs found in the page } , ... ] } NOTE: See this link for a complete sample output of the Crawler node used to scrape the Buildship website: Crawler Node Output . Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/utility-nodes/crawler\"><meta,https://docs.buildship.com/api/og?title=Crawler,https://docs.buildship.com\"><meta,https://docs.buildship.com/utility-nodes/crawler\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/utility-nodes/crawler.mdx\">Edit,https://www.buildship.com</code>,https://www.buildship.com</code>:</p>,https://www.buildship.com</code>,https://buildship.com/\"</span><span,https://buildship.com/assistant-api\"</span><span,http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Futility-nodes%2Fcrawler&r=&sid=MVPMZLFT&qs=%7B%7D&cid=99616819\"",
"token_count": 737
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/utility-nodes/crawler.",
"interpretation_notes": "Extracted 737 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/utility-nodes/scrape-web-url-dynamic",
"content": "Scrape Web URL (Dynamic) \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Using the Scrape Web URL Node (Dynamic) Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Utility Nodes Scrape Web URL (Dynamic) Scrape Web URL (Dynamic) Extract data from web pages by scraping their text content. This node works great for dynamic and complex sites that\nrely on javascript to load. Using the Scrape Web URL Node (Dynamic) The Scrape Web URL node's functionality includes fetching the content of a web page for the provided url. Under the\nhood, it uses Puppeteer (opens in a new tab) to scrape the web page thus allowing for more dynamic scraping. The node\naccepts these parameters: URL (required) : The URL of the page you want to scrape. Example: https://docs.buildship.com (opens in a new tab) . Selector (optional) : Specific HTML selector you want to extract text content from (by default body will be used). Steps (optional) : List of steps to follow after loading the page in given url. Usage Example: Suppose you want to scrape the below information: To begin we can setup the node, set the URL to https://www.google.com/ and the selector to #result-stats . This will\nextract the text content of the search result stats. The steps parameter can be used to interact with the page before\nextracting the text content. So, the steps input value would look something like below: [ // type \"buildship\" in google search input box { \"action\" : \"type\" , \"params\" : [ \"#APjFqb\" , \"buildship\" ] } , // click on google search button { \"action\" : \"click\" , \"params\" : [ \".gNO89b\" ] } , // wait for searched query to load and if page doesn't load within 3 seconds, move to next step { \"action\" : \"waitForNavigation\" , \"params\" : [ { \"timeout\" : 3000 , \"waitUntil\" : \"load\" } ] } ] And after execution we get the information we're looking for: The root selector value is the selector from which you want to extract the text-content, after all steps are executed. Each step object in steps list consists of action and params . The action parameter is the name of any method from puppeteer-page-methods (opens in a new tab) list. And, the params is list of parameters\nrequired in the selected action (a puppeteer method name). For one of the action - type , the parameters for the puppeteer-type-method (opens in a new tab) are: Hence, the step object for type action would look like: { // puppeteer method name \"action\" : \"type\" , // \"#APjFqb\" is the \"selector\" (the selector to find <input>) // \"buildship\" is the \"text\" (the value to be typed in <input>) // As per parameters list of \"type\" method, the third parameter is optional, // hence we can either include or exclude it from \"params\" list \"params\" : [ \"#APjFqb\" , \"buildship\" ] } Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/utility-nodes/scrape-web-url-dynamic\"><meta,https://docs.buildship.com/api/og?title=Scrape,https://docs.buildship.com\"><meta,https://docs.buildship.com/utility-nodes/scrape-web-url-dynamic\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/utility-nodes/scrape-web-url-dynamic.mdx\">Edit,https://pptr.dev/\",https://docs.buildship.com\",https://docs.buildship.com<span,https://www.google.com/</code>,http://www.w3.org/2000/svg\",https://pptr.dev/api/puppeteer.page#methods\",https://pptr.dev/api/puppeteer.page.type\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 855
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/utility-nodes/scrape-web-url-dynamic.",
"interpretation_notes": "Extracted 855 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/utility-nodes/scrape-web-url",
"content": "Scrape Web URL \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Using the Scrape Web URL Node Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Utility Nodes Scrape Web URL Scrape Web URL Extract data from static web pages by scraping their text content. This node works great for less dynamic sites that\ndon't rely on javascript to load. Using the Scrape Web URL Node The Scrape Web URL node's functionality includes fetching the content of a web page for the provided url, the node\naccepts these parameters: URL (required) : The URL of the page you want to scrape. Example: https://docs.buildship.com (opens in a new tab) . Selector (optional) : Specific HTML selector you want to extract text content from (by default body will be used). Usage Example: Suppose you want to scrape https://buildship.com (opens in a new tab) : Running the node with the url https://buildship.com and selector body will return the entire text content of the\npage. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/utility-nodes/scrape-web-url\"><meta,https://docs.buildship.com/api/og?title=Scrape,https://docs.buildship.com\"><meta,https://docs.buildship.com/utility-nodes/scrape-web-url\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/utility-nodes/scrape-web-url.mdx\">Edit,https://docs.buildship.com\",https://docs.buildship.com<span,https://buildship.com\",https://buildship.com<span,https://buildship.com</code>,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Futility-nodes%2Fscrape-web-url&r=&sid=MVPMZLFT&qs=%7B%7D&cid=33944631\"",
"token_count": 534
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/utility-nodes/scrape-web-url.",
"interpretation_notes": "Extracted 534 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/utility-nodes/llm-extract",
"content": "LLM Extract Node \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page OpenAI - LLM Extract Anthropic - LLM Extract Node Outputs Testing the LLM Extract Node Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Utility Nodes LLM Extract LLM Extract Node The LLM Extract node in BuildShip allows you to easily scrape and extract structured data from any webpage using your\nfavorite LLMs such as GPT from OpenAI or claude from Anthropic. The LLM Extract node will take care of all the data\nmassaging, such as removing unnecessary content and returning the data in a well-structured and consistent format OpenAI - LLM Extract The OpenAI LLM Extract node uses GPT to extract structured data from any webpage. The node accepts the following inputs: API key (required) : Your OpenAI API Key. (Get your OpenAI API Key here (opens in a new tab) ) URL (required) : The URL for the AI to extract information from. Selector (optional) : The specific HTML selector you want to extract from (by default body will be used). Fields (required) : The field names to extract, separated by commas. For example: title, price, description . The\nLLM will try to use the field names you enter to identify and extract the data you're interested in. So, it\u2019s\nimportant to be precise and clear when naming these fields to ensure accurate data extraction Mode (required) : The extraction mode to use. The Text option provides a concise context but omits web page\nsemantics like URLs. Select HTML to preserve HTML semantics such as page link and image urls during extraction. Anthropic - LLM Extract The Anthropic LLM Extract node uses Claude to extract structured data from any webpage. The node accepts the following\ninputs: API key (required) : Your Anthropic API Key. (Get your Anthropic API Key here (opens in a new tab) ) URL (required) : The URL for the AI to extract information from. Selector (optional) : The specific HTML selector you want to extract from (by default body will be used). Fields (required) : The field names to extract, separated by commas. For example: title, price, description . The\nLLM will try to use the field names you enter to identify and extract the data you're interested in. So, it\u2019s\nimportant to be precise and clear when naming these fields to ensure accurate data extraction Mode (required) : The extraction mode to use. The Text option provides a concise context but omits web page\nsemantics like URLs. Select HTML to preserve HTML semantics such as page link and image urls during extraction. Node Outputs Both the OpenAI and Anthropic LLM Extract nodes return the extracted data in an array. Each item in the array contains\nthe extracted fields as key-value pairs. Testing the LLM Extract Node Imagine you want to extract the title, price, link, and image url from this ecommerce website. You can find the live\necommerce site here (opens in a new tab) . For this we'll use the OpenAI LLM Extract node. We'll set the url to https://demo.vercel.store/search , the fields to title, price, link, image , and the mode to HTML . And after using BuildShip's inbuilt testing feature, we get back the extracted data in a well-structured format from the\necommerce website. \ud83d\udca1 Some current limitations of the LLM Extract node include its inability to handle infinite scroll or pagination, and\nthe potential for running into token limits (depending on the LLM you're using) when extracting data from a large\nnumber of pages Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/utility-nodes/llm-extract\"><meta,https://docs.buildship.com/api/og?title=LLM,https://docs.buildship.com\"><meta,https://docs.buildship.com/utility-nodes/llm-extract\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/utility-nodes/llm-extract.mdx\">Edit,https://platform.openai.com/account/api-keys\",https://console.anthropic.com/\",https://demo.vercel.store/search\",https://demo.vercel.store/search</code>,,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Futility-nodes%2Fllm-extract&r=&sid=MVPMZLFT&qs=%7B%7D&cid=45621619\"",
"token_count": 959
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/utility-nodes/llm-extract.",
"interpretation_notes": "Extracted 959 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/utility-nodes/generate-epub",
"content": "Generate EPUB Node \ud83d\udcd6 \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Node Inputs Sample chapters input: Node Output Bonus: Uploading to BuildShip Storage Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 Utility Nodes Generate EPUB Generate EPUB Node \ud83d\udcd6 The Generate EPUB node in BuildShip allows you to convert text/html to EPUB format. An EPUB file is a digital ebook\nformat that can be read on various devices like smartphones, tablets, and e-readers. Node Inputs The Generate EPUB node accepts the following inputs: Title (required) : The title of the ebook. Author (required) : The author of the ebook. Publisher (optional) : The publisher of the ebook. Cover (optional) : Image url to use for the book cover. Styles (optional) : You can pass css string to add your own styles. For example: body{background: #fff} . Chapters (required) : An array of objects representing the chapters of the book. See below \ud83d\udc47\ud83c\udffb for the structure of\nthe chapters input. Sample chapters input: Text only: [ { \"title\" : \"Chapter 1\" , \"data\" : \"Hello world\" } , { \"title\" : \"Chapter 2\" , \"data\" : \"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.\" } ] Or with HTML: [ { \"title\" : \"Chapter 1\" , \"data\" : \"<p><img src=\\\"https://i.pinimg.com/originals/9c/50/2c/9c502ca51a038bf0d3c1262ca6f9ae38.png\\\" alt=\\\"Image\\\"/></p><p>Hello world</p>\" } , { \"title\" : \"Chapter 2\" , \"data\" : \"<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.</p>\" } , { \"title\" : \"Chapter 3\" , \"data\" : \"<p>Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</p><p>For more information, visit <a href=\\\"https://www.example.com\\\">this link</a>.</p><p><img src=\\\"https://www.example.com/image.jpg\\\" alt=\\\"Example Image\\\"/></p>\" } ] Node Output The Generate EPUB node returns a unique file name for the generated EPUB file. Bonus: Uploading to BuildShip Storage You can use the Generate Public Download URL node to upload the generated EPUB file to BuildShip storage and get a\npublic download URL. This URL can be shared with others to download the EPUB file. Simply pass the file name returned from the Generate EPUB node to the Generate Public Download URL node to create a\npublic download link. Then, return the download URL from the Generate Public Download URL node in a return node. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/utility-nodes/generate-epub\"><meta,https://docs.buildship.com/api/og?title=Generate,https://docs.buildship.com\"><meta,https://docs.buildship.com/utility-nodes/generate-epub\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/utility-nodes/generate-epub.mdx\">Edit,https://www.youtube.com/embed/bqpBWmSH_j0?si=f6NC2T9fQZEkD8qU\",http://www.w3.org/2000/svg\",https://i.pinimg.com/originals/9c/50/2c/9c502ca51a038bf0d3c1262ca6f9ae38.png\\\",https://www.example.com\\\">this,https://www.example.com/image.jpg\\\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 751
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/utility-nodes/generate-epub.",
"interpretation_notes": "Extracted 751 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/ai-assistant/assistant",
"content": "AI Assistant Builder Guide \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Assistant Variants Building AI Assistant Create an Assistant Connect your Assistant to BuildShip Memory & conversation Saving Chat History Externally in a Database Examples Use case (I): Chat with Assistant Use Case (II): Document Retrieval from OpenAI Step 1: Set up your Assistant Step 2. Connect to BuildShip Use case (III): Website Q&A Step 1. Decide which nodes to use Step 2. Decide which inputs will be auto-filled Step 3. Test it out Use case (IV): Chat with your GSheets Use case (V): Data analyst assistant Use case (VI): Chat with your database Step 1. Prepare your data Step 2. Update instructions and node descriptions Step 3 Test it out Use case (VII): Quiz Master Step 1. Add nodes and describe them Step 2. Decide which inputs will be auto-filled Step 3. Modify the instructions Use case (VIII): Email Assistant Step 1. Create the Assistant Step 2. Add the nodes and describe them Step 3. Test it out Conclusion Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 AI Assistant AI Assistant Builder Guide AI Assistant Builder Guide Since the launch of GPTs, we have seen a lot of custom AI agents help people in their daily life, at specific tasks, at\nwork, or home. Most of these AI agents live in the ChatGPT interface and are only available for paid users within OpenAI. To open the\naccess to these GPTs, at OpenAI Dev Day, the company introduced OpenAI Assistant API (opens in a new tab) which included new capabilities to build\ncustom AI Assistants. Assistant Variants BuildShip offers a variety of AI Assistant nodes with various models and providers. Click on the links below for\ndetailed information on each one: OpenAI Assistant \u2192 OpenAI Streaming Assistant \u2192 Claude Assistant \u2192 Azure Assistant \u2192 Groq Assistant \u2192 Building AI Assistant Using the OpenAI Assistant API especially connected to your apps and database with function calling tools does require\ncoding knowledge and the ability to host, deploy your workflows, etc. With BuildShip's OpenAI Assistant Builder\nIntegration, you can now leverage the powerful capabilities of OpenAI Assistant without writing any code visually. You\ncan also connect but with the ability to low code if you would like to bring all these capabilities to your applications\nhelping you without writing a line of code. In this article we\u2019ll cover the following topics: How to create an AI Assistant Connect your AI Assistant to BuildShip Add Memory to your AI Assistant to chat in conversation style: Example Quiz Tutor Tool usage: Connect database and tools to your AI Assistant - teach your assistants to use tools to do tasks for you\nlike sending emails or updating your database Example and templates \ud83d\ude80 You can follow OpenAI Assistant Guide (opens in a new tab) and build your own\nAssistant. Create an Assistant An Assistant follows custom instructions and can leverage models, tools, and knowledge to respond to user messages. In\nthis example, we are creating an Assistant who's a personal history tutor who engages with people by asking questions. The main parameters to consider are: Name & assistant ID : You can name your assistants. When saving, an assistant ID will be auto-generated and shown\nto you below that. Instructions : How the Assistant should behave and respond. Model : The GPT version you want to use. Tools : Using Code Interpreter for running code or Retrieval to update files. Functions : To define custom behaviors, you'll learn how we'll use our BuildShip nodes as tools for our assistants. Now, let's learn how we can access Assistants outside the context of OpenAI using BuildShip. Connect your Assistant to BuildShip From the Template view, you can search for the Basic Assistant template that will create a basic workflow structure\nfor you. If you already have a workflow, you can also search OpenAI Assistant in the Node Explorer. In both cases, you\nwill have to fill up your OpenAI API Key and the Assistant ID to easily connect it. You can also update your Instructions from here or already use what you defined. \u261d If you leave the Instructions field empty, OpenAI will consider what you have already defined in OpenAI\nplayground. After that, you can test it out via a message like Who was Leonardo da Vinci? . Remember, you can use variables to\neasily change the inputs for your nodes. We assume passing the prompt as a parameter in the POST request: We assume\npassing the prompt as a parameter in the POST request: { \"message\" : \"Who was Leonardo da Vinci?\" } We can now access the Assistant response via the parameter response , which returns its last message (you'll probably\nget a message similar to the following): { \"response\" : \"Leonardo da Vinci was a Renaissance polymath active mainly in Italy from the late 15th to the early 16th century. Quiz Question: Which of the following is NOT a work of Leonardo da Vinci? A) Vitruvian Man B) The School of Athens C) Lady with an Ermine D) Ginevra de' Benci\" , \"threadId\" : \"thread_KHdD6NGPwx0yY6mIkj0UgMPe\" } Notice how each time you run your workflow, a new conversation will be started, and you'll get an answer from your\nAssistant. Let's now explore the output from the OpenAI assistant node. We can also access the following parameters: Messages : A list of all the messages from the conversation ThreadId : Unique ID of the current conversation In the following section, you\u2019ll learn how to use Thread ID to save and continue conversations. Memory & conversation When you start chatting with an Assistant, a Thread is created representing this conversation. We recommend saving\nthem as soon as the conversation is initiated. You can use BuildShip's internal database to do that. We provide two\nbasic templates for Saving a Thread ID and accessing our history of threads. For now, let's just copy the thread ID. Let's assume that we copy the thread ID from the first message and include it in\nour request. Our new message is the answer to the past quiz and the previous threadId . { \"message\" : \"The School Of Athens\" , \"threadId\" : \"your_thread_id\" } And it works! We can see from the Assistant's response that we correctly answered, and the conversation continues. { \"response\" : \"Correct! *The School of Athens* is not a work by Leonardo da Vinci. It was actually painted by Raphael, another master of the Renaissance.\" , \"threadId\" : \"thread_KHdD6NGPwx0yY6mIkj0UgMPe\" } Saving Chat History Externally in a Database To store the chat history via the AI Assistant nodes to any database your could follow the following approach: Your OpenAI Assistant node already uses a threadId for maintaining the chat history, which is also being returned\nfrom the Assistant node for reference. This can be used as the Document ID in the collection for storing the chat\nhistory externally. The OpenAI Assistant also returns an output called messages which is an array of the entire chat history associated with the threadId . This is the data we need to store to our database (or, process as required and then\nstore depending upon your usecase). For instance, we need to store the chat history to our BuildShip Database . All we need to do\nis simply add a \" Create Document \" node from the BuildShip Database Integration. Give it a Collection Name . The Document ID needs to be the threadId as returned from the AI Assistant node. Pass in the messages output from\nthe OpenAI Assistant node as the Data to be added/updated, as: { \"fieldName\" : Messages } Make sure to set the Merge field for the Create Document node as false . This would entirely update the messages\nfield every time, as the items get added to the chat history. Examples Use case (I): Chat with Assistant Now it's your turn, you can download the template Chat with Assistant (opens in a new tab) as an example to start. You can modify the\nInstructions and your messages and see how the Assistant behaves. INSTRUCTIONS : You are a personal history tutor. You will answer questions in a concise way. If no question is given, you should provide a historical fact. You must also engage with users by creating little quizzes with 4 possible options to answer each question You can test it directly from the BuildShip Test button, or you can deploy it and call your endpoint from your preferred\nenvironment. Remember that if you want to maintain the conversation, you should pass the threadId together with the message in your\nPOST request: { \"message\" : \"your_new_message\" , \"threadId\" : \"your_thread_id\" } In the next tutorial, we are going to show you how to use different tools with your assistant. Use Case (II): Document Retrieval from OpenAI OpenAI offers two hosted tools (opens in a new tab) that you can use in your workflows: Code Interpreter and Knowledge Retrieval . In this example, we will focus on using the knowledge retrieval\ncapabilities that allow you to make OpenAI assistants answer based on provided data. Before that, let's add some context about how large language models like GPTs respond. As you may know, these models are\ntrained with a large portion of the internet , so their responses are based on that information. Here, an important\naspect to consider is that each dataset uses available information up to a certain date (e.g., Up to December 2023).\nThen we can assume that OpenAI models (opens in a new tab) will not only\nanswer based on: Public data: You need to verify the specific point in time that this model was trained and which information was\nused to do it. Offline and private information: In general, you are responsible for providing context to the model when referring\nto non-online or private data. Additionally, you should consider that it's a generative model, which means that it produces content based on the\ngiven data rather than searching through information. This implies that you cannot fully trust the responses, and it's\nbetter to fact-check important information. To overcome this limitation, OpenAI offers the knowledge retrieval (opens in a new tab) tool to upload files as\ncontext for the assistant. There are some limitations (e.g., 512 MB and around 2M tokens), so make sure you check it\nwhen you prepare your assistants. In our BuildShip integration, we can also use this functionality from OpenAI. We must upload the files and then make\nsure to enable File Search . In this example, we are going to use Augmenting Human Intellect (opens in a new tab) from Douglas Engelbart as a reference material. This book from the early 1960s has had a profound impact on fields such\nas computer science, artificial intelligence, and human-computer interaction. Let's see how we can create an Assistant that responds to us and provides references to this pioneer's work. You can\nalso, download the template Assistant with Retrieval (opens in a new tab) as a\nstarting point. Step 1: Set up your Assistant Go to your Assistant Playground (opens in a new tab) and create a new Assistant with the following\ndetails: Instructions : You are an expert on Douglas Engelbart. You have access to his original papers and books, and you can answer questions in a comprehensive, casual, and easy-to-read manner. You give detailed insights and explanations with a friendly and approachable tone. You are here to make learning about this computing legend as engaging and accessible as possible. You must always provide references from the materials you have access to. Model : gpt-4-turbo-preview Make sure to enable File Search File upload : get the file you want to use as a reference If you test it out, you are going to see that now the Assistant not only provides the responses but also references\n(e.g., citing format [1]) from where it got the information! Step 2. Connect to BuildShip Within BuildShip, you should also enable Built-In Tools \u2192 Document Retrieval to make sure it will use the files you\nuploaded from OpenAI. Let\u2019s try it out with a simple question: { \"message\" : \"Which is the key point of the Engelbart thesis? Be concise in one sentence\" } You will get a response similar to the one below. As you can see, we can now access the file annotations which provides\nus with the exact quote from the reference we uploaded. As an overview, you must consider text : the cite ID you have in the response text start_index & end_index : where in the response text is this annotation placed quote : the exact text used to answer the question file_id : from which file we extracted the quote. E.g: file-OSX4KiqFNgygxfS1NHOyeRIY corresponds to our Engelbart\nwork reference { \"response\" : \"The key point of Engelbart's thesis is the development of methods to augment the human intellect, incorporating various means, including technology, with a system-oriented approach to boost intellectual effectiveness, aiming for both immediate practical benefits and long-term significant outcomes\u30101\u2020source\u3011.\" , \"annotations\" : [ { \"type\" : \"file_citation\" , \"text\" : \"\u30101\u2020source\u3011\" , \"start_index\" : 297 , \"end_index\" : 307 , \"file_citation\" : { \"file_id\" : \"file-OSX4KiqFNgygxfS1NHOyeRIY\" , \"quote\" : \"This report covers the first phase of a program aimed at developing means to augment the\\nhuman intellect. These \\\"means\\\" can include many things--all of which appear to be but\\nextensions of means developed andused in the past to help man apply his native sensory \\nmental and motor capabilities--and we consider the whole system of a human and his\\naugmentation means as a proper field of search for practical possibilities. It is a very\\nimportant system to our society and like most systems its performance can best be improved\\nby considering the whole as a set of interacting components rather than by considering the\\ncomponents in isolation. \\n\\n\\nThis kind of system approach to human intellectual effectiveness does not find a ready-made\\nconceptual framework such as exists for established disciplines. Before a research program\\ncan be designed to pursue such an approach intelligently so that practical benefits might be\\nderived within a reasonable time while also producing results of longrange significance\" } } ] , \"threadId\" : \"thread_5GU5KsyoIlHHtPCgyxGsIbDm\" } Now you can use these annotations to provide references from the responses generated by your assistants. Remember to\nenable knowledge retrieval if you upload files to OpenAI if you want your assistants to use them. You can also use other techniques to make your assistants use your own data apart from OpenAI internal knowledge\nretrieval. We can also define custom functions for our assistants. In the following examples, we\u2019ll explore different ways to make our agents respond accurately based on our data and use\ndifferent tools to fulfill our request. Use case (III): Website Q&A Till now we have learned how to access and follow up conversations with Assistants within BuildShip, and how to use\ninternal OpenAI functions. Now let\u2019s explore how we can teach these AI agents to use tools to perform the required tasks. This can include\nconnecting to different services and products such as Gmail, Discord messaging, Notion API or Supabase amongst\nothers. Using BuildShip we can simply provide extra capabilities to these agents by adding nodes to the assistant and modifying\nthe original instructions to support that. This tutorial corresponds to the template Website Q&A (opens in a new tab) Step 1. Decide which nodes to use Let\u2019s start with a simple example, using web scraping for retrieving updated information. We can search for Scrape Web\nURL node and add it within BuildShip. Here it\u2019s important to properly describe what this node does. In our example, we\u2019ll update both the name and the\ndescription of the node: New Name \u2192 get website New Description \u2192 Scrape a given web url and return the text content Then, we need to update also the instructions to set up some guidelines regarding when to use this new tool. Internally,\nwe are describing our nodes as functions (opens in a new tab) which the\nAssistant will intelligently decide to use. We are not adding any extra prompts to the user requests, so everything you\ndescribe is what the assistant is gonna use to decide. Instructions : You are an expert in searching for information from different sources. Your goal is to respond to the users' questions and requests using the source they provide. You must respond in a concise way and readable way. When you are given tools to use, you must use them following the guidelines for each tool. Guidelines: - when a user asks for information about a specific website you must use 'get website' to scrape a given website and return the information Step 2. Decide which inputs will be auto-filled Assistant can intelligently fill up the inputs from your tools. To do that, you must consider which context and\naccessible information is available for it. You are responsible for filling in inputs related to information you are not sending to OpenAI. For example your secret\nKeys or labels from your internal database. In addition, we also recommend filling the inputs we know they are not gonna\nchange. In our example, we can consider that the URL provided by the user will change in each conversation. For that reason, we\ncan set up that the URL is auto-filled by the AI. Step 3. Test it out Finally, let\u2019s try it out. We can ask the assistant to use a website on plans in a city like Timeout (opens in a new tab) to answer user specific\nquestions: { \"message\" : \"What plans I can do in Barcelona? Use this website to answer: https://www.timeout.com/barcelona/things-to-do/best-things-to-do-in-barcelona\" } You can make sure that your assistant used the provided nodes by checking the Green status in the node. In this case it\nwill scrape the provided website and return it to the Assistant You can expand this example by providing more example URLs or scrapping out entire websites to provide your assistant a\nricher knowledge base. In the following example, we are gonna see how to provide a different knowledge base to talk with the assistant: Chat\nwith your Spreadsheets Use case (IV): Chat with your GSheets In this example, we are gonna learn how you can give access to a Google spreadsheet to your assistant using the Get\nSheets node. You can also clone the template Chat with your GSheets (opens in a new tab) to your project directly. In this tutorial, let\u2019s imagine we have an online shop of sustainable furniture called Azura Home. We have our\ncollection of products in a spreadsheet. We have created a public dataset for you to access, called Azura Home Collection (opens in a new tab) .\nIt contains data emulating different products for this shop: We can directly use this spreadsheet by pasting the shared link within the Node parameters Then you should update your instructions to make sure it uses this newly provided node: Instructions : You are an Azura Home specialist. You have a detailed knowledge of Azura Home's eco-friendly Mediterranean furniture and decor products through a comprehensive dataset in a spreadsheet. Your task is to provide informative and helpful responses to user inquiries about product materials, design inspirations, sustainability practices, styles or pricing and any other specifics they might be interested in. If needed, you should ask extra questions on style preferences, available space, etc. Your answers should reflect the brand's commitment to sustainability, craftsmanship, and the Mediterranean aesthetic, helping users make informed decisions while fostering an appreciation for the unique qualities of each piece in the Azura Home collection. When you are given tools to use, you must use them following the guidelines for each tool. Guidelines: - when you start the conversation, you must use 'get sheets' to access Azure Home collection of products in Google Spreadsheets You can also update the description of the tool as described below: access Azure Home collection of products in Google Spreadsheets After that, you can directly test it and see how it responds using your spreadsheet data. Prompt : { \"message\" : \"Give me 3 sofa recommendations for less than 1k\" } Response: Based on your preference for sofas under $1,000, here are three excellent recommendations from Azura Home's eco-friendly Mediterranean collection: 1. **Valletta Velvet Sofa** - **Material** : Velvet - **Description** : Luxurious velvet sofa with plush cushions, perfect for a cozy living room. Its glam style brings an elegant and warm atmosphere that's both inviting and stylish. - **Price** : $750 2. **Vis Loveseat** - **Material** : Suede - **Description** : Compact yet comfortable loveseat, perfect for small spaces or as an addition to your living room. With its modern design, this loveseat can blend seamlessly into various interior designs, offering versatility and charm. - **Price** : $700 3. **Pag Chaise Lounge** - **Material** : Leather - **Description** : Elegant leather chaise lounge, offering a luxurious spot for relaxation. This contemporary piece adds a touch of sophistication to any space, perfect for those moments of leisure and reading. - **Price** : $950 Each of these options has been selected for its quality materials, eco-friendly focus, and beautiful Mediterranean-inspired design aesthetics. Whether you're looking for the plush comfort of velvet, the sleek look of suede, or the elegance of leather, these sofas offer a great way to enhance your living space while staying within your budget. We can continue the conversation and ask for a complement for a selected sofa: { \"message\" : \"I like the Valetta one, which small table combines with it\" , \"threadId\" : \"your_thread_id\" } Response: For a sofa as luxurious and inviting as the **Valletta Velvet Sofa** , you'd want a small table that complements its glam aesthetic while also offering functionality and a touch of Mediterranean charm. Considering the design elements and materials of the Valletta Velvet Sofa, I recommend the **Mykonos End Table** to pair with it. The blend of glass material with the plush velvet of the sofa introduces a textural contrast that's both visually appealing and functional, offering a sleek surface for drinks, books, or decorative items. The elegance and simplicity of the Mykonos End Table echo the Mediterranean aesthetic Azura Home is known for, making it a perfect companion to the Valletta Velvet Sofa in creating a cozy, stylish living space. This pairing reflects the Azura Home's commitment to sustainability, craftsmanship, and the Mediterranean aesthetic, ensuring that your living room not only looks beautiful but also resonates with the values of eco-friendly and ethical design. If you have further questions or need more recommendations, feel free to ask! With this simple example, you see how to take advantage of assistants' capabilities to access tools to chat with your\ndata. You can adapt it to your preferred knowledge source like Airtable or Notion amongst others. Use case (V): Data analyst assistant In this tutorial, we are gonna show how our assistants can access data from a spreadsheet and help us analyze this data.\nYou can also explore the template Data Analyst (opens in a new tab) to see how it's built. We have generated possible responses from a discovery survey (opens in a new tab) for a\nfictional app called AI Tutor. The goal of this survey is to capture potential users' challenges when learning or\nteaching and their perception of how technology could help them. Let\u2019s say that now we want to process this data to better understand potential customers and capture their possible\nexpectations and needs to guide our product roadmap. Firstly, we need to add a tool to access the spreadsheet to the assistant. You can update the node description to better\ndescribe what this spreadsheet contains: to access user survey data from Google spreadsheets Then you can also update the instructions to guide the assistant to use the Get sheets node to answer the questions: Instructions : You are a Data Insight Analyst. You should be concise and accurate and provide accurate analysis, ensuring that its interpretations and groupings are well-supported by the data. You have a formal, professional tone, focusing on providing concise, evidence-based responses. When additional information is needed for a comprehensive analysis, you will request more data rather than making assumptions. You should avoid speculation and you should provide precise, relevant analytical insights, tailored to enhance the user's understanding of the data When you are given tools to use, you must use them following the guidelines for each tool. Guidelines: - when you start, you must use 'Get Sheets' to access user survey data from Google Spreadsheets ` You are a Data Insight Analyst. You should be concise and accurate and provide accurate analysis, ensuring that its\ninterpretations and groupings are well-supported by the data. You have a formal, professional tone, focusing on\nproviding concise, evidence-based responses. When additional information is needed for a comprehensive analysis, you\nwill request more data rather than making assumptions. You should avoid speculation and you should provide precise,\nrelevant analytical insights, tailored to enhance the user's understanding of the data When you are given tools to use, you must use them following the guidelines for each tool. Guidelines: when you start, you must use 'Get Sheets' to access user survey data from Google spreadsheets `` After that, you can already test it out: { \"message\" : \"How many users are teachers?\" } Response Based on the provided data, there are **4 users** who have identified their role as _Teacher_ . These users are: 1. Liam Roberts - Teaches high school math 2. Noah Harris - High school science teacher 3. Olivia Sanchez - Elementary school teacher 4. Natalie Wilson - Middle school art teacher Once you already asked a question, you can experiment with different ones. You\u2019ll see that the responses will be faster\nsince the assistant accesses the spreadsheet in the beginning and later uses it during the conversation: { \"message\" : \"Which are the most common challenges when learning?\" , \"threadId\" : \"thread_Ey5hYxgvbXK674uaCCjOq2ux\" } Response The common challenges in the current learning environments, as identified by the users in the provided data, are: 1. **Lack of Personalized Attention:** Several users expressed concerns about the inability to receive personalized attention in their learning environments. This issue was mentioned in various contexts, including engaging students in remote learning, keeping up with the pace of the class, and catering to learning differences. 2. **Difficulty Understanding Certain Subjects:** Difficulty in understanding complex or specific subjects was another recurring theme. Users from different educational backgrounds, including engineering, biology, and language learning, reported this challenge. 3. **Motivation to Study:** Motivation, or rather the lack thereof, was pinpointed as a struggle both for learners trying to keep up with their coursework and for teachers trying to keep students engaged. We can follow up the conversation and ask for more specific data and quotes from users { \"message\" : \"give me this data of difficulty on understanding concepts in % and with quotes of users\" , \"threadId\" : \"thread_Ey5hYxgvbXK674uaCCjOq2ux\" } Response Based on the user descriptions provided in the dataset, the common challenges in learning environments are quantified and supported by quotes as follows: 2. **Difficulty Understanding Certain Subjects** - (4 out of 15 quotes) **27%** - Ethan Ward: _...understand complex engineering concepts._ - Eva Jackson: _...difficulty understanding certain subjects._ - Mia Clark: _...improve language skills_ Note that some quotes were interpreted in context to fit the identified categories, and multiple challenges might be represented by a single quote due to the multifaceted nature of these issues. By providing this access to our spreadsheets now we can explore together with our assistant the data and speed up our\nanalysis. You can experiment with other data sources and do different types of data analysis using your assistant. Use case (VI): Chat with your database In this example, we'll learn how you can ask the Assistant to use your own data to answer your questions. Until now, we\nassumed that assistants would use their training data to answer our requests. However, we can also make them use our\ninternal data sources. Let's illustrate this with a use case involving internal databases. Let\u2019s imagine we have an Italian restaurant and we\nwant our customers to get recommendations based on our menu. This tutorial corresponds to Chat with your Database (opens in a new tab) from our\ntemplates. Step 1. Prepare your data In our case, let\u2019s assume this menu is in our own database with full descriptions, prices and options for each dish. A prerequisite for this tutorial is to create a collection within BuildShip named MyMenu. You can use your preferred format for your data just make sure that you are giving the Assistant a node or workflow to access it You can use our sample dataset in a JSON format and import it to your project to test this workflow. Here, we propose\ntwo sample datasets including starters, main dishes, desserts and beverages: Small : 16 elements (opens in a new tab) Large : 42 elements (opens in a new tab) Step 2. Update instructions and node descriptions In this case, we are gonna tell the Assistant to access our BuildShip Collection via the Collection Query node . Once added, we update the node name and description to match this new scenario. \u2728 New Name \u2192 access menu\nNew Description \u2192 get the list of dishes from the restaurant menu Then, we also update instructions to include this tool usage: INSTRUCTIONS : You are an expert waitress at an Italian fine-dining restaurant. You are familiar with all of the dishes on the menu and are able to recommend the best dishes to customers based on their preferences. When you are given tools to use, you must use them following the guidelines for each tool. Guidelines: - When the user asks for a menu recommendation you must use the 'access menu' to get the list of dishes from the restaurant menu Step 3 Test it out You can test your new Menu Assistant and get recommendations based on your database. As an example below you can check\nhow the Assistant gives a nice recommendation Prompt : We want a vegetarian menu for two, we are gonna share two starters and a main dish. Can you recommend wine pairing too? Thank you. Use case (VII): Quiz Master In this example, we\u2019ll follow up with the Tutor Assistant scenario to allow it to save all the quizzes generated to a\ndatabase. As illustrated below, the idea is to have a conversation with the assistant and let it handle creating a\ndatabase for you. A prerequisite for this template is to create a database with a collection named \u2018Quiz\u2019 in your project. Learn more on Buildship Databases (opens in a new tab) You can also download the template Quiz Master (opens in a new tab) as a starting point. We are gonna use the following structure to save each generated quiz: question : the specific quiz question presented to the user options : a list of 4 options to choose from correctAnswer: The answer to the question keywords : autogenerated keywords for later organizing the questions Below example of how your database would look like after interacting with Quiz Master \ud83d\udc47 You are all set. Now it\u2019s time to teach our Assistant to use tools to fill this database. To do that, we must assume two\nmain aspects: You have to properly describe the given tools , together with their parameters. Eg: Send email: This function calls\nGmail API and send an email You have to specify the desired action on your request. Eg: send a happy NY greeting to my contacts Let\u2019s see how to do it with our Quiz master. Step 1. Add nodes and describe them First of all, we\u2019ll add the Create Document from Buildship Database. As you will see, you can add any nodes you want and teach the Assistant how to use them. The most important aspect to\nconsider is to provide proper descriptions of what this node should do. In our example, we\u2019ll update both the name and the description of the node: \u26a0\ufe0f Original Name \u2192 Create document Original Description \u2192 Creates or updates a document in a specified Firestore collection New Name : updateDatabase New Description : save the latest quiz to the database Note how we also provide information on how we are gonna handle the data within the description of the node. This is\nbecause when using Assistant with tools, all the node information is also considered to answer a user message. Based on\nthis information, together with the Instructions and user prompt the assistant will decide how to answer. Internally, we are describing our nodes as functions (opens in a new tab) that the Assistant will intelligently\ndecide to use. We are not adding any extra prompting on user requests, so everything you describe is what the assistant\nis gonna use to decide. Once you have described the node, you are gonna decide which inputs you provide and which ones the Assistant will be\nresponsible for filling in. Let\u2019s see how to do that \ud83d\udc47 Step 2. Decide which inputs will be auto-filled Assistant can intelligently fill in the inputs from your tools. To do that, you must consider which context and\naccessible information is available for it. You are responsible for filling in inputs related to information you are not sending to OpenAI. For example your secret\nKeys or labels from your internal database. In addition, we also recommend filling the inputs we know they are not gonna\nchange. For example, if you want to always send an email from a certain address it\u2019s better to define it yourself. All the information you fill will not be visible, nor modified by the Assistant. As an example, in our Quiz Master we\nalready provide information about the Collection name \u2018Quiz\u2019 and we leave all the other default values. To tell the Assistant to fill in an input we must enable it by pressing the icon next to it. Then, as before, it\u2019s better to provide context about how this input will be filled. Providing context on what is this\ninput, how it is used or which its expected format will guide the Assistant to correctly provide this information \u26a0\ufe0f Input Name \u2192 Data Input Description \u2192 The data to set in the document New Name : Quiz data New Description : The quiz data in JSON format with fields: question, options, correctAnswer, keywords Your node is ready to be used by the Assistant, now we only need to update it in our instructions. Step 3. Modify the instructions Finally, let\u2019s update our instructions. It\u2019s important to imagine the possible scenarios when using the Assistant. For\nexample, you can decide if you want to ask first to the user about the topic of the quiz or you can decide it yourself.\nAs an example, this is the instructions we use. INSTRUCTIONS : You are a personal history tutor. You will answer questions in a concise way. You must also engage with users by creating little quizzes with 4 possible options to answer each question. When you are given tools to use, you must use them following the guidelines for each tool. Guidelines: - If a new quiz is generated you must use 'updateDatabase' tool to save the latest quiz to the database\" First of all, we provide context on what\u2019s the task to accomplish together with some guidance on how to act when a user\ndoesn\u2019t ask anything. Then we describe the actions to be done: first, generate the quiz with options and then save it to\nthe database with the newly defined tool \u2018updateDatabase\u2019 Ready! You can now test out your new Assistant. Once you test it, note how we inform you that the tool has been used via\nthe Green Run icon. You have learned a basic example of how to use BuildShip nodes with the Assistant. Let\u2019s now learn how to combine using\nnodes and workflows together with the Assistant. Use case (VIII): Email Assistant Using BuildShip we can also teach our Assistants to use workflows as tools. In this example, we are gonna build an\nAssistant that generates responses and sends emails to your contacts. To do that you can download the Mail Assistant\ntemplate. A prerequisite for this tutorial is to create a collection within BuildShip named contacts and a basic workflow to\naccess it. You can copy this template (opens in a new tab) and\npaste it into a new workflow. Make sure that your collection has the field name and email set. Step 1. Create the Assistant Let\u2019s start by giving the task and the context to the assistant. We are also describing the tools it's gonna use and\nsome extra information on how to handle if users refer to themselves INSTRUCTIONS : You are specialized in sending emails with a concise response given a context. Users will describe the message they want to send and the expected recipient. When you are given tools to use, you must use them following the guidelines for each tool. Guidelines: - After accessing contacts must use 'send email' tool to send an email using Gmail API - You must always use 'get contacts' to access contacts and return a list of emails Step 2. Add the nodes and describe them Let\u2019s now add the Send Email tool. In this scenario, note how all the inputs except the sender's email will be\nauto-filled by the AI. Then, we add the node Execute Workflow to the Assistant and we update its name and description. Then we provide the\nrespective workflow ID to be called (more in our guide (opens in a new tab) ) \u26a0\ufe0f Name \u2192 Execute Workflow Description \u2192 Executes a BuildShip Workflow using the BuildShip Trigger on the target workflow. \u2728 Name \u2192 get contacts Description \u2192 a function to access contacts and return a list of emails In this case, we don\u2019t tell the Assistant to fill in any information, since we expect this workflow to return the list\nof users. Step 3. Test it out We are all set! If we test this workflow and ask to reach out to a contact from our database we can check in our Gmail\naccount that a new message will be sent correctly! You can explore different instructions to guide the Assistant on how to respond. As a simple example, you can tell the\nAssistant how to sign the message. INSTRUCTIONS : You are specialized in sending emails with a concise response given a context. Users will describe the message they want to send and the expected recipient. When you are given tools to use, you must use them following the guidelines for each tool. Guidelines: - After accessing contacts must use 'send email' tool to send an email using Gmail API - Always must use 'get contacts' to access contacts and return a list of emails Your signature should be always: AI curated message from Mail Assistant Remember that providing good context and instructions is relevant when talking with AI agents and asking them to perform\ntasks. Conclusion We hope that this guide helps you better understand how to use and integrate Assistants into our own workflows. We\nimagine By combining Assistants together with BuildShip you can explore many interesting scenarios: Custom chats : use AI capabilities to create a chat in your own product. Chat with your data : create assistants that access your knowledge to respond Seamless integration with your apps : make them use your tools like Gmail, Supabase, etc Teams of AI agents : divide tasks into multiple assistants and make them handle As you will see, making them use tools requires a good tool description and detailed instructions. If you give them more\nautonomy, they can end up deciding not to use the tools as you expect. We recommend using the following Instructions prompt structure when using Assistant + tools {Your Instructions} When you are given tools to use, you must use them following the guidelines for each tool Guidelines: {tool condition} you must use '{toolName}' to {toolDescription} \u2139\ufe0f Guidelines on how to prevent execssive token usage: Minimize Back-and-Forth: When you have an ongoing back-and-forth with the assistant, the entire thread including previous prompts and responses is passed back with every new prompt, meaning your prompt token cost increases rapidly. Don't have long chats, to cut down on token usage. Start a chat over at the beginning of each new task. API Functionality: Enabling certain Assistant API functions (function calls, retrieval, and code interpreter), adds significant amount of text to system prompt. Learn more (opens in a new tab) . Structured Data: Prefer using the code interpreter over file_search for structured data like CSV files. To succeed, we also provide a set of guidelines for defining instructions based on our explorations: Use the name of the tool . E.g: use 'Send email' tool Don\u2019t make assumptions , AI doesn\u2019t have content. E.g: inform Gerard to update the guide on prompting \u2192 inform\nGerard, from my contacts Use imperative to force using the tool. E.g: you must save to the database, Provide a clear sequence of actions . E.g: first generate an idea and then send it to client Imagine and describe possible logical paths . E.g: if you need more information, ask the user before sending a\nmessage Provide examples of formatting when needed. E.g: data in a json format {name:value email:value} We are gonna keep updating this guide with more use cases and recommendations. Don\u2019t hesitate to join our Discord (opens in a new tab) for more updates or contact us to discuss what you want to\nbuild Happy exploration! \u2728 Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/ai-assistant/assistant\"><meta,https://docs.buildship.com/api/og?title=AI,https://docs.buildship.com\"><meta,https://docs.buildship.com/ai-assistant/assistant\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/ai-assistant/assistant.mdx\">Edit,https://platform.openai.com/docs/assistants/overview\",https://platform.openai.com/playground?assistant=new\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://buildship.com/templates/chat-with-assistant\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://platform.openai.com/docs/assistants/tools\",https://platform.openai.com/docs/models/gpt-4-and-gpt-4-turbo\",https://platform.openai.com/docs/assistants/tools/knowledge-retrieval\",https://www.dougengelbart.org/pubs/papers/scanned/Doug_Engelbart-AugmentingHumanIntellect.pdf\",https://buildship.com/templates/assistant-with-retrieval\",https://platform.openai.com/assistants\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://buildship.com/templates/website-q-a\",http://www.w3.org/2000/svg\",https://platform.openai.com/docs/assistants/tools/function-calling\",http://www.w3.org/2000/svg\",https://www.timeout.com/barcelona/things-to-do/best-things-to-do-in-barcelona\",https://www.timeout.com/barcelona/things-to-do/best-things-to-do-in-barcelona\"</span></span>,http://www.w3.org/2000/svg\",https://buildship.com/templates/chat-with-gsheets\",https://docs.google.com/spreadsheets/d/1ZUmpMKUZzbgTNbWzjtsTURlDlmp7EjOUASWaBG_XLd8/edit#gid=1340319221\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://buildship.com/templates/data-analyst\",https://docs.google.com/spreadsheets/d/1Z6El2jk0D8Ph_Evk9LzL3swWkLqdjoR6eirjTBjBLtY/edit#gid=0\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://buildship.com/templates/chat-with-your-database\",http://www.w3.org/2000/svg\",https://storage.googleapis.com/buildship-wvgzkd-us-central1/docs/small-sample-dataset.json\",https://storage.googleapis.com/buildship-wvgzkd-us-central1/docs/large-sample-dataset.json\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://docs.buildship.com/basics/buildship-tables\",https://buildship.com/templates/quiz-master\",http://www.w3.org/2000/svg\",https://platform.openai.com/docs/assistants/tools/function-calling\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://storage.googleapis.com/buildship-wvgzkd-us-central1/docs/email-assistant-template.json\",http://www.w3.org/2000/svg\",https://docs.buildship.com/trigger-nodes/buildship-trigger\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://community.openai.com/t/assistant-api-way-too-much-input-tokens-used/699661/5\",https://discord.com/invite/rowy-853498675484819476\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fai-assistant%2Fassistant&r=&sid=MVPMZLFT&qs=%7B%7D&cid=5129136\"",
"token_count": 7320
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/ai-assistant/assistant.",
"interpretation_notes": "Extracted 7320 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/ai-assistant/openai-assistant",
"content": "OpenAI Assistant Node \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Get Started \u2705 Node Inputs 1. API Key 2. Assistant ID 3. Instructions 4. User Prompt 5. Thread ID 6. Built-in Tools Adding Nodes to the Assistant Node Outputs 1. Response 2. Thread ID 3. Messages 4. Annotations 5. Error Example Use Cases Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 AI Assistant OpenAI Assistant OpenAI Assistant Node The OpenAI Assistant Node allows you to integrate the powerful OpenAI Assistant API into your BuildShip workflows. This\nnode enables you to interact with an AI assistant, receive intelligent responses generated by the OpenAI language model.\nThe OpenAI Assistant Node supports the latest version of the OpenAI API, providing access to the latest features and\ncapabilities. \ud83d\udca1 The following documentation is applicable for both OpenAI Assistant V1 and V2 APIs. Any specific differences or\nupdates have been highlighted here . \ud83d\udca1 This is the standard version of the OpenAI Assistant Node. If you are looking for the streaming version , please refer\nto the OpenAI Streaming Assistant Node . Get Started \u2705 To get started quickly, BuildShip offers a wide range of pre-built templates. Click on the templates below to clone them\nto your workspace and start using them right away! Ask for plans in a specific city and get responses based on your preferences. \u2192 Connect your OpenAI Assistant to Buildship and access it from anywhere. \u2192 Make an Assistant that access to the files you upload in the Assistant playground. \u2192 Make an Assistant that access to a Google Sheets to respond. This template showcases an online furniture store. \u2192 Recruit a new data analyst for your research. Give it access to your data in a spreadsheet and ask it questions. \u2192 Get an assistant to give recommendations to customers based on dishes from a database and handle commands and orders. \u2192 Chat with a history tutor and learn to generate and save quizzes to your databases. \u2192 Scrape a website and get your Assistant to answer questions about it. \u2192 Access your contacts and send emails for you. \u2192 Node Inputs 1. API Key This input field requires your OpenAI API key , which is necessary for authentication with the OpenAI service. You\ncan obtain your API key from the OpenAI console (opens in a new tab) . 2. Assistant ID Enter the ID of the OpenAI assistant you want to use. You need to create and configure the assistant in the OpenAI\nconsole beforehand. \ud83d\ude80 You can follow OpenAI Assistant Guide (opens in a new tab) and build your own\nAssistant. 3. Instructions You can use this input to override the default system message or instructions for the AI assistant . This is useful\nfor modifying the assistant's behavior or persona on a per-run basis. You are a knowledgeable science tutor. Provide clear and concise explanations of complex scientific concepts. If no specific question is asked, provide an interesting scientific fact or trivia. 4. User Prompt This input field is where you enter the prompt or query that you want to send to the AI assistant. This represents the\nincoming message from the user or client. Sample Inputs: Can you explain the theory of relativity in simple terms? Can you help me write a short story about a talking robot? 5. Thread ID This optional input allows you to save and share the context of the conversation using a thread ID . The thread ID\ncan be any unique identifier , such as a UUID or a custom string. The chat history belonging to a specific thread ID\nis retrieved and continued in subsequent interactions. This feature is useful for maintaining context and continuity in\nmulti-turn conversations. Sample Thread ID: 123e4567-e89b-12d3-a456-426614174000 If no thread ID is provided, a new conversation thread is started and a new thread ID is generated automatically .\nThis Thread ID is also returned as an output of the Claude Assistant node for reference. You can make your client\napplications store and reuse this thread ID for future interactions. 6. Built-in Tools Select the built-in tools you want the OpenAI assistant to use. The available options are: File Search - for searching and retrieving relevant files or documents uploaded to the OpenAI Assistant Code Interpreter - for analyzing and explaining code snippets \ud83d\udca1 The V1 API equivalent of the File Search tool is the Document Retrieval tool. Adding Nodes to the Assistant We can add nodes to the OpenAI Assistant. This allows the assistant to intelligently perform specific tasks with the\nhelp of the added nodes. For example, we can add nodes for querying the database, translation, sending emails, or any\nother custom task . The assistant executes the appropriate node(s) based on the user's prompt or context. Open the Node Library: Click on the \"Add Node\" button inside the OpenAI Assistant interface to open the Node\nLibrary. Choose or Create a Node: In the Node Library, you can select an existing node from the available options, paste\nthe code for a node, or create a custom node using the AI-assisted node creation feature. Update Instructions: After adding a node, the pop-up modal asks you to update the node details. The assistant\nuses the node name and description to determine when to invoke a specific node, so ensure that your instructions\nclearly describe the scenarios or prompts that should trigger the execution of each node. Enable Auto-Fill for Node Inputs: Some node inputs can be automatically populated by the OpenAI Assistant based\non the user's prompt or context. To enable this feature, click on the star icon next to the node input field and\ndescribe the input name and the information that should be used to auto-fill the value. Node Outputs 1. Response This output field contains the AI assistant's response to the user's prompt. The response can include text,\nexplanations, summaries, or any other relevant information based on the provided instructions and context. 2. Thread ID This output provides the ID of the conversation thread used for the current interaction. If a new thread was created, a\nnew thread ID is generated and returned. If a thread ID was provided as an input, the same thread ID is returned for\nreference. 3. Messages This output contains the full content of the messages exchanged during the conversation, including an array of text\nand/or images. 4. Annotations This output field provides any annotations associated with the message, such as entity recognition or sentiment\nanalysis. 5. Error If an error occurs during the execution of the node, this output will contain the error message and code. Example Use Cases Task Automation: Automate various tasks by integrating the AI assistant into your workflows, such as data\nprocessing, document summarization, or language translation. Educational Assistant: Use the OpenAI Assistant to provide explanations, summaries, and answers to students'\nquestions on various topics. Technical Support: Integrate the OpenAI Assistant into your customer support system to provide instant responses\nand solutions to common queries. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/ai-assistant/openai-assistant\"><meta,https://docs.buildship.com/api/og?title=OpenAI,https://docs.buildship.com\"><meta,https://docs.buildship.com/ai-assistant/openai-assistant\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/ai-assistant/openai-assistant.mdx\">Edit,https://buildship.app/remix?template=assistant-city\"><p,https://buildship.app/remix?template=assistant-conversation\"><p,https://buildship.app/remix?template=assistant-retrieval\"><p,https://buildship.app/remix?template=assistant-sheets\"><p,https://buildship.app/remix?template=assistant-data-analyst\"><p,https://buildship.app/remix?template=assistant-menu-recommender\"><p,https://buildship.app/remix?template=assistant-quiz-master\"><p,https://buildship.app/remix?template=assistant-scrape\"><p,https://buildship.app/remix?template=assistant-mail\"><img,https://platform.openai.com/account/api-keys\",https://platform.openai.com/playground?assistant=new\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fai-assistant%2Fopenai-assistant&r=&sid=MVPMZLFT&qs=%7B%7D&cid=92277681\"",
"token_count": 1538
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/ai-assistant/openai-assistant.",
"interpretation_notes": "Extracted 1538 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/ai-assistant/openai-streaming-assistant",
"content": "OpenAI Streaming Assistant Node \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Get Started \u2705 Node Inputs Node Outputs 1. Response Stream 2. Thread ID Example Use Cases Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 AI Assistant OpenAI Streaming Assistant OpenAI Streaming Assistant Node The OpenAI Streaming Assistant Node allows you to interact with the powerful OpenAI Assistant API and receive\nintelligent responses generated by the OpenAI language model in a streamed format. This node supports the latest version\nof the OpenAI API, providing access to the latest features and capabilities. \ud83d\udca1 This is the streaming version of the OpenAI Assistant Node. If you are looking for the standard version, please refer\nto the OpenAI Assistant Node . Get Started \u2705 To get started quickly, BuildShip offers a pre-built template. Click on the templates below to clone them to your\nworkspace and start using them right away! An Assistant that streams back a text response and returns the Thread ID as a response header. \u2192 BuildShip AI Chat Widget: A pre-built chat widget that integrates with the OpenAI Streaming Assistant. \u2192 Node Inputs The OpenAI Streaming Assistant Node accepts the same inputs as the OpenAI Assistant Node, learn more . Node Outputs 1. Response Stream This output property is the stream object to which the AI assistant's response is piped. The client, upon receiving this\nobject, can accept the response in the form of a stream. \ud83d\udca1 To have the workflow respond with the text stream, this Response Stream object needs to be only value being\nreturned by the workflow's Return node . 2. Thread ID This optional input allows you to save and share the context of the conversation using a thread ID . The thread ID\ncan be any unique identifier , such as a UUID or a custom string. The chat history belonging to a specific thread ID\nis retrieved and continued in subsequent interactions. This feature is useful for maintaining context and continuity in\nmulti-turn conversations. Sample Thread ID: 123e4567-e89b-12d3-a456-426614174000 If no thread ID is provided, a new conversation thread is started and a new thread ID is generated automatically .\nThis Thread ID is also returned as an output of the Claude Assistant node for reference. You can make your client\napplications store and reuse this thread ID for future interactions. Example Use Cases Real-time Assistant: Integrate the OpenAI Streaming Assistant into your applications to provide real-time\nresponses and updates as the assistant generates its response. Multi-turn Conversations: Maintain context and continuity in multi-turn conversations by using the thread ID\nfeature to save and retrieve conversation history. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/ai-assistant/openai-streaming-assistant\"><meta,https://docs.buildship.com/api/og?title=OpenAI,https://docs.buildship.com\"><meta,https://docs.buildship.com/ai-assistant/openai-streaming-assistant\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/ai-assistant/openai-streaming-assistant.mdx\">Edit,https://buildship.app/remix?template=streaming-assistant\"><p,https://github.com/rowyio/buildship-chat-widget\"><p,https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 807
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/ai-assistant/openai-streaming-assistant.",
"interpretation_notes": "Extracted 807 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/ai-assistant/claude-assistant",
"content": "Claude Assistant Node \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Node Inputs 1. API Key 2. Instructions 3. User Prompt 4. Max Tokens 5. Model 6. Thread ID Adding Nodes to Claude Assistant Node Outputs 1. Response 2. Thread ID 3. Chat History 4. Data 5. Error Use Cases Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 AI Assistant Claude Assistant Claude Assistant Node The Claude Assistant Node allows you to interact with the AI assistant, connect your favorite tools, and receive\nrelevant responses from the provided information. Claude is a highly capable language model trained to assist with a\nwide range of tasks, including writing, analysis, question answering, coding, and more. Node Inputs The Claude Assistant Node accepts the following inputs: 1. API Key This is the API key required to authenticate and access the Claude AI model . You can obtain the API key by signing\nup for an account on the Anthropic website (opens in a new tab) . 2. Instructions This input allows you to provide detailed instructions or guidelines for the AI assistant . You can use this field to\nset the goal or purpose of the assistant, as well as any specific guidelines for tool or function usage. For Example : You could instruct the assistant to act as a technical writer or a coding tutor. 3. User Prompt This is the actual prompt or query that you want to send to the AI assistant. This input represents the incoming message\nfrom the user or client. For Example: We can pass in the user's query like \" Can you help me write a summary of the given text? \" or \" Can\nyou generate a code snippet for the given problem statement? \". If we wish to set the prompt dynamically, we can simply\npass in the user's query/body as an input. Request . body .prompt; 4. Max Tokens This input specifies the maximum number of tokens the AI assistant can use in its response. The default value is 1024 tokens. 5. Model This input allows you to select the specific Claude model you want to use. The available options are: Claude 3 Opus Claude 3 Sonnet Claude 3 Haiku 6. Thread ID This optional input allows you to save and share the context of the conversation using a thread ID . The thread ID\ncan be any unique identifier , such as a UUID or a custom string. The chat history belonging to a specific thread ID\nis retrieved and continued in subsequent interactions. This feature is useful for maintaining context and continuity in\nmulti-turn conversations. Sample Thread ID: 123e4567-e89b-12d3-a456-426614174000 If no thread ID is provided, a new conversation thread is started and a new thread ID is generated automatically .\nThis Thread ID is also returned as an output of the Claude Assistant node for reference. You can make your client\napplications store and reuse this thread ID for future interactions. Adding Nodes to Claude Assistant The Claude Assistant Node allows you to integrate additional functionality by adding other script nodes, enabling the AI\nassistant to automatically choose and execute the appropriate node based on the user's input. This feature enhances the\ncapabilities of the assistant, making it more versatile and powerful. Open the Node Library: Click on the \"Add Node\" button inside the Claude Assistant interface to open the Node\nLibrary. Choose or Create a Node: In the Node Library, you can select an existing node from the available options, paste\nthe code for a node, or create a custom node using the AI-assisted node creation feature. Update Instructions: After adding a node, the pop-up modal asks you to update the node details. The assistant\nuses the node name and description to determine when to invoke a specific node, so ensure that your instructions\nclearly describe the scenarios or prompts that should trigger the execution of each node. Enable Auto-Fill for Node Inputs: Some node inputs can be automatically populated by the Claude Assistant based\non the user's prompt or context. To enable this feature, click on the star icon next to the node input field and\ndescribe the input name and the information that should be used to auto-fill the value. Node Outputs The Claude Assistant Node returns the following outputs: 1. Response This output provides the response generated by the Claude AI model based on the user prompt and instructions\nprovided . The response can include text, code snippets, summaries, answers, or any other relevant information based on\nthe context of the conversation. 2. Thread ID This output returns the thread ID associated with the conversation . If a new thread was started, a new thread ID is\ngenerated and returned. If a thread ID was provided as an input, the same thread ID is returned for reference. 3. Chat History This output includes the chat history of the conversation, including the user prompt, AI response, and any other\nrelevant information . The chat history is useful for tracking the conversation flow and context over multiple\ninteractions. 4. Data This output contains the raw data received from the Anthropic API . It includes the model used, the prompt, the\nresponse, and other metadata related to the conversation. This data can be useful for debugging or further analysis of\nthe AI assistant's behavior. 5. Error In case of any errors during the interaction with the Claude AI model, this output provides details about the error ,\nincluding the error message and code. This can help you troubleshoot and resolve any issues that may arise during the\nconversation. Use Cases The Claude Assistant Node can be used in a variety of scenarios to enhance your workflows and automate tasks that\nrequire natural language processing or AI capabilities, or when you need AI to interact with various other tools and\nservices. Here are some common use cases: Chatbots and Conversational Interfaces: Integrate Claude into your chatbot or conversational interface to provide\nintelligent and natural language responses to user queries. Easily connect with various chat nodes like Slack,\nDiscord, Telegram, Email , or even WhatsApp . Analysis and Research: Utilize Claude's analytical capabilities to perform in-depth research, analyze data, or\ngenerate insights and recommendations. BuildShip offers 50+ integrations to connect with various data sources and\ntools like Google Sheets, Airtable , and more. Coding Assistance: Employ Claude as a coding tutor or assistant, helping developers with code explanations,\ndebugging, or even generating code snippets. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/ai-assistant/claude-assistant\"><meta,https://docs.buildship.com/api/og?title=Claude,https://docs.buildship.com\"><meta,https://docs.buildship.com/ai-assistant/claude-assistant\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/ai-assistant/claude-assistant.mdx\">Edit,https://www.anthropic.com/claude\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fai-assistant%2Fclaude-assistant&r=&sid=MVPMZLFT&qs=%7B%7D&cid=17349329\"",
"token_count": 1446
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/ai-assistant/claude-assistant.",
"interpretation_notes": "Extracted 1446 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/ai-assistant/azure-assistant",
"content": "Azure OpenAI Assistant \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Node Inputs 1. Azure API Key 2. Assistant ID 3. Resource 4. User Prompt 5. Thread ID 6. Instructions 7. Built-in Tools Node Outputs 1. Messages 2. Thread ID 3. Response 4. Annotations Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 AI Assistant Azure Assistant Azure OpenAI Assistant Node The Azure OpenAI Assistant Node enables you to interact with the Azure OpenAI Assistant API and receive intelligent\nresponses generated by the Azure language model. This node supports the latest version of the Azure OpenAI API,\nproviding access to the latest features and capabilities. Node Inputs 1. Azure API Key This input field requires your Azure API key for authentication with the Azure OpenAI service. You can obtain the API\nkey from the Azure AI Studio (opens in a new tab) . 2. Assistant ID Enter the ID of the Azure OpenAI assistant you want to use. You need to create and configure the assistant in the Azure\nOpenAI Studio beforehand. 3. Resource The name of your Azure resource. 4. User Prompt This input field is where you enter the prompt or query that you want to send to the AI assistant. This represents the\nincoming message from the user or client. 5. Thread ID This optional input allows you to save and share the context of the conversation using a thread ID. The thread ID can be\nany unique identifier, such as a UUID or a custom string. The chat history belonging to a specific thread ID is\nretrieved and continued in subsequent interactions. If no thread ID is provided, a new conversation thread is started,\nand a new thread ID is generated automatically. 6. Instructions You can use this input to override the default system message or instructions for the AI assistant. This is useful for\nmodifying the assistant's behavior or persona on a per-run basis. 7. Built-in Tools Select the built-in tools you want the Azure OpenAI assistant to use. The available options are: Document Retrieval - for searching and retrieving relevant documents (Note: This feature is not yet supported in\nAzure) Code Interpreter - for analyzing and explaining code snippets Node Outputs 1. Messages This output contains the full content of the messages exchanged during the conversation, including an array of text\nand/or images. 2. Thread ID This output provides the ID of the conversation thread used for the current interaction. If a new thread was created, a\nnew thread ID is generated and returned. If a thread ID was provided as an input, the same thread ID is returned for\nreference. 3. Response This output field contains the AI assistant's response to the user's prompt. 4. Annotations This output field provides any annotations associated with the message, such as entity recognition or sentiment\nanalysis. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/ai-assistant/azure-assistant\"><meta,https://docs.buildship.com/api/og?title=Azure,https://docs.buildship.com\"><meta,https://docs.buildship.com/ai-assistant/azure-assistant\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/ai-assistant/azure-assistant.mdx\">Edit,https://ai.azure.com/\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 843
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/ai-assistant/azure-assistant.",
"interpretation_notes": "Extracted 843 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/ai-assistant/groq-assistant",
"content": "Groq Assistant \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Setting Up the Groq Assistant Step 1: Adding the Groq Assistant Node Step 2: Adding the Groq API Key Step 3: Add in the Instructions Step 4: Passing the User Prompt Step 5: Configure the Tokens and Model Step 6: Thread ID Chat History Outputs Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 AI Assistant Groq Assistant Groq Assistant The Groq AI Assistant Node is a powerful tool that allows you to create and interact with an AI-powered\nconversational assistant. It leverages the capabilities of the Groq platform, which provides access to large language\nmodels and natural language processing capabilities. Setting Up the Groq Assistant Step 1: Adding the Groq Assistant Node In your BuildShip Workflow canvas, click on the + Add Node button. In the search bar, type Groq AI Assistant and\nclick on the node to add it to your canvas. Step 2: Adding the Groq API Key The Groq AI Assistant Node requires an API key to connect to the Groq platform. You can obtain an API key by signing up\non the Groq Console (opens in a new tab) . Once you have the API key, paste it into the API Key field in\nthe Groq AI Assistant Node settings. \ud83d\udca1 RECOMMENDED: Use BuildShip Secrets to securely store your API key and re-use it across multiple workflows. Learn\nmore . Step 3: Add in the Instructions You can now configure the Groq AI Assistant Node by adding in the instructions that you want the assistant to follow.\nThis is like a System Prompt for the Groq AI Assistant to set a context for the conversation. For Example: You are a helpful travel assistant providing recommendations for vacation destinations based on the user's preferences. Step 4: Passing the User Prompt The User Prompt is the input that the user provides to the assistant. You can pass in the User Prompt from the body of\nthe incoming request to the workflow. The Groq AI Assistant Node will use this input, along with the Instructions to\ngenerate a response. For Example: I'm planning a family vacation next summer. We enjoy outdoor activities like hiking and camping, and we'd like to go somewhere with beautiful scenery and moderate temperatures. Can you suggest some good destinations for us? You can pass in the User Prompt from the body of the incoming request as follows: Step 5: Configure the Tokens and Model Optionally, users can set the maximum number of tokens (units of text) that the AI assistant's response can contain. The\ndefault value is 1024 . Select the specific language model to be used by the AI assistant. The available options are LLaMA3 70b , LLaMA3 8b , Mixtral 8x7b , and Gemma 7b . The default model is LLaMA3 8b . Step 6: Thread ID Optionally, provide a thread ID to maintain the conversation history between the user and the AI assistant. If provided,\nthe node will retrieve the previous messages from the specified thread and include them in the context for the current\nresponse. Learn more on how the Assistant maintains the conversation history . Chat History The Groq Assistants, like all other assistants, maintains the chat history by storing the conversation messages in your\nBuildShip Storage associated with your project. If a threadId is provided, the node will attempt to load the previous\nmessages from the corresponding history. If the history does not exist, a new conversation thread is started. After each\nresponse from the AI assistant, the node appends the latest messages to the chat history, ensuring that the conversation\nhistory is preserved for future interactions. Outputs The Groq AI Assistant Node returns the following outputs: Message : The response generated by the AI assistant based on the User Prompt and Instructions. Thread ID : The unique identifier for the conversation thread. This can be used to maintain the conversation\nhistory between the user and the AI assistant. Data : The complete response object from the Groq API, which includes additional metadata and information about the\nAI assistant's response. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/ai-assistant/groq-assistant\"><meta,https://docs.buildship.com/api/og?title=Groq,https://docs.buildship.com\"><meta,https://docs.buildship.com/ai-assistant/groq-assistant\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/ai-assistant/groq-assistant.mdx\">Edit,https://console.groq.com/keys\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fai-assistant%2Fgroq-assistant&r=&sid=MVPMZLFT&qs=%7B%7D&cid=51972943\"",
"token_count": 1056
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/ai-assistant/groq-assistant.",
"interpretation_notes": "Extracted 1056 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/ai-models/fal-ai",
"content": "Using Fal AI Models with BuildShip \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Prerequisites \u2705 Fal AI API Key Fal AI Nodes Stable Video Diffusion Stable Diffusion XL Image Generator Generate Animation Whisper Speech to Text Text to Image Generator Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 AI Models / Tools Fal AI Using Fal AI Models with BuildShip Fal AI offers a range of popular models such as Stable Diffusion XL, Whisper, and more, available as ready-to-use APIs.\nWith BuildShip Fal AI Nodes, you can seamlessly integrate these powerful AI models into your workflows, APIs, backend\nprocesses, schedule jobs, and automate everyday tasks with AI capabilities. \ud83d\ude80 Check out the Fal AI Model Gallery (opens in a new tab) , and build your own Fal AI Model nodes. Prerequisites \u2705 Fal AI API Key To integrate Fal AI with BuildShip, you need to obtain an API Key from the Fal AI Dashboard. Follow these steps: Visit the Fal AI Dashboard (opens in a new tab) . Click on \u201c Create New Key Pair \u201d to generate a new API Key. Copy the generated API Key and store it securely. This key will be required for authentication in the Fal AI Nodes. Recommended: Save your API Keys securely with BuildShip Secret Manager to easily reuse them in your\nnodes. Fal AI Nodes Stable Video Diffusion Generates short video clips from a given image. This node utilizes the FAL API to create a stable diffusion video.\nProvide the URL of the image from which you want to generate the video. Stable Diffusion XL Image Generator Generates an image based on a given prompt using Stable Diffusion XL Image Generator. Input the prompt to guide the\nimage generation process. SAMPLE PROMPT: photo of a rhino dressed suit and tie sitting at a table in a bar with a bar stools, award winning photography, Elke vogelsang Generate Animation Generates animations based on a prompt using the AnimateDiff Fal AI Model. Specify the prompt to define the content and\nstyle of the animation. Sample Prompt: masterpiece, best quality, 1girl, solo, cherry blossoms, hanami, pink flower, white flower, spring season, wisteria, petals, flower, plum blossoms, outdoors, falling petals, white hair, black eyes Whisper Speech to Text Converts speech to text using Fal AI's Whisper model. Input the URL of the audio file that needs to be transcribed. TIP \ud83d\udca1: To use your own audio file, upload it to the BuildShip Storage Manager and obtain the \"Public Download URL\"\nto be used as the Audio URL. Text to Image Generator Generates images from text using the Fooocus model by Fal AI. Provide the text prompt to generate the corresponding\nimage. Sample Prompt: photo of a panda dressed suit and tie sitting at a table in a bar with a bar stools Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/ai-models/fal-ai\"><meta,https://docs.buildship.com/api/og?title=Using,https://docs.buildship.com\"><meta,https://docs.buildship.com/ai-models/fal-ai\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/ai-models/fal-ai.mdx\">Edit,https://fal.ai/models\",https://www.fal.ai/dashboard\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 841
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/ai-models/fal-ai.",
"interpretation_notes": "Extracted 841 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/ai-models/eleven-labs",
"content": "Eleven Labs - Text to Speech \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Prerequisites \u2705 Eleven Labs API Key Node: Text to Speech Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 AI Models / Tools Eleven Labs - Text to Speech Eleven Labs - Text to Speech With Eleven Labs nodes users can generate text to speech or audio using BuildShip. This is particularly useful when\nbuilding apps that require audio content, such as Story Books , blog apps with audio versions , or apps that\nprovide voice directions . By incorporating voice capabilities into your app, you can enhance user experience and\naccessibility. The Eleven Labs nodes offers over 35 built-in voices to choose from. You can also customize the voice, pitch, and speed\nof the audio output. Prerequisites \u2705 Eleven Labs API Key To use the Eleven Labs nodes you need an Eleven Labs API key. Follow the steps below to get your API key: Log in to your Eleven Labs Account. You can sign up for a free account at Eleven Labs (opens in a new tab) . Click on your profile picture in the bottom left corner and select the Profile option from the menu. Copy the generated API Key and store it securely. This key will be required for authentication in the Eleven Labs Text\nto Speech node. Recommended: Save your API Keys securely with BuildShip Secret Manager to easily reuse them in your\nnodes. Node: Text to Speech The Text to Speech node converts text to speech using the Eleven Labs API. You can use this node to generate audio files\nfrom text. The node supports multiple languages and voices. To configure the Text to Speech node, you will need to provide the following information: API key : Obtain your API key from the Eleven Labs developer dashboard (opens in a new tab) . Voice ID : Choose the voice you want to use from the available options. You can even use your own custom voices. Simply append the Voice Name and Voice ID in the Node Input section, in the Node Editor. Text : Enter the text that you want to convert into speech. You can also use editor variables to fetch the text\ndynamically. Storage folder : Specify the folder in the Google Cloud Storage bucket where the generated MP3 files will be\nstored. By default, it is set to /ElevenLabs . Optimization level for streaming latency : This is set to zero by default. Once you have filled in the necessary details, the text to speech node will convert the provided text into speech using\nthe Eleven Labs API. The generated audio file will be saved in Google Cloud Storage, and the node will return a URL\npointing to the audio file. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/ai-models/eleven-labs\"><meta,https://docs.buildship.com/api/og?title=Eleven,https://docs.buildship.com\"><meta,https://docs.buildship.com/ai-models/eleven-labs\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/ai-models/eleven-labs.mdx\">Edit,https://www.youtube.com/embed/TLd6evPS7fY?si=mL-cUjDO-Z8UmVCz\",https://elevenlabs.io/\",http://www.w3.org/2000/svg\",https://elevenlabs.io/\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p",
"token_count": 836
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/ai-models/eleven-labs.",
"interpretation_notes": "Extracted 836 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/ai-models/perplexity",
"content": "Perplexity AI \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Prerequisites \u2705 Perplexity API Key Node: Perplexity AI API Key System Prompt User Input Models Output Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 AI Models / Tools Perplexity Perplexity AI The BuildShip allows you to leverage the power of Perplexity AI's language models directly within your BuildShip\nworkflows. Perplexity AI is designed to provide high-quality, coherent, and contextually relevant responses by\nleveraging cutting-edge Natural Language Processing (NLP) techniques. BuildShip offers a pre-built Perplexity AI Node that simplifies the integration of Perplexity AI's language models\ninto your workflows. The integration utilizes the Perplexity AI Chat API, which provides access to Perplexity AI's language models. The API\nreference for the Chat API can be found here (opens in a new tab) . Prerequisites \u2705 Perplexity API Key To use the Perplexity AI nodes, you need a Perplexity API key. Follow the steps below to get your API key: Sign up for a Perplexity AI account at Perplexity AI (opens in a new tab) , if you don't already have one. Navigate to your account settings. Under the API Section (opens in a new tab) , register your\ncredit card to get started. This step will not charge your credit card. Rather, it stores payment information for\nlater API usage. Generate an API key. This key will be required for authentication in the Perplexity AI nodes. Recommended: Save your API Keys securely with BuildShip Secret Manager to easily reuse them in your\nnodes. Node: Perplexity AI The Perplexity AI Node is a pre-built node that simplifies the integration of Perplexity AI's language models into your\nBuildShip workflows. The Perplexity AI Node can be found in the Node Library, under the Perplexity AI integration. The node inputs allows you to specify various configuration parameters to customize the interaction with the Perplexity\nAI Chat API. The Perplexity AI Node accepts the following input parameters: API Key Your Perplexity AI API Key, which you can generate through the Perplexity Account Settings Page. Refer to the Prerequisites section for more information on obtaining your API Key. System Prompt The system's prompt message, which sets the context or instructions for the AI model. Sample System Prompt: You are a helpful kitchen assistant. You'll be asked to provide recipes for various dishes. User Input The user's prompt question or input text. Sample Input: Sample User Input: What is the recipe for a classic Margherita pizza? I have pizza dough, tomato sauce, mozzarella cheese, garlic cloves, and fresh basil. Models The Perplexity AI model to be used for generating the response. You can select from the following options: Mistral 7B Instruct : A large-scale language model trained on a diverse range of text sources, designed for\ngenerating instructional text. Mixtral 8X7B Instruct : A larger-scale language model trained on a diverse range of text sources, designed for\ngenerating instructional text. Sonar Small Chat : A smaller-scale language model trained on conversational text, designed for generating chatbot\nresponses. Sonar Medium Chat : A medium-scale language model trained on conversational text, designed for generating chatbot\nresponses. Sonar Small Online : A smaller-scale language model trained on online text, designed for generating online content. Sonar Medium Online : A medium-scale language model trained on online text, designed for generating online content. CodeLlama 70B Instruct : A large-scale language model trained on instructional text, designed for generating\ninstructional content. Output The Perplexity AI Node directly returns the response generated by the Perplexity AI model based on the user input and\nsystem prompt. The response can be used in subsequent nodes within your workflow for further processing or analysis. \ud83d\udca1 Connect the output of the Perplexity AI Node to other nodes in your workflow to process the generated response, or\nsimply use the Return Node and hit the workflow test icon to view the response in your BuildShip\nCanvas itself. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/ai-models/perplexity\"><meta,https://docs.buildship.com/api/og?title=Perplexity,https://docs.buildship.com\"><meta,https://docs.buildship.com/ai-models/perplexity\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/ai-models/perplexity.mdx\">Edit,http://www.w3.org/2000/svg\",https://docs.perplexity.ai/reference/post_chat_completions\",https://perplexity.ai/\",https://www.perplexity.ai/settings/api\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fai-models%2Fperplexity&r=&sid=MVPMZLFT&qs=%7B%7D&cid=26496599\"",
"token_count": 1020
}
]
},
"retrieval_instructions": "Retrieve relevant content and URLs for page information.",
"response_generation": {
"final_output": "Retrieved content from https://docs.buildship.com/ai-models/perplexity.",
"interpretation_notes": "Extracted 1020 tokens and URLs from the content."
}
},
{
"user_query": "Scrape content from the BuildShip Docs",
"contextual_data": {
"relevant_nodes": [
{
"url": "https://docs.buildship.com/ai-models/leonardo-ai",
"content": "Leonardo AI \u2013 BuildShip Docs Feedback \u2197 Docs Feedback \u2197 (opens in a new tab) \u2318 K GitHub GitHub (opens in a new tab) Discord Discord (opens in a new tab) \u2318 K Introduction Tutorials Basics Creating Workflows Triggers Nodes Node Inputs Input Validation Node Output Update Node Output Using Variables Reordering Nodes API Specification BuildShip Database OAuth Nodes SHIP an API Node Types Trigger Nodes Rest API Scheduled Cron Rowy Trigger Telegram Bot Supabase Trigger Buildship Trigger Firebase Auth Request GitHub Trigger Rest API File Upload Rest API File Upload (Auth) WhatsApp Bot Email Trigger Lemon Squeezy RevenueCat Trigger MongoDB Trigger YouTube Trigger Core Nodes Branch (If Else) Loop Parallel Switch Repeat Return Empty Script Generate with AI Utility Nodes API Call Crawler Scrape Web URL (Dynamic) Scrape Web URL LLM Extract Generate EPUB Integrations AI Assistant AI Assistant Builder Guide OpenAI Assistant OpenAI Streaming Assistant Claude Assistant Azure Assistant Groq Assistant AI Models / Tools Fal AI Eleven Labs - Text to Speech OpenAI Assistant Perplexity Leonardo AI Messaging WhatsApp Telegram Resend Mailchimp Payment Stripe Database BuildShip Firebase Supabase Postgres Pinecone MySQL Airtable MongoDB Search MongoDB Supabase Meilisearch Typesense Productivity Notion Google Workspace Storage Google Cloud Storage AWS S3 Connect BuildShip With FlutterFlow Bubble Toddle Webflow Framer WeWeb WebStudio WordPress Next.js Dev Tools Explore Features Copy & Paste Export / Import API Spec Rename Workflow Rename Node Skip Nodes Handle Node Failure Using Templates Environment Variables Testing Logging Secrets & API Keys Help & Troubleshooting Support Messages Subscriptions & Billing System On This Page Prerequisites \u2705 Leonardo AI Nodes Improve Prompt Input Output Use Cases Generate Prompt Input Output Use Cases Generate Image Input Output Upload Init Image Input Output Use Cases Question? Give us feedback \u2192 (opens in a new tab) Edit this page on GitHub \u2197 AI Models / Tools Leonardo AI Leonardo AI With Leonardo AI Nodes in BuildShip, users can integrate the vast capabilities of the Leonardo AI Models and Generative\nAI APIs into their workflows. This allows users to create APIs, backend processes, scheduled jobs, and automate everyday\ntasks. Perform tasks such as generate images, improve and generate prompts, upload images, and integrate with other AI models,\nAPIs, Databases, and Storage. Prerequisites \u2705 To use Leonardo AI Nodes in BuildShip, you need to have a Leonardo AI API Key. Follow these steps to obtain your API\nkey: Log in to your Leonardo.ai (opens in a new tab) account. Click API Access > Subscribe to API Plan . After subscribing to a plan, you will be directed to the API Access Page . Click Create New Key . Copy the API key value shown and store it in a safe place. You will need to provide this API key when configuring the\nLeonardo AI Nodes in BuildShip. \ud83d\udca1 Recommended: Store your API Keys as Secrets in BuildShip to store them securely, avoid exposing them in your\nworkflows, and reuse them across multiple workflows. . Learn more about setting secrets in BuildShip . Leonardo AI Nodes BuildShip provides the following Leonardo AI Nodes that you can use in your workflows. \ud83d\udca1 Cannot find a specific Leonardo AI Node that you need? Use the Generate with AI feature to create it yourself. Learn more . Improve Prompt The \"Improve Prompt\" node is used to enhance the quality and effectiveness of an image generation prompt . It\nleverage the Leonardo AI to analyze and refine the provided prompt, making it more suitable for generating high-quality\nimages that accurately reflect the intended concept or scene. Input API Key : Your API key for the Leonardo AI. Refer to the Prerequisites section to learn how to\nobtain your API key. Prompt : The original prompt text that you want to improve. This prompt should describe the desired image or scene\nyou want to generate. Output The node returns a single output, which is a string containing the improved prompt generated by the Leonardo AI. Use Cases Creative Projects : Enhance prompts for generating visuals for artistic projects, such as digital illustrations,\nconcept art, or book covers. Product Design : Refine prompts to generate high-quality product images for e-commerce websites or marketing\nmaterials. Generate Prompt The \"Generate Prompt\" node is designed to generate a random image generation prompt using the Leonardo AI. This node\ncan be useful when you need a starting point or inspiration for creating new visual concepts or scenes. Input API Key : Your API key for the Leonardo AI. Refer to the Prerequisites section to learn how to\nobtain your API key. Output The node returns a single output, which is a string containing the randomly generated image generation prompt. Use Cases Inspiration and Exploration : Use the generated prompts as a starting point for exploring new visual concepts,\nstyles, or themes. Generate Image The \"Generate Image\" node is a powerful tool that allows you to generate images using the Leonardo AI's advanced\nimage generation capabilities. This node leverages the Stable Diffusion model and other state-of-the-art AI\ntechnologies to create visually stunning and highly detailed images based on the provided prompt and configuration\nsettings. Input API Key : Your API key for the Leonardo AI. Refer to the Prerequisites section to learn how to\nobtain your API key. Prompt : The text prompt describing the desired image or scene you want to generate. Alchemy : A boolean value indicating whether to enable the Alchemy feature, which enhances the image generation\nprocess. Height (optional) : The input height of the generated images, between 32 and 1024, and a multiple of 8. Default is 1024 . Width (optional) : The input width of the generated images, between 32 and 1024, and a multiple of 8. Default is 1024 . Model ID (optional) : The ID of the model to use for image generation. If not provided, uses sd_version to\ndetermine the version of Stable Diffusion to use. Quantity (optional) : The number of images to generate, between 1 and 8. If the width or height is over 768 , the\nmaximum is 4. Default is 1. Preset Style (optional) : The style to generate images with, such as ANIME , CREATIVE , DYNAMIC , ENVIRONMENT , GENERAL , ILLUSTRATION , PHOTOGRAPHY , RAYTRACED , RENDER_3D , SKETCH_BW , SKETCH_COLOR , or NONE . Output The node returns an object with the following properties: generationId : The unique ID of the image generation job. apiCreditCost : The number of API credits consumed for the generation. Upload Init Image The \"Upload Init Image\" node is designed to facilitate the process of uploading initial images to the Leonardo AI\nplatform. This node generates a presigned URL, which can be used to upload an image file directly to an S3 bucket. The\nuploaded image can then be utilized in various image generation or manipulation tasks within the Leonardo AI ecosystem. \ud83d\udca1 Refer to the Leonardo AI Guide on how upload an Image using the pre-signed URL, here (opens in a new tab) . Input API Key : Your API key for the Leonardo AI. Refer to the Prerequisites section to learn how to\nobtain your API key. Extension : The file extension of the image you want to upload. Supported extensions are png, jpg, jpeg, or webp. Output The node returns an object with the following properties: id : The unique identifier for the uploaded image. fields : The fields associated with the presigned URL, used for uploading the image file. url : The presigned URL that can be used to upload the image file to the S3 bucket. key : The key or path where the image file will be stored in the S3 bucket. Use Cases Dataset Preparation : Upload initial images to the Leonardo AI platform for use in dataset creation, training, or\nother image-related tasks. Need Help? \ud83d\udcac Join BuildShip Community An active and large community of no-code / low-code builders. Ask questions, share feedback, showcase your project and connect with other BuildShip enthusiasts. \ud83d\ude4b Hire a BuildShip Expert Need personalized help to build your product fast? Browse and hire from a range of independent freelancers, agencies and builders - all well versed with BuildShip. \ud83d\udedf Send a Support Request Got a specific question on your workflows / project or want to report a bug? Send a us a request using the \"Support\" button directly from your BuildShip Dashboard. \u2b50\ufe0f Feature Request Something missing in BuildShip for you? Share on the #FeatureRequest channel on Discord. Also browse and cast your votes on other feature requests.",
"extracted_urls": "https://docs.buildship.com/ai-models/leonardo-ai\"><meta,https://docs.buildship.com/api/og?title=Leonardo,https://docs.buildship.com\"><meta,https://docs.buildship.com/ai-models/leonardo-ai\"><meta,https://storage.googleapis.com/website-a1s39m.appspot.com/buildship-app-logos/OG.png\"><meta,https://cdn.usefathom.com/script.js\",https://app.posthog.com/static/array.js\"></script><script,http://www.w3.org/2000/svg\",http://www.w3.org/1999/xlink\"><g,https://docs.google.com/forms/d/e/1FAIpQLSfI6wcST5ax4mIu34ksDj4WuftYVGkDekSbheM2Wr-o40Hriw/viewform\",https://buildship.com/github\",https://buildship.com/discord\",http://www.w3.org/2000/svg\",https://twitter.com/BuildShipApp\",http://www.w3.org/2000/svg\",https://buildship.com/discord\",https://github.com/rowyio/buildship-docs/blob/main/pages/ai-models/leonardo-ai.mdx\">Edit,https://leonardo.ai/\",https://docs.leonardo.ai/docs/how-to-upload-an-image-using-a-presigned-url\",https://buildship.com/discord\",https://buildship.com/experts\",https://docs.buildship.com/support-messages\",https://discord.com/channels/853498675484819476/1186781874127896588\",https://us-assets.i.posthog.com/static/recorder.js?v=1.160.3\"></script><script,https://app.posthog.com'})</script><next-route-announcer><p,https://cdn.usefathom.com/?h=https%3A%2F%2Fdocs.buildship.com&p=%2Fai-models%2Fleonardo-ai&r=&sid=MVPMZLFT&qs=%7B%7D&cid=52033211\"",
"token_count": 1417