{"name":"Agentic Workflow","description":null,"organizationId":18104,"isEnabled":false,"crontab":null,"timezone":"America/New_York","blockData":[{"top":48,"left":48,"uuid":"d72a9cfd-9e81-4a8c-a0b1-b64cdafe4c53","options":{},"pluginId":"startTrigger","blockType":"webhook","editorType":"JavascriptQuery","environment":"production","isMinimized":false,"resourceName":"webhook","incomingOnSuccessEdges":[]},{"top":48,"left":448,"uuid":"3824b9b8-8f74-4d0c-bac3-f359c5f85464","comment":{"body":"This resource query call invokes the agent. Update the **Agent** setting to run your own agent. Update the `content` value to reflect the prompt you want to send to your agent. ","visible":true,"pluginId":"invokeAgent-comment"},"pluginId":"invokeAgent","blockType":"default","editorType":"RetoolAIAgentInvokeQuery","environment":"production","resourceName":"RetoolAIAgentInvokeQuery","incomingOnSuccessEdges":["d72a9cfd-9e81-4a8c-a0b1-b64cdafe4c53"]},{"top":40,"left":40,"uuid":"d960097f-16e8-4b84-995c-cfb1bdcee73f","options":{"subflowId":"92c7d7fd-1aa2-40f3-923a-3e86ee25273d","parameters":[{"id":"2e4cf8b5-61de-4ff0-8a01-40e6a5eb118c","name":"agentRunId","exampleValue":""},{"id":"da839f8e-12ec-4145-9fe6-d6cbb2509867","name":"agentId","exampleValue":""}]},"pluginId":"getAgentLogs","blockType":"function","editorType":"RetoolAIAgentInvokeQuery","environment":"production","resourceName":"RetoolAIAgentInvokeQuery","incomingOnSuccessEdges":[]},{"top":48,"left":928,"uuid":"d0d517ed-c308-47be-9b24-7f60adbb230b","comment":{"body":"This code block is an asynchronous polling loop that repeatedly checks the status of the agent until it either completes (changes from \"PENDING\" or \"IN_PROGRESS\") or a maximum number of polling attempts (30) is reached.","visible":true,"pluginId":"pollForAgentLogs-comment"},"pluginId":"pollForAgentLogs","blockType":"code","editorType":"JavascriptQuery","environment":"production","resourceName":"JavascriptQuery","incomingPorts":[],"incomingOnSuccessEdges":["3824b9b8-8f74-4d0c-bac3-f359c5f85464"]},{"top":48,"left":1728,"uuid":"4bc0d022-e4f0-46de-8dde-c29c70468869","comment":{"body":"If successful, returns the status, agent response, and full logs.","visible":true,"pluginId":"successResponse-comment"},"options":{"body":"{\n  status: pollForAgentLogs.data?.data?.status,\n  resultText: pollForAgentLogs.data?.data?.resultText,\n  fullLogsResponse: pollForAgentLogs.data\n}","status":"200"},"pluginId":"successResponse","blockType":"webhookReturn","editorType":"JavascriptQuery","environment":"production","isMinimized":false,"resourceName":"JavascriptQuery","incomingOnSuccessEdges":["d0d517ed-c308-47be-9b24-7f60adbb230b"]},{"top":352,"left":1728,"uuid":"ab10aa86-f129-4bd4-95a1-da5f5088ee80","comment":{"body":"If unsuccessful, returns an error.","visible":true,"pluginId":"errorResponse-comment"},"options":{"body":"workflowContext.currentRun.error","status":"400"},"pluginId":"errorResponse","blockType":"webhookReturn","editorType":"JavascriptQuery","environment":"production","isMinimized":false,"resourceName":"JavascriptQuery","incomingPorts":[],"failureCondition":"true","incomingOnSuccessEdges":[]}],"templateData":"[\"~#iR\",[\"^ \",\"n\",\"appTemplate\",\"v\",[\"^ \",\"appMaxWidth\",\"100%\",\"appStyles\",\"\",\"appTesting\",null,\"appThemeId\",null,\"appThemeModeId\",null,\"appThemeName\",null,\"createdAt\",null,\"customComponentCollections\",[],\"customDocumentTitle\",\"\",\"customDocumentTitleEnabled\",false,\"customShortcuts\",[],\"experimentalDataTabEnabled\",false,\"experimentalFeatures\",[\"^ \",\"disableMultiplayerEditing\",false,\"multiplayerEditingEnabled\",false,\"sourceControlTemplateDehydration\",false],\"folders\",[\"~#iL\",[]],\"formAppSettings\",[\"^ \",\"customRedirectUrl\",\"\"],\"inAppRetoolPillAppearance\",\"NO_OVERRIDE\",\"instrumentationEnabled\",false,\"internationalizationSettings\",[\"^ \",\"internationalizationEnabled\",false,\"internationalizationFiles\",[]],\"isFetching\",false,\"isFormApp\",false,\"isGlobalWidget\",false,\"isMobileApp\",false,\"loadingIndicatorsDisabled\",false,\"markdownLinkBehavior\",\"auto\",\"mobileAppSettings\",[\"^ \",\"displaySetting\",[\"^ \",\"landscapeMode\",false,\"tabletMode\",false],\"mobileOfflineModeBannerMode\",\"default\",\"mobileOfflineModeDelaySync\",false,\"mobileOfflineModeEnabled\",false],\"mobileOfflineAssets\",[],\"multiScreenMobileApp\",false,\"notificationsSettings\",[\"^ \",\"globalQueryShowFailureToast\",true,\"globalQueryShowSuccessToast\",false,\"globalQueryToastDuration\",4.5,\"globalToastPosition\",\"bottomRight\"],\"pageCodeFolders\",[\"^ \"],\"pageLoadValueOverrides\",[\"^B\",[]],\"persistUrlParams\",false,\"plugins\",[\"~#iOM\",[\"startTrigger\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"startTrigger\",\"uuid\",null,\"type\",\"datasource\",\"subtype\",\"JavascriptQuery\",\"namespace\",null,\"resourceName\",\"JavascriptQuery\",\"resourceDisplayName\",null,\"template\",[\"~#iM\",[\"queryRefreshTime\",\"\",\"allowedGroupIds\",[\"^B\",[]],\"streamResponse\",false,\"lastReceivedFromResourceAt\",null,\"isFunction\",false,\"functionParameters\",null,\"queryDisabledMessage\",\"\",\"servedFromCache\",false,\"offlineUserQueryInputs\",\"\",\"functionDescription\",null,\"successMessage\",\"\",\"queryDisabled\",\"\",\"playgroundQuerySaveId\",\"latest\",\"workflowParams\",null,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"workflowRunExecutionType\",\"sync\",\"showFailureToaster\",true,\"query\",\"\\n  const evalStartTriggerBlock = () => {\\n    const getExampleInputJSON = () => {\\n      try {\\n        return null\\n      } catch {\\n        return { error: true, message: 'Error parsing example input JSON' }\\n      }\\n    }\\n    const getExamplePathParams = () => {\\n      try {\\n        return {}\\n      } catch {\\n        return { error: true, message: 'Error parsing example path params' }\\n      }\\n    }\\n    const getExampleHeaders = () => {\\n      try {\\n        return {}\\n      } catch {\\n        return { error: true, message: 'Error parsing example headers' }\\n      }\\n    }\\n    return {\\n      _retool_exampleInputJSON: getExampleInputJSON(),\\n      _retool_exampleHeaders: getExampleHeaders(),\\n      _retool_examplePathParams: getExamplePathParams(),\\n    }\\n  }\\n  return evalStartTriggerBlock()\\n  \",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"error\",null,\"workflowRunBodyType\",\"raw\",\"privateParams\",[\"^B\",[]],\"queryRunOnSelectorUpdate\",false,\"runWhenPageLoadsDelay\",\"\",\"data\",null,\"importedQueryInputs\",[\"^1>\",[]],\"_additionalScope\",[\"^B\",[]],\"isImported\",false,\"showSuccessToaster\",true,\"cacheKeyTtl\",\"\",\"requestSentTimestamp\",null,\"metadata\",null,\"queryRunTime\",null,\"changesetObject\",\"\",\"offlineOptimisticResponse\",null,\"errorTransformer\",\"return data.error\",\"finished\",null,\"confirmationMessage\",null,\"isFetching\",false,\"changeset\",\"\",\"rawData\",null,\"queryTriggerDelay\",\"0\",\"resourceTypeOverride\",null,\"watchedParams\",[\"^B\",[]],\"enableErrorTransformer\",false,\"showLatestVersionUpdatedWarning\",false,\"timestamp\",0,\"evalType\",\"script\",\"importedQueryDefaults\",[\"^1>\",[]],\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"overrideOrgCacheForUserCache\",false,\"runWhenPageLoads\",false,\"transformer\",\"return data\",\"events\",[\"^B\",[]],\"queryTimeout\",\"10000\",\"workflowId\",null,\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"changesetIsObject\",false,\"enableCaching\",false,\"allowedGroups\",[\"^B\",[]],\"offlineQueryType\",\"None\",\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"style\",null,\"position2\",null,\"mobilePosition2\",null,\"mobileAppPosition\",null,\"tabIndex\",null,\"container\",\"\",\"^7\",\"~m1747232814296\",\"updatedAt\",\"~m1747333496419\",\"folder\",\"\",\"presetName\",null,\"screen\",null,\"boxId\",null,\"subBoxIds\",null]]],\"invokeAgent\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"invokeAgent\",\"^17\",null,\"^18\",\"datasource\",\"^19\",\"RetoolAIAgentInvokeQuery\",\"^1:\",null,\"^1;\",\"RetoolAIAgentInvokeQuery\",\"^1<\",null,\"^1=\",[\"^1>\",[\"queryRefreshTime\",\"\",\"agentId\",\"1bb4e629-26be-42a2-8388-6c67cb6c73e6\",\"allowedGroupIds\",[\"^B\",[]],\"streamResponse\",false,\"lastReceivedFromResourceAt\",null,\"isFunction\",false,\"functionParameters\",null,\"queryDisabledMessage\",\"\",\"servedFromCache\",false,\"offlineUserQueryInputs\",\"\",\"functionDescription\",null,\"agentDynamicModeEnabled\",false,\"successMessage\",\"\",\"queryDisabled\",\"\",\"playgroundQuerySaveId\",\"latest\",\"workflowParams\",null,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"workflowRunExecutionType\",\"sync\",\"showFailureToaster\",true,\"query\",\"\",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"error\",null,\"workflowRunBodyType\",\"raw\",\"privateParams\",[\"^B\",[]],\"queryRunOnSelectorUpdate\",false,\"runWhenPageLoadsDelay\",\"\",\"data\",null,\"importedQueryInputs\",[\"^1>\",[]],\"agentInputs\",\"{\\n  \\\"messages\\\": [ \\n    { \\n      \\\"role\\\": \\\"user\\\", \\n      \\\"content\\\": \\\"What's the weather tomorrow in NYC?\\\"\\\"\\n    } \\n  ], \\n  \\\"action\\\": \\\"invoke\\\" \\n}\",\"isImported\",false,\"showSuccessToaster\",true,\"cacheKeyTtl\",\"\",\"requestSentTimestamp\",null,\"metadata\",null,\"queryRunTime\",null,\"changesetObject\",\"\",\"offlineOptimisticResponse\",null,\"errorTransformer\",\"return data.error\",\"finished\",null,\"confirmationMessage\",null,\"isFetching\",false,\"changeset\",\"\",\"rawData\",null,\"queryTriggerDelay\",\"0\",\"resourceTypeOverride\",null,\"watchedParams\",[\"^B\",[]],\"enableErrorTransformer\",false,\"agentDynamicId\",\"{{ startTrigger.data.agentId }}\",\"showLatestVersionUpdatedWarning\",false,\"timestamp\",0,\"evalType\",\"script\",\"action\",\"agentInvoke\",\"importedQueryDefaults\",[\"^1>\",[]],\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"overrideOrgCacheForUserCache\",false,\"runWhenPageLoads\",false,\"transformer\",\"return data\",\"events\",[\"^B\",[]],\"queryTimeout\",\"10000\",\"workflowId\",null,\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"changesetIsObject\",false,\"enableCaching\",false,\"allowedGroups\",[\"^B\",[]],\"offlineQueryType\",\"None\",\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"^1?\",null,\"^1@\",null,\"^1A\",null,\"^1B\",null,\"^1C\",null,\"^1D\",\"\",\"^7\",\"~m1747232820684\",\"^1E\",\"~m1747335702815\",\"^1F\",\"\",\"^1G\",null,\"^1H\",null,\"^1I\",null,\"^1J\",null]]],\"getAgentLogs\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"getAgentLogs\",\"^17\",null,\"^18\",\"datasource\",\"^19\",\"RetoolAIAgentInvokeQuery\",\"^1:\",null,\"^1;\",\"RetoolAIAgentInvokeQuery\",\"^1<\",null,\"^1=\",[\"^1>\",[\"queryRefreshTime\",\"\",\"agentId\",\"1bb4e629-26be-42a2-8388-6c67cb6c73e6\",\"allowedGroupIds\",[\"^B\",[]],\"streamResponse\",false,\"lastReceivedFromResourceAt\",null,\"isFunction\",false,\"functionParameters\",null,\"queryDisabledMessage\",\"\",\"servedFromCache\",false,\"offlineUserQueryInputs\",\"\",\"functionDescription\",null,\"agentDynamicModeEnabled\",false,\"successMessage\",\"\",\"queryDisabled\",\"\",\"playgroundQuerySaveId\",\"latest\",\"workflowParams\",null,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"workflowRunExecutionType\",\"sync\",\"showFailureToaster\",true,\"query\",\"\",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"error\",null,\"workflowRunBodyType\",\"raw\",\"privateParams\",[\"^B\",[]],\"queryRunOnSelectorUpdate\",false,\"runWhenPageLoadsDelay\",\"\",\"data\",null,\"importedQueryInputs\",[\"^1>\",[]],\"agentInputs\",\"{ \\\"action\\\": \\\"getLogs\\\", \\\"agentRunId\\\": {{ agentRunId }} }\",\"isImported\",false,\"showSuccessToaster\",true,\"cacheKeyTtl\",\"\",\"requestSentTimestamp\",null,\"metadata\",null,\"queryRunTime\",null,\"changesetObject\",\"\",\"offlineOptimisticResponse\",null,\"errorTransformer\",\"return data.error\",\"finished\",null,\"confirmationMessage\",null,\"isFetching\",false,\"changeset\",\"\",\"rawData\",null,\"queryTriggerDelay\",\"0\",\"resourceTypeOverride\",null,\"watchedParams\",[\"^B\",[]],\"enableErrorTransformer\",false,\"agentDynamicId\",\"\",\"showLatestVersionUpdatedWarning\",false,\"timestamp\",0,\"evalType\",\"script\",\"action\",\"agentInvoke\",\"importedQueryDefaults\",[\"^1>\",[]],\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"overrideOrgCacheForUserCache\",false,\"runWhenPageLoads\",false,\"transformer\",\"return data\",\"events\",[\"^B\",[]],\"queryTimeout\",\"10000\",\"workflowId\",null,\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"changesetIsObject\",false,\"enableCaching\",false,\"allowedGroups\",[\"^B\",[]],\"offlineQueryType\",\"None\",\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"^1?\",null,\"^1@\",null,\"^1A\",null,\"^1B\",null,\"^1C\",null,\"^1D\",\"\",\"^7\",\"~m1747326717956\",\"^1E\",\"~m1747333143935\",\"^1F\",\"\",\"^1G\",null,\"^1H\",null,\"^1I\",null,\"^1J\",null]]],\"pollForAgentLogs\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"pollForAgentLogs\",\"^17\",null,\"^18\",\"datasource\",\"^19\",\"JavascriptQuery\",\"^1:\",null,\"^1;\",\"JavascriptQuery\",\"^1<\",null,\"^1=\",[\"^1>\",[\"queryRefreshTime\",\"\",\"allowedGroupIds\",[\"^B\",[]],\"streamResponse\",false,\"lastReceivedFromResourceAt\",null,\"isFunction\",false,\"functionParameters\",null,\"queryDisabledMessage\",\"\",\"servedFromCache\",false,\"offlineUserQueryInputs\",\"\",\"functionDescription\",null,\"successMessage\",\"\",\"queryDisabled\",\"\",\"playgroundQuerySaveId\",\"latest\",\"workflowParams\",null,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"workflowRunExecutionType\",\"sync\",\"showFailureToaster\",true,\"query\",\"// Defines the polling interval (500ms), the max number of attempts (30), and the statuses that indicate the agent is still running (PENDING, IN_PROGRESS).\\n  const SLEEP_DURATION_IN_MS = 500;\\n  const MAX_ITERATIONS = 30;\\n  const AGENT_PENDING_STATUSES = [\\\"PENDING\\\", \\\"IN_PROGRESS\\\"];\\n\\n  // A utility function that returns a promise which resolves after 500ms (used for pausing between polls).\\n  const sleep = () => new Promise(resolve => setTimeout(resolve, SLEEP_DURATION_IN_MS));\\n\\n  // Extracts the agentId and agentRunId from the invokeAgent block. Initializes latestAgentStatus as \\\"PENDING\\\". latestAgentLogs will store the last retrieved logs, and iterations tracks the number of attempts.\\n  const { agentId, agentRunId } = invokeAgent.data;\\n  let latestAgentStatus = \\\"PENDING\\\"; // Initial assumption\\n  let latestAgentLogs;\\n  let iterations = 1;\\n\\n  // Keeps polling as long as the agent is in a pending state and hasn’t exceeded the maximum attempts.\\n  while (AGENT_PENDING_STATUSES.includes(latestAgentStatus) && iterations <= MAX_ITERATIONS) {\\n    console.log(`Beginning iteration ${iterations}/${MAX_ITERATIONS}`);\\n\\n    try {\\n      // Call the multi-step function\\n      const agentLogs = await getAgentLogs(agentRunId, agentId);\\n      console.log({ agentLogs });\\n      latestAgentStatus = agentLogs.data.status;\\n      latestAgentLogs = agentLogs;\\n    } catch (err) {\\n      throw new Error(`Failed to fetch agent logs on iteration ${iterations}: ${err.message}`);\\n    }\\n\\n    // If still pending, wait before the next iteration. If not, exit the loop early.\\n    if (AGENT_PENDING_STATUSES.includes(latestAgentStatus)) {\\n      await sleep();\\n    } else {\\n      break;\\n    }\\n    iterations += 1;\\n  }\\n\\n  // If the status is still not complete after 30 tries, throw an error.\\n  if (AGENT_PENDING_STATUSES.includes(latestAgentStatus)) {\\n    throw new Error(`Agent status is still ${latestAgentStatus} after 30 polling ${MAX_ITERATIONS} attempts.`);\\n  }\\n\\n  // Return the agent response.\\n  return latestAgentLogs;\",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"error\",null,\"workflowRunBodyType\",\"raw\",\"privateParams\",[\"^B\",[]],\"queryRunOnSelectorUpdate\",false,\"runWhenPageLoadsDelay\",\"\",\"data\",null,\"importedQueryInputs\",[\"^1>\",[]],\"_additionalScope\",[\"^B\",[]],\"isImported\",false,\"showSuccessToaster\",true,\"cacheKeyTtl\",\"\",\"requestSentTimestamp\",null,\"metadata\",null,\"queryRunTime\",null,\"changesetObject\",\"\",\"offlineOptimisticResponse\",null,\"errorTransformer\",\"return data.error\",\"finished\",null,\"confirmationMessage\",null,\"isFetching\",false,\"changeset\",\"\",\"rawData\",null,\"queryTriggerDelay\",\"0\",\"resourceTypeOverride\",null,\"watchedParams\",[\"^B\",[]],\"enableErrorTransformer\",false,\"showLatestVersionUpdatedWarning\",false,\"timestamp\",0,\"evalType\",\"script\",\"importedQueryDefaults\",[\"^1>\",[]],\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"overrideOrgCacheForUserCache\",false,\"runWhenPageLoads\",false,\"transformer\",\"return data\",\"events\",[\"^B\",[]],\"queryTimeout\",\"10000\",\"workflowId\",null,\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"changesetIsObject\",false,\"enableCaching\",false,\"allowedGroups\",[\"^B\",[]],\"offlineQueryType\",\"None\",\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"^1?\",null,\"^1@\",null,\"^1A\",null,\"^1B\",null,\"^1C\",null,\"^1D\",\"\",\"^7\",\"~m1747328643499\",\"^1E\",\"~m1747406139015\",\"^1F\",\"\",\"^1G\",null,\"^1H\",null,\"^1I\",null,\"^1J\",null]]],\"successResponse\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"successResponse\",\"^17\",null,\"^18\",\"datasource\",\"^19\",\"JavascriptQuery\",\"^1:\",null,\"^1;\",\"JavascriptQuery\",\"^1<\",null,\"^1=\",[\"^1>\",[\"queryRefreshTime\",\"\",\"allowedGroupIds\",[\"^B\",[]],\"streamResponse\",false,\"lastReceivedFromResourceAt\",null,\"isFunction\",false,\"functionParameters\",null,\"queryDisabledMessage\",\"\",\"servedFromCache\",false,\"offlineUserQueryInputs\",\"\",\"functionDescription\",null,\"successMessage\",\"\",\"queryDisabled\",\"\",\"playgroundQuerySaveId\",\"latest\",\"workflowParams\",null,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"workflowRunExecutionType\",\"sync\",\"showFailureToaster\",true,\"query\",\"const generateReturn = () => {\\n    const status = () => {\\n      try {\\n        return 200\\n      } catch {\\n        return 200\\n      }\\n    }\\n  const body = () => {\\n    try {\\n      return {\\n  status: pollForAgentLogs.data?.data?.status,\\n  resultText: pollForAgentLogs.data?.data?.resultText,\\n  fullLogsResponse: pollForAgentLogs.data\\n}\\n    } catch {\\n      return {'error': true, 'message': 'There was a problem parsing the JSON body of successResponse'}\\n    }\\n  }\\n  return {status: status(), body: body() }\\n  }\\n  return generateReturn()\\n  \",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"error\",null,\"workflowRunBodyType\",\"raw\",\"privateParams\",[\"^B\",[]],\"queryRunOnSelectorUpdate\",false,\"runWhenPageLoadsDelay\",\"\",\"data\",null,\"importedQueryInputs\",[\"^1>\",[]],\"_additionalScope\",[\"^B\",[]],\"isImported\",false,\"showSuccessToaster\",true,\"cacheKeyTtl\",\"\",\"requestSentTimestamp\",null,\"metadata\",null,\"editorMode\",\"sql\",\"queryRunTime\",null,\"changesetObject\",\"\",\"offlineOptimisticResponse\",null,\"errorTransformer\",\"return data.error\",\"finished\",null,\"confirmationMessage\",null,\"isFetching\",false,\"changeset\",\"\",\"rawData\",null,\"queryTriggerDelay\",\"0\",\"resourceTypeOverride\",null,\"watchedParams\",[\"^B\",[]],\"enableErrorTransformer\",false,\"showLatestVersionUpdatedWarning\",false,\"timestamp\",0,\"evalType\",\"script\",\"importedQueryDefaults\",[\"^1>\",[]],\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"overrideOrgCacheForUserCache\",false,\"runWhenPageLoads\",false,\"transformer\",\"return data\",\"events\",[\"^B\",[]],\"queryTimeout\",\"10000\",\"workflowId\",null,\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"changesetIsObject\",false,\"enableCaching\",false,\"allowedGroups\",[\"^B\",[]],\"offlineQueryType\",\"None\",\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"^1?\",null,\"^1@\",null,\"^1A\",null,\"^1B\",null,\"^1C\",null,\"^1D\",\"\",\"^7\",\"~m1747328696898\",\"^1E\",\"~m1747336430627\",\"^1F\",\"\",\"^1G\",null,\"^1H\",null,\"^1I\",null,\"^1J\",null]]],\"errorResponse\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"errorResponse\",\"^17\",null,\"^18\",\"datasource\",\"^19\",\"JavascriptQuery\",\"^1:\",null,\"^1;\",\"JavascriptQuery\",\"^1<\",null,\"^1=\",[\"^1>\",[\"queryRefreshTime\",\"\",\"allowedGroupIds\",[\"^B\",[]],\"streamResponse\",false,\"lastReceivedFromResourceAt\",null,\"isFunction\",false,\"functionParameters\",null,\"queryDisabledMessage\",\"\",\"servedFromCache\",false,\"offlineUserQueryInputs\",\"\",\"functionDescription\",null,\"successMessage\",\"\",\"queryDisabled\",\"\",\"playgroundQuerySaveId\",\"latest\",\"workflowParams\",null,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"workflowRunExecutionType\",\"sync\",\"showFailureToaster\",true,\"query\",\"const generateReturn = () => {\\n    const status = () => {\\n      try {\\n        return 400\\n      } catch {\\n        return 200\\n      }\\n    }\\n  const body = () => {\\n    try {\\n      return workflowContext.currentRun.error\\n    } catch {\\n      return {'error': true, 'message': 'There was a problem parsing the JSON body of errorResponse'}\\n    }\\n  }\\n  return {status: status(), body: body() }\\n  }\\n  return generateReturn()\\n  \",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"error\",null,\"workflowRunBodyType\",\"raw\",\"privateParams\",[\"^B\",[]],\"queryRunOnSelectorUpdate\",false,\"runWhenPageLoadsDelay\",\"\",\"data\",null,\"importedQueryInputs\",[\"^1>\",[]],\"_additionalScope\",[\"^B\",[]],\"isImported\",false,\"showSuccessToaster\",true,\"cacheKeyTtl\",\"\",\"requestSentTimestamp\",null,\"metadata\",null,\"editorMode\",\"sql\",\"queryRunTime\",null,\"changesetObject\",\"\",\"offlineOptimisticResponse\",null,\"errorTransformer\",\"return data.error\",\"finished\",null,\"confirmationMessage\",null,\"isFetching\",false,\"changeset\",\"\",\"rawData\",null,\"queryTriggerDelay\",\"0\",\"resourceTypeOverride\",null,\"watchedParams\",[\"^B\",[]],\"enableErrorTransformer\",false,\"showLatestVersionUpdatedWarning\",false,\"timestamp\",0,\"evalType\",\"script\",\"importedQueryDefaults\",[\"^1>\",[]],\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"overrideOrgCacheForUserCache\",false,\"runWhenPageLoads\",false,\"transformer\",\"return data\",\"events\",[\"^B\",[]],\"queryTimeout\",\"10000\",\"workflowId\",null,\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"changesetIsObject\",false,\"enableCaching\",false,\"allowedGroups\",[\"^B\",[]],\"offlineQueryType\",\"None\",\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"^1?\",null,\"^1@\",null,\"^1A\",null,\"^1B\",null,\"^1C\",null,\"^1D\",\"\",\"^7\",\"~m1747328758086\",\"^1E\",\"~m1747406245943\",\"^1F\",\"\",\"^1G\",null,\"^1H\",null,\"^1I\",null,\"^1J\",null]]]]],\"preloadedAppJavaScript\",null,\"preloadedAppJSLinks\",[],\"queryStatusVisibility\",false,\"responsiveLayoutDisabled\",false,\"rootScreen\",null,\"savePlatform\",\"web\",\"shortlink\",null,\"testEntities\",[],\"tests\",[],\"urlFragmentDefinitions\",[\"^B\",[]],\"version\",\"3.206.0\",\"serializedLayout\",null,\"agentEvals\",[\"^ \"]]]]","triggerWebhooks":[{"name":"startTrigger","uuid":"startTrigger","headers":"{}","inputSchema":{"properties":[]},"useHeaderApiKey":false,"exampleInputJSON":"","examplePathParams":""}],"customLibraries":[{"version":"4.17.21","language":"javascript","variable":"_","codeString":"/* Edit library variable below */\n\nconst _ = require('lodash')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require(\"mathjs\") */\n","libraryName":"lodash"},{"version":"2.1.0","language":"javascript","variable":"numbro","codeString":"/* Edit library variable below */\n\nconst numbro = require('numbro')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require(\"mathjs\") */\n","libraryName":"numbro"},{"version":"5.3.2","language":"javascript","variable":"Papa","codeString":"/* Edit library variable below */\n\nconst Papa = require('papaparse')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require(\"mathjs\") */\n","libraryName":"papaparse"},{"version":"0.5.23","language":"javascript","variable":"moment","codeString":"/* Edit library variable below */\n\nconst moment = require('moment-timezone')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require(\"mathjs\") */\n","libraryName":"moment-timezone"},{"version":"3.4.0","language":"javascript","variable":"uuid","codeString":"/* Edit library variable below */\n\nconst uuid = require('uuid')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require(\"mathjs\") */\n","libraryName":"uuid"}],"createdBy":201758,"protected":false,"setupScripts":{"python":{"codeString":""},"javascript":{"codeString":"// lodash\n/* Edit library variable below */\n\nconst _ = require('lodash')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require(\"mathjs\") */\n\n// numbro\n/* Edit library variable below */\n\nconst numbro = require('numbro')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require(\"mathjs\") */\n\n// papaparse\n/* Edit library variable below */\n\nconst Papa = require('papaparse')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require(\"mathjs\") */\n\n// moment-timezone\n/* Edit library variable below */\n\nconst moment = require('moment-timezone')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require(\"mathjs\") */\n\n// uuid\n/* Edit library variable below */\n\nconst uuid = require('uuid')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require(\"mathjs\") */\n"}},"subflows":[{"id":"92c7d7fd-1aa2-40f3-923a-3e86ee25273d","blockData":[{"top":48,"left":48,"uuid":"65cec63b-9ed1-4e79-b397-73e560d94d5b","options":{},"pluginId":"params","blockType":"webhook","editorType":"JavascriptQuery","environment":"production","isMinimized":false,"resourceName":"webhook","incomingOnSuccessEdges":[]},{"top":48,"left":448,"uuid":"687c6d07-447a-4020-9d4e-2af990fcd389","pluginId":"requestAgentLogs","blockType":"default","editorType":"RetoolAIAgentInvokeQuery","environment":"production","resourceName":"RetoolAIAgentInvokeQuery","incomingOnSuccessEdges":["65cec63b-9ed1-4e79-b397-73e560d94d5b"]},{"top":48,"left":912,"uuid":"5b5f901f-e363-4526-8ffc-e882143cf0e0","options":{"body":"requestAgentLogs.data","status":"200"},"pluginId":"response1","blockType":"webhookReturn","editorType":"JavascriptQuery","environment":"production","isMinimized":false,"resourceName":"JavascriptQuery","incomingOnSuccessEdges":["687c6d07-447a-4020-9d4e-2af990fcd389"]}],"parameters":[],"templateData":"[\"~#iR\",[\"^ \",\"n\",\"appTemplate\",\"v\",[\"^ \",\"appMaxWidth\",\"100%\",\"appStyles\",\"\",\"appTesting\",null,\"appThemeId\",null,\"appThemeModeId\",null,\"appThemeName\",null,\"createdAt\",null,\"customComponentCollections\",[],\"customDocumentTitle\",\"\",\"customDocumentTitleEnabled\",false,\"customShortcuts\",[],\"experimentalDataTabEnabled\",false,\"experimentalFeatures\",[\"^ \",\"disableMultiplayerEditing\",false,\"multiplayerEditingEnabled\",false,\"sourceControlTemplateDehydration\",false],\"folders\",[],\"formAppSettings\",[\"^ \",\"customRedirectUrl\",\"\"],\"inAppRetoolPillAppearance\",\"NO_OVERRIDE\",\"instrumentationEnabled\",false,\"internationalizationSettings\",[\"^ \",\"internationalizationEnabled\",false,\"internationalizationFiles\",[]],\"isFetching\",false,\"isFormApp\",false,\"isGlobalWidget\",false,\"isMobileApp\",false,\"loadingIndicatorsDisabled\",false,\"markdownLinkBehavior\",\"auto\",\"mobileAppSettings\",[\"^ \",\"displaySetting\",[\"^ \",\"landscapeMode\",false,\"tabletMode\",false],\"mobileOfflineModeBannerMode\",\"default\",\"mobileOfflineModeDelaySync\",false,\"mobileOfflineModeEnabled\",false],\"mobileOfflineAssets\",[],\"multiScreenMobileApp\",false,\"notificationsSettings\",[\"^ \",\"globalQueryShowFailureToast\",true,\"globalQueryShowSuccessToast\",false,\"globalQueryToastDuration\",4.5,\"globalToastPosition\",\"bottomRight\"],\"pageCodeFolders\",[\"^ \"],\"pageLoadValueOverrides\",[],\"persistUrlParams\",false,\"plugins\",[\"~#iOM\",[\"params\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"params\",\"uuid\",null,\"type\",\"datasource\",\"subtype\",\"JavascriptQuery\",\"namespace\",null,\"resourceName\",\"JavascriptQuery\",\"resourceDisplayName\",null,\"template\",[\"^15\",[\"query\",\"return null\",\"evalType\",\"script\"]],\"style\",null,\"position2\",null,\"mobilePosition2\",null,\"mobileAppPosition\",null,\"tabIndex\",null,\"container\",\"\",\"^7\",\"~m1747333172702\",\"updatedAt\",\"~m1747333172702\",\"folder\",\"\",\"presetName\",null,\"screen\",null,\"boxId\",null,\"subBoxIds\",null]]],\"response1\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"response1\",\"^16\",null,\"^17\",\"datasource\",\"^18\",\"JavascriptQuery\",\"^19\",null,\"^1:\",\"JavascriptQuery\",\"^1;\",null,\"^1<\",[\"^15\",[\"queryRefreshTime\",\"\",\"allowedGroupIds\",[],\"streamResponse\",false,\"lastReceivedFromResourceAt\",null,\"isFunction\",false,\"functionParameters\",null,\"queryDisabledMessage\",\"\",\"servedFromCache\",false,\"offlineUserQueryInputs\",\"\",\"functionDescription\",null,\"successMessage\",\"\",\"queryDisabled\",\"\",\"playgroundQuerySaveId\",\"latest\",\"workflowParams\",null,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"workflowRunExecutionType\",\"sync\",\"showFailureToaster\",true,\"query\",\"const generateReturn = () => {\\n    const status = () => {\\n      try {\\n        return 200\\n      } catch {\\n        return 200\\n      }\\n    }\\n  const body = () => {\\n    try {\\n      return requestAgentLogs.data\\n    } catch {\\n      return {'error': true, 'message': 'There was a problem parsing the JSON body of response1'}\\n    }\\n  }\\n  return {status: status(), body: body() }\\n  }\\n  return generateReturn()\\n  \",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"error\",null,\"workflowRunBodyType\",\"raw\",\"privateParams\",[],\"queryRunOnSelectorUpdate\",false,\"runWhenPageLoadsDelay\",\"\",\"data\",null,\"importedQueryInputs\",[\"^ \"],\"_additionalScope\",[],\"isImported\",false,\"showSuccessToaster\",true,\"cacheKeyTtl\",\"\",\"requestSentTimestamp\",null,\"metadata\",null,\"editorMode\",\"sql\",\"queryRunTime\",null,\"changesetObject\",\"\",\"offlineOptimisticResponse\",null,\"errorTransformer\",\"return data.error\",\"finished\",null,\"confirmationMessage\",null,\"isFetching\",false,\"changeset\",\"\",\"rawData\",null,\"queryTriggerDelay\",\"0\",\"resourceTypeOverride\",null,\"watchedParams\",[],\"enableErrorTransformer\",false,\"showLatestVersionUpdatedWarning\",false,\"timestamp\",0,\"evalType\",\"script\",\"importedQueryDefaults\",[\"^ \"],\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"overrideOrgCacheForUserCache\",false,\"runWhenPageLoads\",false,\"transformer\",\"return data\",\"events\",[],\"queryTimeout\",\"10000\",\"workflowId\",null,\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"changesetIsObject\",false,\"enableCaching\",false,\"allowedGroups\",[],\"offlineQueryType\",\"None\",\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"^1=\",null,\"^1>\",null,\"^1?\",null,\"^1@\",null,\"^1A\",null,\"^1B\",\"\",\"^7\",\"~m1747333183733\",\"^1C\",\"~m1747333233980\",\"^1D\",\"\",\"^1E\",null,\"^1F\",null,\"^1G\",null,\"^1H\",null]]],\"requestAgentLogs\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"requestAgentLogs\",\"^16\",null,\"^17\",\"datasource\",\"^18\",\"RetoolAIAgentInvokeQuery\",\"^19\",null,\"^1:\",\"RetoolAIAgentInvokeQuery\",\"^1;\",null,\"^1<\",[\"^15\",[\"queryRefreshTime\",\"\",\"agentId\",\"1bb4e629-26be-42a2-8388-6c67cb6c73e6\",\"allowedGroupIds\",[],\"streamResponse\",false,\"lastReceivedFromResourceAt\",null,\"isFunction\",false,\"functionParameters\",null,\"queryDisabledMessage\",\"\",\"servedFromCache\",false,\"offlineUserQueryInputs\",\"\",\"functionDescription\",null,\"agentDynamicModeEnabled\",false,\"successMessage\",\"\",\"queryDisabled\",\"\",\"playgroundQuerySaveId\",\"latest\",\"workflowParams\",null,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"workflowRunExecutionType\",\"sync\",\"showFailureToaster\",true,\"query\",\"\",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"error\",null,\"workflowRunBodyType\",\"raw\",\"privateParams\",[],\"queryRunOnSelectorUpdate\",false,\"runWhenPageLoadsDelay\",\"\",\"data\",null,\"importedQueryInputs\",[\"^ \"],\"agentInputs\",\"{ \\n  \\\"action\\\": \\\"getLogs\\\", \\n  \\\"agentRunId\\\": {{ params.agentRunId }} \\n}\",\"isImported\",false,\"showSuccessToaster\",true,\"cacheKeyTtl\",\"\",\"requestSentTimestamp\",null,\"metadata\",null,\"queryRunTime\",null,\"changesetObject\",\"\",\"offlineOptimisticResponse\",null,\"errorTransformer\",\"return data.error\",\"finished\",null,\"confirmationMessage\",null,\"isFetching\",false,\"changeset\",\"\",\"rawData\",null,\"queryTriggerDelay\",\"0\",\"resourceTypeOverride\",null,\"watchedParams\",[],\"enableErrorTransformer\",false,\"agentDynamicId\",\"\",\"showLatestVersionUpdatedWarning\",false,\"timestamp\",0,\"evalType\",\"script\",\"action\",\"agentInvoke\",\"importedQueryDefaults\",[\"^ \"],\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"overrideOrgCacheForUserCache\",false,\"runWhenPageLoads\",false,\"transformer\",\"return data\",\"events\",[],\"queryTimeout\",\"10000\",\"workflowId\",null,\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"changesetIsObject\",false,\"enableCaching\",false,\"allowedGroups\",[],\"offlineQueryType\",\"None\",\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"^1=\",null,\"^1>\",null,\"^1?\",null,\"^1@\",null,\"^1A\",null,\"^1B\",\"\",\"^7\",\"~m1747326717956\",\"^1C\",\"~m1747335230060\",\"^1D\",\"\",\"^1E\",null,\"^1F\",null,\"^1G\",null,\"^1H\",null]]]]],\"preloadedAppJavaScript\",null,\"preloadedAppJSLinks\",[],\"queryStatusVisibility\",false,\"responsiveLayoutDisabled\",false,\"rootScreen\",null,\"savePlatform\",\"web\",\"shortlink\",null,\"testEntities\",[],\"tests\",[],\"urlFragmentDefinitions\",[],\"version\",\"2.22.3\",\"serializedLayout\",null,\"agentEvals\",[\"^ \"]]]]"}],"type":"workflow","iconName":null,"iconColor":null,"hasProtectedTriggers":false,"protectedTriggers":[]}