[{"data":1,"prerenderedAt":1396},["ShallowReactive",2],{"parentPage":3,"subPages":749,"useCases":750,"content-query-kBox8FVWWl":751},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"slug":10,"weight":11,"body":12,"_type":743,"_id":744,"_source":745,"_file":746,"_stem":747,"_extension":748},"/integration/make","integration",false,"","Make - Execute JavaScript in Workflows","Seamlessly run custom JavaScript in Make workflows using CustomJS.","make",0,{"type":13,"children":14,"toc":726},"root",[15],{"type":16,"tag":17,"props":18,"children":24},"element","div",{"className":19},[20,21,22,23],"grid","md:grid-cols-3","grid-cols-1","gap-6",[25,28,119,126,131,138,237,243,288,294,539,545,576,582,613,617,623,629,643,652,658,677,685,691,696,704,710,715],{"type":26,"value":27},"text","\n    ",{"type":16,"tag":17,"props":29,"children":33},{"className":30},[31,32],"md:col-span-2","col-span-1",[34,36,85,109],{"type":26,"value":35},"\n        ",{"type":16,"tag":17,"props":37,"children":41},{"className":38},[39,40],"pe-12","pt-3",[42,44,54,55,65,66,84],{"type":26,"value":43},"\n          ",{"type":16,"tag":45,"props":46,"children":51},"h1",{"className":47,"id":50},[48,49],"text-3xl","font-semibold","execute-javascript-in-your-make-scenario",[52],{"type":26,"value":53},"Execute JavaScript in your Make Scenario",{"type":26,"value":43},{"type":16,"tag":56,"props":57,"children":62},"p",{"className":58},[59,60,61],"mt-4","text-lg","text-gray-700",[63],{"type":26,"value":64},"Run JavaScript directly in Make, or store it on CustomJS for better management. With support for dynamic parameters and seamless integration, coding within your workflows has never been easier.",{"type":26,"value":43},{"type":16,"tag":56,"props":67,"children":69},{"className":68},[59],[70,72,82],{"type":26,"value":71},"Get started with access to several popular ",{"type":16,"tag":73,"props":74,"children":79},"a",{"href":75,"className":76},"/npm-modules",[77,78],"text-blue-500","underline",[80],{"type":26,"value":81},"NPM modules",{"type":26,"value":83},", enhancing your coding possibilities.",{"type":26,"value":35},{"type":16,"tag":86,"props":87,"children":89},"callout",{"type":88},"warning",[90],{"type":16,"tag":56,"props":91,"children":92},{},[93,99,101,107],{"type":16,"tag":94,"props":95,"children":96},"strong",{},[97],{"type":26,"value":98},"Important:",{"type":26,"value":100}," There are 2 modules that are flagged as deprecated, you will only see them if you are already using them. For these you have to use ",{"type":16,"tag":73,"props":102,"children":104},{"href":103},"/api-key",[105],{"type":26,"value":106},"RapidAPI Keys",{"type":26,"value":108},".",{"type":16,"tag":110,"props":111,"children":113},"pre",{"code":112},"\u003C/div>\n\u003Cdiv class=\"col-span-1 flex justify-center items-center\">\n    \u003Cimg src=\"/images/make-v1-vs-v2.png\" alt=\"Make Extension\" class=\"rounded shadow-md\"/>\n\u003C/div>\n",[114],{"type":16,"tag":115,"props":116,"children":117},"code",{"__ignoreMap":7},[118],{"type":26,"value":112},{"type":16,"tag":120,"props":121,"children":123},"h2",{"id":122},"documentation-structure",[124],{"type":26,"value":125},"Documentation Structure",{"type":16,"tag":56,"props":127,"children":128},{},[129],{"type":26,"value":130},"This documentation is organized into five main sections to help you master CustomJS with Make.com:",{"type":16,"tag":132,"props":133,"children":135},"h3",{"id":134},"i-getting-started-core-concepts",[136],{"type":26,"value":137},"I. Getting Started & Core Concepts",{"type":16,"tag":139,"props":140,"children":141},"ul",{},[142,157,171,204],{"type":16,"tag":143,"props":144,"children":145},"li",{},[146,155],{"type":16,"tag":94,"props":147,"children":148},{},[149],{"type":16,"tag":73,"props":150,"children":152},{"href":151},"/integration/make/overview",[153],{"type":26,"value":154},"Introduction to CustomJS",{"type":26,"value":156}," - Overview and capabilities",{"type":16,"tag":143,"props":158,"children":159},{},[160,169],{"type":16,"tag":94,"props":161,"children":162},{},[163],{"type":16,"tag":73,"props":164,"children":166},{"href":165},"/integration/make/authentication",[167],{"type":26,"value":168},"Authentication and Setup",{"type":26,"value":170}," - API key configuration",{"type":16,"tag":143,"props":172,"children":173},{},[174,179],{"type":16,"tag":94,"props":175,"children":176},{},[177],{"type":26,"value":178},"Primary Execution Methods",{"type":16,"tag":139,"props":180,"children":181},{},[182,193],{"type":16,"tag":143,"props":183,"children":184},{},[185,191],{"type":16,"tag":73,"props":186,"children":188},{"href":187},"/integration/make/modules/inline-javascript",[189],{"type":26,"value":190},"Inline JavaScript",{"type":26,"value":192}," - Run code directly in Make",{"type":16,"tag":143,"props":194,"children":195},{},[196,202],{"type":16,"tag":73,"props":197,"children":199},{"href":198},"/integration/make/modules/stored-javascript-function",[200],{"type":26,"value":201},"Stored Functions",{"type":26,"value":203}," - Centrally managed functions",{"type":16,"tag":143,"props":205,"children":206},{},[207,212],{"type":16,"tag":94,"props":208,"children":209},{},[210],{"type":26,"value":211},"Writing JavaScript in Make",{"type":16,"tag":139,"props":213,"children":214},{},[215,226],{"type":16,"tag":143,"props":216,"children":217},{},[218,224],{"type":16,"tag":73,"props":219,"children":221},{"href":220},"/integration/make/best-practices",[222],{"type":26,"value":223},"Best Practices (Return Statements)",{"type":26,"value":225}," - Essential coding guidelines",{"type":16,"tag":143,"props":227,"children":228},{},[229,235],{"type":16,"tag":73,"props":230,"children":232},{"href":231},"/integration/make/response-types",[233],{"type":26,"value":234},"Return Response Types",{"type":26,"value":236}," - Understanding data output formats",{"type":16,"tag":132,"props":238,"children":240},{"id":239},"ii-handling-data-and-inputs",[241],{"type":26,"value":242},"II. Handling Data and Inputs",{"type":16,"tag":139,"props":244,"children":245},{},[246,260,274],{"type":16,"tag":143,"props":247,"children":248},{},[249,258],{"type":16,"tag":94,"props":250,"children":251},{},[252],{"type":16,"tag":73,"props":253,"children":255},{"href":254},"/integration/make/input-variables",[256],{"type":26,"value":257},"Accessing Input Variables",{"type":26,"value":259}," - Working with scenario data",{"type":16,"tag":143,"props":261,"children":262},{},[263,272],{"type":16,"tag":94,"props":264,"children":265},{},[266],{"type":16,"tag":73,"props":267,"children":269},{"href":268},"/integration/make/json-data",[270],{"type":26,"value":271},"Using JSON for Complex Data",{"type":26,"value":273}," - Advanced data structures",{"type":16,"tag":143,"props":275,"children":276},{},[277,286],{"type":16,"tag":94,"props":278,"children":279},{},[280],{"type":16,"tag":73,"props":281,"children":283},{"href":282},"/integration/make/collections",[284],{"type":26,"value":285},"Working with Make.com Collections",{"type":26,"value":287}," - Processing arrays and datasets",{"type":16,"tag":132,"props":289,"children":291},{"id":290},"iii-advanced-modules-and-integrations",[292],{"type":26,"value":293},"III. Advanced Modules and Integrations",{"type":16,"tag":139,"props":295,"children":296},{},[297,352,418,462,495],{"type":16,"tag":143,"props":298,"children":299},{},[300,305],{"type":16,"tag":94,"props":301,"children":302},{},[303],{"type":26,"value":304},"Native Modules",{"type":16,"tag":139,"props":306,"children":307},{},[308,319,330,341],{"type":16,"tag":143,"props":309,"children":310},{},[311,317],{"type":16,"tag":73,"props":312,"children":314},{"href":313},"/integration/make/modules/pdf-generation",[315],{"type":26,"value":316},"PDF Generation",{"type":26,"value":318}," - Create documents from HTML",{"type":16,"tag":143,"props":320,"children":321},{},[322,328],{"type":16,"tag":73,"props":323,"children":325},{"href":324},"/integration/make/modules/pdf-merging",[326],{"type":26,"value":327},"PDF Merging",{"type":26,"value":329}," - Combine multiple PDFs",{"type":16,"tag":143,"props":331,"children":332},{},[333,339],{"type":16,"tag":73,"props":334,"children":336},{"href":335},"/integration/make/modules/scraper",[337],{"type":26,"value":338},"Web Scraping",{"type":26,"value":340}," - Extract HTML content",{"type":16,"tag":143,"props":342,"children":343},{},[344,350],{"type":16,"tag":73,"props":345,"children":347},{"href":346},"/integration/make/modules/scraper-screenshot",[348],{"type":26,"value":349},"Website Screenshots",{"type":26,"value":351}," - Capture page images",{"type":16,"tag":143,"props":353,"children":354},{},[355,360],{"type":16,"tag":94,"props":356,"children":357},{},[358],{"type":26,"value":359},"Data & AI Utilities",{"type":16,"tag":139,"props":361,"children":362},{},[363,374,385,396,407],{"type":16,"tag":143,"props":364,"children":365},{},[366,372],{"type":16,"tag":73,"props":367,"children":369},{"href":368},"/integration/make/modules/parse-ai-json",[370],{"type":26,"value":371},"AI JSON Parser",{"type":26,"value":373}," - Clean and repair AI-generated JSON",{"type":16,"tag":143,"props":375,"children":376},{},[377,383],{"type":16,"tag":73,"props":378,"children":380},{"href":379},"/integration/make/modules/aggregate-array",[381],{"type":26,"value":382},"Group & Aggregate Array",{"type":26,"value":384}," - Group, sum and deduplicate in one operation",{"type":16,"tag":143,"props":386,"children":387},{},[388,394],{"type":16,"tag":73,"props":389,"children":391},{"href":390},"/integration/make/modules/parse-number",[392],{"type":26,"value":393},"Parse Localized Number",{"type":26,"value":395}," - Turn \"1.234,56 EUR\" into a real number",{"type":16,"tag":143,"props":397,"children":398},{},[399,405],{"type":16,"tag":73,"props":400,"children":402},{"href":401},"/integration/make/modules/format-date",[403],{"type":26,"value":404},"Format Date & Convert Timezone",{"type":26,"value":406}," - Parse, convert and format dates",{"type":16,"tag":143,"props":408,"children":409},{},[410,416],{"type":16,"tag":73,"props":411,"children":413},{"href":412},"/integration/make/modules/url-to-base64",[414],{"type":26,"value":415},"File to Base64",{"type":26,"value":417}," - Fetch a file and embed it as a data URI",{"type":16,"tag":143,"props":419,"children":420},{},[421,426],{"type":16,"tag":94,"props":422,"children":423},{},[424],{"type":26,"value":425},"Integrated NPM Libraries",{"type":16,"tag":139,"props":427,"children":428},{},[429,440,451],{"type":16,"tag":143,"props":430,"children":431},{},[432,438],{"type":16,"tag":73,"props":433,"children":435},{"href":434},"/integration/make/web-scraping",[436],{"type":26,"value":437},"Web Scraping (cheerio, axios)",{"type":26,"value":439}," - Advanced scraping tools",{"type":16,"tag":143,"props":441,"children":442},{},[443,449],{"type":16,"tag":73,"props":444,"children":446},{"href":445},"/integration/make/jsrsasign",[447],{"type":26,"value":448},"Cryptography (jsrsasign)",{"type":26,"value":450}," - Digital signatures and encryption",{"type":16,"tag":143,"props":452,"children":453},{},[454,460],{"type":16,"tag":73,"props":455,"children":457},{"href":456},"/integration/make/uuid",[458],{"type":26,"value":459},"Unique IDs (uuidv4)",{"type":26,"value":461}," - Generate unique identifiers",{"type":16,"tag":143,"props":463,"children":464},{},[465,470],{"type":16,"tag":94,"props":466,"children":467},{},[468],{"type":26,"value":469},"SDK Integrations",{"type":16,"tag":139,"props":471,"children":472},{},[473,484],{"type":16,"tag":143,"props":474,"children":475},{},[476,482],{"type":16,"tag":73,"props":477,"children":479},{"href":478},"/integration/make/firebase-admin-sdk",[480],{"type":26,"value":481},"Firebase Admin SDK",{"type":26,"value":483}," - Firebase backend operations",{"type":16,"tag":143,"props":485,"children":486},{},[487,493],{"type":16,"tag":73,"props":488,"children":490},{"href":489},"/integration/make/open-ai",[491],{"type":26,"value":492},"OpenAI API",{"type":26,"value":494}," - AI-powered functionality",{"type":16,"tag":143,"props":496,"children":497},{},[498,503],{"type":16,"tag":94,"props":499,"children":500},{},[501],{"type":26,"value":502},"Data Processing Examples",{"type":16,"tag":139,"props":504,"children":505},{},[506,517,528],{"type":16,"tag":143,"props":507,"children":508},{},[509,515],{"type":16,"tag":73,"props":510,"children":512},{"href":511},"/integration/make/map-and-reduce",[513],{"type":26,"value":514},"Map & Reduce Functions",{"type":26,"value":516}," - Array processing patterns",{"type":16,"tag":143,"props":518,"children":519},{},[520,526],{"type":16,"tag":73,"props":521,"children":523},{"href":522},"/integration/make/code-snippets/api-request-axios",[524],{"type":26,"value":525},"HTTP Request with Axios",{"type":26,"value":527}," - API integration",{"type":16,"tag":143,"props":529,"children":530},{},[531,537],{"type":16,"tag":73,"props":532,"children":534},{"href":533},"/integration/make/code-snippets/invoice-pdf-generation",[535],{"type":26,"value":536},"Invoice PDF Generation",{"type":26,"value":538}," - Document automation",{"type":16,"tag":132,"props":540,"children":542},{"id":541},"iv-usage-pricing-and-limitations",[543],{"type":26,"value":544},"IV. Usage, Pricing, and Limitations",{"type":16,"tag":139,"props":546,"children":547},{},[548,562],{"type":16,"tag":143,"props":549,"children":550},{},[551,560],{"type":16,"tag":94,"props":552,"children":553},{},[554],{"type":16,"tag":73,"props":555,"children":557},{"href":556},"/integration/make/make-credits",[558],{"type":26,"value":559},"Cost Savings with Make.com Credits",{"type":26,"value":561}," - Optimize your spending",{"type":16,"tag":143,"props":563,"children":564},{},[565,574],{"type":16,"tag":94,"props":566,"children":567},{},[568],{"type":16,"tag":73,"props":569,"children":571},{"href":570},"/integration/make/rate-limits",[572],{"type":26,"value":573},"Rate Limits",{"type":26,"value":575}," - Understanding usage constraints",{"type":16,"tag":132,"props":577,"children":579},{"id":578},"v-support-and-troubleshooting",[580],{"type":26,"value":581},"V. Support and Troubleshooting",{"type":16,"tag":139,"props":583,"children":584},{},[585,599],{"type":16,"tag":143,"props":586,"children":587},{},[588,597],{"type":16,"tag":94,"props":589,"children":590},{},[591],{"type":16,"tag":73,"props":592,"children":594},{"href":593},"/integration/make/troubleshooting",[595],{"type":26,"value":596},"Troubleshooting Guide",{"type":26,"value":598}," - Common issues and solutions",{"type":16,"tag":143,"props":600,"children":601},{},[602,611],{"type":16,"tag":94,"props":603,"children":604},{},[605],{"type":16,"tag":73,"props":606,"children":608},{"href":607},"/integration/make/support",[609],{"type":26,"value":610},"Getting Help",{"type":26,"value":612}," - Support resources and contact information",{"type":16,"tag":614,"props":615,"children":616},"hr",{},[],{"type":16,"tag":120,"props":618,"children":620},{"id":619},"quick-start-guide",[621],{"type":26,"value":622},"Quick Start Guide",{"type":16,"tag":132,"props":624,"children":626},{"id":625},"_1-get-your-api-key",[627],{"type":26,"value":628},"1. Get Your API Key",{"type":16,"tag":56,"props":630,"children":631},{},[632,641],{"type":16,"tag":73,"props":633,"children":638},{"href":634,":target":635,"rel":636},"https://app.customjs.space/#/","_blank",[637],"nofollow",[639],{"type":26,"value":640},"Sign In",{"type":26,"value":642}," to CustomJS and copy your API key from the dashboard.",{"type":16,"tag":56,"props":644,"children":645},{},[646],{"type":16,"tag":647,"props":648,"children":651},"img",{"alt":649,"src":650},"CustomJS V2 API Key","/images/make-tutorial/make-tutorial-1.png",[],{"type":16,"tag":132,"props":653,"children":655},{"id":654},"_2-add-customjs-to-make",[656],{"type":26,"value":657},"2. Add CustomJS to Make",{"type":16,"tag":56,"props":659,"children":660},{},[661,663,668,670,675],{"type":26,"value":662},"Choose ",{"type":16,"tag":94,"props":664,"children":665},{},[666],{"type":26,"value":667},"Execute inline JavaScript Code",{"type":26,"value":669}," CustomJS ",{"type":16,"tag":94,"props":671,"children":672},{},[673],{"type":26,"value":674},"V2",{"type":26,"value":676}," action in your Make scenario.",{"type":16,"tag":56,"props":678,"children":679},{},[680],{"type":16,"tag":647,"props":681,"children":684},{"alt":682,"src":683},"CustomJS Make Actions","/images/make-tutorial/make-tutorial-2.png",[],{"type":16,"tag":132,"props":686,"children":688},{"id":687},"_3-configure-connection",[689],{"type":26,"value":690},"3. Configure Connection",{"type":16,"tag":56,"props":692,"children":693},{},[694],{"type":26,"value":695},"Use your API key to create the connection in Make.",{"type":16,"tag":56,"props":697,"children":698},{},[699],{"type":16,"tag":647,"props":700,"children":703},{"alt":701,"src":702},"CustomJS Make Connection","/images/make-tutorial/make-tutorial-3.png",[],{"type":16,"tag":132,"props":705,"children":707},{"id":706},"_4-start-coding",[708],{"type":26,"value":709},"4. Start Coding",{"type":16,"tag":56,"props":711,"children":712},{},[713],{"type":26,"value":714},"Write JavaScript with proper return statements and enjoy powerful automation capabilities.",{"type":16,"tag":56,"props":716,"children":717},{},[718,720,725],{"type":26,"value":719},"For detailed guidance, start with our ",{"type":16,"tag":73,"props":721,"children":722},{"href":151},[723],{"type":26,"value":724},"Getting Started section",{"type":26,"value":108},{"title":7,"searchDepth":727,"depth":727,"links":728},2,[729,737],{"id":122,"depth":727,"text":125,"children":730},[731,733,734,735,736],{"id":134,"depth":732,"text":137},3,{"id":239,"depth":732,"text":242},{"id":290,"depth":732,"text":293},{"id":541,"depth":732,"text":544},{"id":578,"depth":732,"text":581},{"id":619,"depth":727,"text":622,"children":738},[739,740,741,742],{"id":625,"depth":732,"text":628},{"id":654,"depth":732,"text":657},{"id":687,"depth":732,"text":690},{"id":706,"depth":732,"text":709},"markdown","content:integration:make:index.md","content","integration/make/index.md","integration/make/index","md",[],[],{"_path":368,"_dir":752,"_draft":6,"_partial":6,"_locale":7,"title":753,"description":754,"body":755,"_type":743,"_id":1393,"_source":745,"_file":1394,"_stem":1395,"_extension":748},"modules","AI JSON Parser (Clean & Repair)","Parse messy or AI-generated JSON in Make.com, strip markdown code fences from ChatGPT, Claude or Gemini output, and repair common issues automatically",{"type":13,"children":756,"toc":1384},[757,762,767,773,786,791,921,926,932,1047,1053,1064,1072,1080,1088,1196,1213,1219,1293,1299,1332,1338,1378],{"type":16,"tag":45,"props":758,"children":760},{"id":759},"ai-json-parser-clean-repair",[761],{"type":26,"value":753},{"type":16,"tag":56,"props":763,"children":764},{},[765],{"type":26,"value":766},"The AI JSON Parser module parses messy or AI-generated JSON in Make.com. It strips markdown code fences from ChatGPT, Claude or Gemini output, extracts the JSON block from surrounding prose, and repairs common issues that would otherwise break your scenario.",{"type":16,"tag":120,"props":768,"children":770},{"id":769},"how-it-works",[771],{"type":26,"value":772},"How it works",{"type":16,"tag":56,"props":774,"children":775},{},[776,778,784],{"type":26,"value":777},"AI modules rarely return clean JSON. They wrap it in ",{"type":16,"tag":115,"props":779,"children":781},{"className":780},[],[782],{"type":26,"value":783},"```json",{"type":26,"value":785}," fences, add explanations before and after, use smart quotes, or leave trailing commas. Make's built-in JSON parse module throws an error on all of these inputs, and your scenario stops.",{"type":16,"tag":56,"props":787,"children":788},{},[789],{"type":26,"value":790},"This module cleans the text step by step before parsing:",{"type":16,"tag":792,"props":793,"children":794},"ol",{},[795,813,823,833,857,874],{"type":16,"tag":143,"props":796,"children":797},{},[798,803,805,811],{"type":16,"tag":94,"props":799,"children":800},{},[801],{"type":26,"value":802},"Strips markdown code fences",{"type":26,"value":804}," (",{"type":16,"tag":115,"props":806,"children":808},{"className":807},[],[809],{"type":26,"value":810},"```json ... ```",{"type":26,"value":812},") around the payload",{"type":16,"tag":143,"props":814,"children":815},{},[816,821],{"type":16,"tag":94,"props":817,"children":818},{},[819],{"type":26,"value":820},"Extracts the JSON block",{"type":26,"value":822}," when it is embedded in prose like \"Here is your result: {...} Let me know if...\"",{"type":16,"tag":143,"props":824,"children":825},{},[826,831],{"type":16,"tag":94,"props":827,"children":828},{},[829],{"type":26,"value":830},"Unwraps double-serialized strings",{"type":26,"value":832},", i.e. JSON that was encoded as a JSON string (\"stringified twice\")",{"type":16,"tag":143,"props":834,"children":835},{},[836,841,843,849,851],{"type":16,"tag":94,"props":837,"children":838},{},[839],{"type":26,"value":840},"Removes trailing commas",{"type":26,"value":842}," before ",{"type":16,"tag":115,"props":844,"children":846},{"className":845},[],[847],{"type":26,"value":848},"}",{"type":26,"value":850}," and ",{"type":16,"tag":115,"props":852,"children":854},{"className":853},[],[855],{"type":26,"value":856},"]",{"type":16,"tag":143,"props":858,"children":859},{},[860,865,866,872],{"type":16,"tag":94,"props":861,"children":862},{},[863],{"type":26,"value":864},"Replaces smart quotes",{"type":26,"value":804},{"type":16,"tag":115,"props":867,"children":869},{"className":868},[],[870],{"type":26,"value":871},"“ ” ‘ ’",{"type":26,"value":873},") with straight quotes",{"type":16,"tag":143,"props":875,"children":876},{},[877,882,884,890,892,898,899,905,906,912,913,919],{"type":16,"tag":94,"props":878,"children":879},{},[880],{"type":26,"value":881},"Converts Python and JavaScript literals",{"type":26,"value":883},": ",{"type":16,"tag":115,"props":885,"children":887},{"className":886},[],[888],{"type":26,"value":889},"True",{"type":26,"value":891},", ",{"type":16,"tag":115,"props":893,"children":895},{"className":894},[],[896],{"type":26,"value":897},"False",{"type":26,"value":891},{"type":16,"tag":115,"props":900,"children":902},{"className":901},[],[903],{"type":26,"value":904},"None",{"type":26,"value":891},{"type":16,"tag":115,"props":907,"children":909},{"className":908},[],[910],{"type":26,"value":911},"NaN",{"type":26,"value":850},{"type":16,"tag":115,"props":914,"children":916},{"className":915},[],[917],{"type":26,"value":918},"undefined",{"type":26,"value":920}," become valid JSON values",{"type":16,"tag":56,"props":922,"children":923},{},[924],{"type":26,"value":925},"If a fix was applied, the output tells you exactly what happened.",{"type":16,"tag":132,"props":927,"children":929},{"id":928},"module-fields",[930],{"type":26,"value":931},"Module Fields",{"type":16,"tag":933,"props":934,"children":935},"table",{},[936,960],{"type":16,"tag":937,"props":938,"children":939},"thead",{},[940],{"type":16,"tag":941,"props":942,"children":943},"tr",{},[944,950,955],{"type":16,"tag":945,"props":946,"children":947},"th",{},[948],{"type":26,"value":949},"Field",{"type":16,"tag":945,"props":951,"children":952},{},[953],{"type":26,"value":954},"Description",{"type":16,"tag":945,"props":956,"children":957},{},[958],{"type":26,"value":959},"How to use it",{"type":16,"tag":961,"props":962,"children":963},"tbody",{},[964,986,1007],{"type":16,"tag":941,"props":965,"children":966},{},[967,976,981],{"type":16,"tag":968,"props":969,"children":970},"td",{},[971],{"type":16,"tag":94,"props":972,"children":973},{},[974],{"type":26,"value":975},"Connection",{"type":16,"tag":968,"props":977,"children":978},{},[979],{"type":26,"value":980},"Links the module to the CustomJS service",{"type":16,"tag":968,"props":982,"children":983},{},[984],{"type":26,"value":985},"Select or create a connection using your API key",{"type":16,"tag":941,"props":987,"children":988},{},[989,997,1002],{"type":16,"tag":968,"props":990,"children":991},{},[992],{"type":16,"tag":94,"props":993,"children":994},{},[995],{"type":26,"value":996},"JSON Text",{"type":16,"tag":968,"props":998,"children":999},{},[1000],{"type":26,"value":1001},"Raw text that should contain JSON",{"type":16,"tag":968,"props":1003,"children":1004},{},[1005],{"type":26,"value":1006},"Map the output of an AI module (ChatGPT, Claude, Gemini) or any other text source. Code fences and surrounding prose are removed automatically",{"type":16,"tag":941,"props":1008,"children":1009},{},[1010,1018,1023],{"type":16,"tag":968,"props":1011,"children":1012},{},[1013],{"type":16,"tag":94,"props":1014,"children":1015},{},[1016],{"type":26,"value":1017},"Strict mode (no content repairs)",{"type":16,"tag":968,"props":1019,"children":1020},{},[1021],{"type":26,"value":1022},"Limits cleanup to structural steps",{"type":16,"tag":968,"props":1024,"children":1025},{},[1026,1028,1033,1034,1039,1040,1045],{"type":26,"value":1027},"Boolean, default off. When on, only fence stripping, JSON block extraction and double-encoding unwrap are applied. Content repairs (smart quotes, trailing commas, Python literals like ",{"type":16,"tag":115,"props":1029,"children":1031},{"className":1030},[],[1032],{"type":26,"value":889},{"type":26,"value":891},{"type":16,"tag":115,"props":1035,"children":1037},{"className":1036},[],[1038],{"type":26,"value":897},{"type":26,"value":891},{"type":16,"tag":115,"props":1041,"children":1043},{"className":1042},[],[1044],{"type":26,"value":904},{"type":26,"value":1046},") are skipped, and invalid JSON throws an error",{"type":16,"tag":120,"props":1048,"children":1050},{"id":1049},"usage-example",[1051],{"type":26,"value":1052},"Usage example",{"type":16,"tag":56,"props":1054,"children":1055},{},[1056,1058,1062],{"type":26,"value":1057},"A typical ChatGPT response mapped into ",{"type":16,"tag":94,"props":1059,"children":1060},{},[1061],{"type":26,"value":996},{"type":26,"value":1063},":",{"type":16,"tag":56,"props":1065,"children":1066},{},[1067],{"type":16,"tag":94,"props":1068,"children":1069},{},[1070],{"type":26,"value":1071},"Input:",{"type":16,"tag":110,"props":1073,"children":1075},{"code":1074},"Sure! Here is the extracted data:\n\n```json\n{\n  \"name\": \"Acme Corp\",\n  \"active\": True,\n  \"tags\": [\"b2b\", \"enterprise\",],\n}\n```\n\nLet me know if you need anything else.\n",[1076],{"type":16,"tag":115,"props":1077,"children":1078},{"__ignoreMap":7},[1079],{"type":26,"value":1074},{"type":16,"tag":56,"props":1081,"children":1082},{},[1083],{"type":16,"tag":94,"props":1084,"children":1085},{},[1086],{"type":26,"value":1087},"Output (Parsed JSON):",{"type":16,"tag":110,"props":1089,"children":1093},{"code":1090,"language":1091,"meta":7,"className":1092,"style":7},"{\n  \"name\": \"Acme Corp\",\n  \"active\": true,\n  \"tags\": [\"b2b\", \"enterprise\"]\n}\n","json","language-json shiki shiki-themes github-light",[1094],{"type":16,"tag":115,"props":1095,"children":1096},{"__ignoreMap":7},[1097,1109,1133,1154,1187],{"type":16,"tag":1098,"props":1099,"children":1102},"span",{"class":1100,"line":1101},"line",1,[1103],{"type":16,"tag":1098,"props":1104,"children":1106},{"style":1105},"--shiki-default:#24292E",[1107],{"type":26,"value":1108},"{\n",{"type":16,"tag":1098,"props":1110,"children":1111},{"class":1100,"line":727},[1112,1118,1122,1128],{"type":16,"tag":1098,"props":1113,"children":1115},{"style":1114},"--shiki-default:#005CC5",[1116],{"type":26,"value":1117},"  \"name\"",{"type":16,"tag":1098,"props":1119,"children":1120},{"style":1105},[1121],{"type":26,"value":883},{"type":16,"tag":1098,"props":1123,"children":1125},{"style":1124},"--shiki-default:#032F62",[1126],{"type":26,"value":1127},"\"Acme Corp\"",{"type":16,"tag":1098,"props":1129,"children":1130},{"style":1105},[1131],{"type":26,"value":1132},",\n",{"type":16,"tag":1098,"props":1134,"children":1135},{"class":1100,"line":732},[1136,1141,1145,1150],{"type":16,"tag":1098,"props":1137,"children":1138},{"style":1114},[1139],{"type":26,"value":1140},"  \"active\"",{"type":16,"tag":1098,"props":1142,"children":1143},{"style":1105},[1144],{"type":26,"value":883},{"type":16,"tag":1098,"props":1146,"children":1147},{"style":1114},[1148],{"type":26,"value":1149},"true",{"type":16,"tag":1098,"props":1151,"children":1152},{"style":1105},[1153],{"type":26,"value":1132},{"type":16,"tag":1098,"props":1155,"children":1157},{"class":1100,"line":1156},4,[1158,1163,1168,1173,1177,1182],{"type":16,"tag":1098,"props":1159,"children":1160},{"style":1114},[1161],{"type":26,"value":1162},"  \"tags\"",{"type":16,"tag":1098,"props":1164,"children":1165},{"style":1105},[1166],{"type":26,"value":1167},": [",{"type":16,"tag":1098,"props":1169,"children":1170},{"style":1124},[1171],{"type":26,"value":1172},"\"b2b\"",{"type":16,"tag":1098,"props":1174,"children":1175},{"style":1105},[1176],{"type":26,"value":891},{"type":16,"tag":1098,"props":1178,"children":1179},{"style":1124},[1180],{"type":26,"value":1181},"\"enterprise\"",{"type":16,"tag":1098,"props":1183,"children":1184},{"style":1105},[1185],{"type":26,"value":1186},"]\n",{"type":16,"tag":1098,"props":1188,"children":1190},{"class":1100,"line":1189},5,[1191],{"type":16,"tag":1098,"props":1192,"children":1193},{"style":1105},[1194],{"type":26,"value":1195},"}\n",{"type":16,"tag":56,"props":1197,"children":1198},{},[1199,1204,1206,1211],{"type":16,"tag":94,"props":1200,"children":1201},{},[1202],{"type":26,"value":1203},"Repair Notes",{"type":26,"value":1205}," would list the removed code fence, the converted ",{"type":16,"tag":115,"props":1207,"children":1209},{"className":1208},[],[1210],{"type":26,"value":889},{"type":26,"value":1212}," literal and the removed trailing commas.",{"type":16,"tag":120,"props":1214,"children":1216},{"id":1215},"output",[1217],{"type":26,"value":1218},"Output",{"type":16,"tag":933,"props":1220,"children":1221},{},[1222,1236],{"type":16,"tag":937,"props":1223,"children":1224},{},[1225],{"type":16,"tag":941,"props":1226,"children":1227},{},[1228,1232],{"type":16,"tag":945,"props":1229,"children":1230},{},[1231],{"type":26,"value":1218},{"type":16,"tag":945,"props":1233,"children":1234},{},[1235],{"type":26,"value":954},{"type":16,"tag":961,"props":1237,"children":1238},{},[1239,1255,1278],{"type":16,"tag":941,"props":1240,"children":1241},{},[1242,1250],{"type":16,"tag":968,"props":1243,"children":1244},{},[1245],{"type":16,"tag":94,"props":1246,"children":1247},{},[1248],{"type":26,"value":1249},"Parsed JSON",{"type":16,"tag":968,"props":1251,"children":1252},{},[1253],{"type":26,"value":1254},"The parsed result, ready to map into any following module",{"type":16,"tag":941,"props":1256,"children":1257},{},[1258,1266],{"type":16,"tag":968,"props":1259,"children":1260},{},[1261],{"type":16,"tag":94,"props":1262,"children":1263},{},[1264],{"type":26,"value":1265},"Was Repaired",{"type":16,"tag":968,"props":1267,"children":1268},{},[1269,1271,1276],{"type":26,"value":1270},"Boolean, ",{"type":16,"tag":115,"props":1272,"children":1274},{"className":1273},[],[1275],{"type":26,"value":1149},{"type":26,"value":1277}," if any cleanup or repair step changed the input",{"type":16,"tag":941,"props":1279,"children":1280},{},[1281,1288],{"type":16,"tag":968,"props":1282,"children":1283},{},[1284],{"type":16,"tag":94,"props":1285,"children":1286},{},[1287],{"type":26,"value":1203},{"type":16,"tag":968,"props":1289,"children":1290},{},[1291],{"type":26,"value":1292},"An array of text entries describing exactly what was fixed",{"type":16,"tag":120,"props":1294,"children":1296},{"id":1295},"good-to-know",[1297],{"type":26,"value":1298},"Good to know",{"type":16,"tag":139,"props":1300,"children":1301},{},[1302,1312,1322],{"type":16,"tag":143,"props":1303,"children":1304},{},[1305,1310],{"type":16,"tag":94,"props":1306,"children":1307},{},[1308],{"type":26,"value":1309},"Use it right after every AI module",{"type":26,"value":1311}," that is supposed to return structured data. It makes AI scenarios resilient instead of failing on the first malformed response.",{"type":16,"tag":143,"props":1313,"children":1314},{},[1315,1320],{"type":16,"tag":94,"props":1316,"children":1317},{},[1318],{"type":26,"value":1319},"Strict mode is for validation.",{"type":26,"value":1321}," Turn it on when you want to detect broken AI output instead of silently repairing it, for example to route errors to a fallback path.",{"type":16,"tag":143,"props":1323,"children":1324},{},[1325,1330],{"type":16,"tag":94,"props":1326,"children":1327},{},[1328],{"type":26,"value":1329},"Make's built-in JSON parse module throws",{"type":26,"value":1331}," on fenced, quoted or comma-broken input. This module is the drop-in replacement for AI pipelines.",{"type":16,"tag":120,"props":1333,"children":1335},{"id":1334},"related",[1336],{"type":26,"value":1337},"Related",{"type":16,"tag":56,"props":1339,"children":1340},{},[1341,1343,1348,1350,1354,1355,1359,1360,1364,1365,1369,1371,1377],{"type":26,"value":1342},"See the ",{"type":16,"tag":73,"props":1344,"children":1345},{"href":151},[1346],{"type":26,"value":1347},"Make.com integration overview",{"type":26,"value":1349}," for setup instructions, and check out the other utility modules: ",{"type":16,"tag":73,"props":1351,"children":1352},{"href":379},[1353],{"type":26,"value":382},{"type":26,"value":891},{"type":16,"tag":73,"props":1356,"children":1357},{"href":390},[1358],{"type":26,"value":393},{"type":26,"value":891},{"type":16,"tag":73,"props":1361,"children":1362},{"href":401},[1363],{"type":26,"value":404},{"type":26,"value":850},{"type":16,"tag":73,"props":1366,"children":1367},{"href":412},[1368],{"type":26,"value":415},{"type":26,"value":1370},". More cleanup recipes are in ",{"type":16,"tag":73,"props":1372,"children":1374},{"href":1373},"/blog/make-data-cleanup-snippets",[1375],{"type":26,"value":1376},"Data cleanup snippets for Make",{"type":26,"value":108},{"type":16,"tag":1379,"props":1380,"children":1381},"style",{},[1382],{"type":26,"value":1383},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":7,"searchDepth":727,"depth":727,"links":1385},[1386,1389,1390,1391,1392],{"id":769,"depth":727,"text":772,"children":1387},[1388],{"id":928,"depth":732,"text":931},{"id":1049,"depth":727,"text":1052},{"id":1215,"depth":727,"text":1218},{"id":1295,"depth":727,"text":1298},{"id":1334,"depth":727,"text":1337},"content:integration:make:modules:parse-ai-json.md","integration/make/modules/parse-ai-json.md","integration/make/modules/parse-ai-json",1787727650962]