Cloning tools does nothing

Hello, I am trying to use the XML-to-JSON tool by Retool: Retool | XML to JSON. When I click on Clone XML to JSON, I am redirected to my profile, but the app is not cloned. Am I doing something wrong?

Thanks for the help.
Honza

@honzapav thanks for flagging this! We've gone ahead and made the fix on our end - apologies for that. You'll be able to clone the XML-to-JSON utility once our next cloud deploy goes out which will be in the next 2-3 hours. Sorry for the hassle!
Dominic

@dominicwhyte Hi Dominic, thanks for letting me know. I can wait, no problem :wink:

Just tested it out, should be fixed now for XML-to-JSON :slight_smile:

hi @dominicwhyte – it still doesn't work for me. Even in the Private Mode. I am getting 404 in console:

data: null
error: "Not Found"
message: "cannot find template with id xml-to-json"
statusCode: 404```

Thanks for the help.
H.

Sorry about that @honzapav, it looks like we ended up rolling back our Friday deploy so the update won't be available until tomorrow. In the meantime, here is the JSON file for the app. You can save this into a file named XML%20to%20JSON.json (for example) and then upload it to Retool using the "Import an App" feature. This will have the same affect as cloning it. Let me know if you have any questions!

{"uuid":"1ffd4ea0-a3b3-11eb-95c2-a72e06d2e125","page":{"id":28357772,"data":{"appState":"[\"~#iR\",[\"^ \",\"n\",\"appTemplate\",\"v\",[\"^ \",\"isFetching\",false,\"plugins\",[\"~#iOM\",[\"filepicker1\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"filepicker1\",\"type\",\"widget\",\"subtype\",\"FilePickerWidget\",\"resourceName\",null,\"resourceDisplayName\",null,\"template\",[\"^3\",[\"parsedValue\",\"\",\"directorySelectable\",false,\"color\",\"#3c92dc\",\"multipleSelectable\",false,\"text\",\"{{filepicker1.file && filepicker1.file.data ? 'Upload New File': 'Upload File'}}\",\"tooltipText\",\"\",\"style\",[\"^3\",[]],\"label\",\"\",\"labelMaxWidth\",\"\",\"labelPlacedOnLeft\",false,\"file\",null,\"disabled\",\"\",\"onFilePick\",\"\"]],\"style\",[\"^3\",[]],\"position2\",[\"^0\",[\"^ \",\"n\",\"position2\",\"v\",[\"^ \",\"container\",\"container1\",\"subcontainer\",\"\",\"row\",1,\"col\",0,\"height\",1,\"width\",3,\"tabNum\",0]]],\"mobilePosition2\",null,\"tabIndex\",null,\"createdAt\",\"~m1618544528789\",\"updatedAt\",\"~m1619129030413\",\"^;\",\"\",\"folder\",\"\"]]],\"jsonexplorer1\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"jsonexplorer1\",\"^4\",\"widget\",\"^5\",\"JSONExplorerWidget\",\"^6\",null,\"^7\",null,\"^8\",[\"^3\",[\"value\",\"{{JSON.parse(xml2json(atob(filepicker1.file.data)))}}\",\"html\",false,\"expandNodes\",true,\"hidden\",\"{{!filepicker1.file || !filepicker1.file.data}}\"]],\"^9\",[\"^3\",[]],\"^:\",[\"^0\",[\"^ \",\"n\",\"position2\",\"v\",[\"^ \",\"^;\",\"\",\"^<\",\"\",\"row\",4,\"col\",0,\"^=\",10,\"^>\",6,\"^?\",0]]],\"^@\",null,\"^A\",null,\"^B\",\"~m1618544534942\",\"^C\",\"~m1619128927316\",\"^;\",\"\",\"^D\",\"\"]]],\"button1\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"button1\",\"^4\",\"widget\",\"^5\",\"ButtonWidget\",\"^6\",null,\"^7\",null,\"^8\",[\"^3\",[\"valueToCopy\",\"{{JSON.parse(xml2json(atob(filepicker1.file.data)))}}\",\"color\",\"#3c92dc\",\"internalUrlHashParams\",\"\",\"hidden\",\"{{!filepicker1.file || !filepicker1.file.data}}\",\"exportFileType\",\"csv\",\"buttonType\",\"copy-to-clipboard\",\"exportTemplate\",null,\"url\",\"\",\"newWindow\",false,\"value\",\"📋 Copy\",\"style\",[\"^3\",[\"accent-background\",\"#3c92dcff\"]],\"exportQuery\",\"\",\"action\",\"\",\"internalUrlQuery\",\"\",\"internalUrlPath\",\"\",\"events\",[\"~#iL\",[[\"^3\",[\"event\",\"click\",\"method\",\"copyToClipboard\",\"type\",\"util\",\"pluginId\",\"\",\"waitType\",\"debounce\",\"waitMs\",\"0\",\"params\",[\"^3\",[\"value\",\"{{JSON.parse(xml2json(atob(filepicker1.file.data)))}}\"]]]]]],\"exportFileName\",\"\",\"loading\",\"\",\"disabled\",\"\"]],\"^9\",[\"^3\",[]],\"^:\",[\"^0\",[\"^ \",\"n\",\"position2\",\"v\",[\"^ \",\"^;\",\"\",\"^<\",\"\",\"row\",14,\"col\",0,\"^=\",1,\"^>\",3,\"^?\",0]]],\"^@\",null,\"^A\",null,\"^B\",\"~m1618544573669\",\"^C\",\"~m1619129086999\",\"^;\",\"\",\"^D\",\"\"]]],\"container1\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"container1\",\"^4\",\"widget\",\"^5\",\"ContainerWidget\",\"^6\",null,\"^7\",null,\"^8\",[\"^3\",[\"heightType\",\"fixed\",\"spinWhenChildrenAreFetching\",true,\"showBorder\",true,\"showDropShadow\",true,\"style\",[\"^3\",[]],\"backgroundColor\",\"white\",\"title\",\"\",\"overflowType\",\"hidden\",\"disabled\",\"\"]],\"^9\",[\"^3\",[]],\"^:\",[\"^0\",[\"^ \",\"n\",\"position2\",\"v\",[\"^ \",\"^;\",\"\",\"^<\",\"\",\"row\",0,\"col\",0,\"^=\",4,\"^>\",12,\"^?\",0]]],\"^@\",null,\"^A\",null,\"^B\",\"~m1618544852860\",\"^C\",\"~m1618604380826\",\"^;\",\"\",\"^D\",\"\"]]],\"text1\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"text1\",\"^4\",\"widget\",\"^5\",\"TextWidget2\",\"^6\",null,\"^7\",null,\"^8\",[\"^3\",[\"heightType\",\"auto\",\"horizontalAlign\",\"left\",\"hidden\",false,\"imageWidth\",\"fit\",\"verticalAlign\",\"top\",\"tooltipText\",\"\",\"value\",\"#### Upload XML file\\nUpload your XML file to get started. Maximum size 3MB.\\n\\n\",\"disableMarkdown\",false,\"overflowType\",\"scroll\"]],\"^9\",[\"^3\",[]],\"^:\",[\"^0\",[\"^ \",\"n\",\"position2\",\"v\",[\"^ \",\"^;\",\"container1\",\"^<\",\"\",\"row\",0,\"col\",0,\"^=\",1,\"^>\",11,\"^?\",0]]],\"^@\",null,\"^A\",null,\"^B\",\"~m1618544853010\",\"^C\",\"~m1619128870657\",\"^;\",\"\",\"^D\",\"\"]]],\"button2\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"button2\",\"^4\",\"widget\",\"^5\",\"ButtonWidget\",\"^6\",null,\"^7\",null,\"^8\",[\"^3\",[\"valueToCopy\",\"\",\"color\",\"#3c92dc\",\"internalUrlHashParams\",\"\",\"hidden\",\"{{!filepicker1.file || !filepicker1.file.data}}\",\"exportFileType\",\"csv\",\"buttonType\",\"action\",\"exportTemplate\",null,\"url\",\"\",\"newWindow\",false,\"value\",\"Download JSON\",\"style\",[\"^3\",[\"accent-background\",\"#00871eff\"]],\"exportQuery\",\"\",\"action\",\"downloadJson\",\"internalUrlQuery\",\"\",\"internalUrlPath\",\"\",\"events\",[\"^E\",[[\"^3\",[\"event\",\"click\",\"method\",\"trigger\",\"type\",\"datasource\",\"pluginId\",\"downloadJson\",\"waitType\",\"debounce\",\"waitMs\",\"0\"]]]],\"exportFileName\",\"\",\"loading\",\"\",\"disabled\",\"\"]],\"^9\",[\"^3\",[]],\"^:\",[\"^0\",[\"^ \",\"n\",\"position2\",\"v\",[\"^ \",\"^;\",\"\",\"^<\",\"\",\"row\",14,\"col\",3,\"^=\",1,\"^>\",3,\"^?\",0]]],\"^@\",null,\"^A\",null,\"^B\",\"~m1618545094309\",\"^C\",\"~m1619128945140\",\"^;\",\"\",\"^D\",\"\"]]],\"downloadJson\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"downloadJson\",\"^4\",\"datasource\",\"^5\",\"JavascriptQuery\",\"^6\",\"JavascriptQuery\",\"^7\",null,\"^8\",[\"^3\",[\"queryRefreshTime\",\"\",\"queryDisabledMessage\",\"\",\"successMessage\",\"\",\"queryDisabled\",\"\",\"playgroundQuerySaveId\",0,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"showFailureToaster\",true,\"query\",\"utils.downloadFile(JSON.parse(xml2json(atob(filepicker1.file.data))), 'data.json')\",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"privateParams\",[\"^E\",[]],\"triggersOnSuccess\",[\"^E\",[]],\"runWhenPageLoadsDelay\",\"\",\"data\",null,\"importedQueryInputs\",[\"^3\",[]],\"showSuccessConfetti\",false,\"isImported\",false,\"showSuccessToaster\",true,\"cacheKeyTtl\",\"\",\"metadata\",null,\"triggersOnFailure\",[\"^E\",[]],\"errorTransformer\",\"// The variable 'data' allows you to reference the request's data in the transformer. \\n// example: return data.find(element => element.isError)\\nreturn data.error\",\"confirmationMessage\",null,\"isFetching\",false,\"rawData\",null,\"queryTriggerDelay\",\"0\",\"watchedParams\",[\"^E\",[]],\"enableErrorTransformer\",false,\"timestamp\",0,\"importedQueryDefaults\",[\"^3\",[]],\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"runWhenPageLoads\",false,\"transformer\",\"// type your code here\\n// example: return formatDataAsArray(data).filter(row => row.quantity > 20)\\nreturn data\",\"queryTimeout\",\"10000\",\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"enableCaching\",false,\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"^9\",null,\"^:\",null,\"^@\",null,\"^A\",null,\"^B\",\"~m1618545096986\",\"^C\",\"~m1619128892961\",\"^;\",\"\",\"^D\",\"\"]]]]],\"^B\",null,\"version\",\"2.68.12\",\"appThemeId\",null,\"preloadedAppJavaScript\",null,\"preloadedAppJSLinks\",[\"https://cdn.jsdelivr.net/npm/xml-js@1.6.11/dist/xml-js.min.js\"],\"appStyles\",\".retool-branding {\\n  display: none;\\n}\\n\\n.retool-grid {\\n  background: white;\\n}\\n\\n.embedded-canvas {\\n  padding-bottom: 0px;\\n}\",\"responsiveLayoutDisabled\",false,\"loadingIndicatorsDisabled\",false,\"urlFragmentDefinitions\",[\"^E\",[]],\"pageLoadValueOverrides\",[\"^E\",[]],\"isGlobalWidget\",false,\"instrumentationEnabled\",false,\"customDocumentTitleEnabled\",false,\"customDocumentTitle\",\"\",\"customShortcuts\",[]]]]"},"changesRecord":[],"gitSha":null,"checksum":null,"createdAt":"2021-05-14T15:52:02.232Z","updatedAt":"2021-05-14T15:52:02.232Z","pageId":349801,"userId":98324,"branchId":null},"modules":{}}

@dominicwhyte it works! :clap: thank you!