Tool Forge automatically generates the UI, workflow, and human-in-the-loop interactions. You focus on business logic - we take care of everything else.
1handler: async ({ io }) => {2 // simple text input, io.textInput would render a text field3 // and return the user input as a string4 const userName = await io.textInput({5 label: 'Enter your name',6 })7 // conditional logic based on user input8 if (name === 'Elon') {9 const email = await io.textInput({10 label: 'Enter your email',11 })12 }13 return `Welcome, ${userName}!`14}

const name = await io.textInput({label: 'Enter your name'})

const orders = await io.tableInput({label: 'Orders to refund',description: 'Select all the payments to be refunded',})

const email = await io.email({label: 'Email',validationSchema: z.email().endsWith('prodios.com')})

const preferredCurrency = await io.selectInput({ // })if (preferredCurrency === 'USD') {const userDetails = await io.form({ // })}

const progress = await io.progress({title: 'Refunding Orders', itemsInQueue: orders.length})for (const order of orders) {await refundOrder(order)await progress.incrementOne()}

block.barChart({title: 'Sales breakdown by region',data: salesData,index: 'date'})
1// Enterprise customer service workflow with intelligent routing2builder3 .flow('START', 'ticketClassification')4 .flow('ticketClassification', 'priorityAssessment')5 // Branch based on severity and customer tier6 .branch(7 'priorityAssessment',8 (context) => {9 if (context.severity === 'critical' || context.customerTier === 'enterprise')10 return 'ESCALATE'11 if (context.confidence > 0.8)12 return 'AUTO_RESOLVE'13 return 'HUMAN_REVIEW'14 },15 {16 ESCALATE: 'escalateToSpecialist',17 AUTO_RESOLVE: 'automatedResolution',18 HUMAN_REVIEW: 'humanAgent'19 }20 )21 .flow('escalateToSpecialist', 'followUp')22 .flow('automatedResolution', 'qualityCheck')23 .flow('humanAgent', 'qualityCheck')24 .flow('qualityCheck', 'followUp')25 .flow('followUp', 'END')