{"product_id":"n8n-inistate-approval-wait-sub-workflow-poll-until-decision","title":"n8n Inistate Approval Wait Sub-Workflow (Poll Until Decision)","description":"\u003ch3\u003ePoll Inistate Approvals in n8n Until a Decision Is Made\u003c\/h3\u003e\n\u003cp\u003eThis n8n sub-workflow creates an approval request in \u003cstrong\u003eInistate\u003c\/strong\u003e, then automatically \u003cstrong\u003epolls\u003c\/strong\u003e Inistate until the request is \u003cem\u003eapproved\u003c\/em\u003e or \u003cem\u003erejected\u003c\/em\u003e. Once a decision exists, it returns \u003cstrong\u003eapproved\u003c\/strong\u003e, \u003cstrong\u003estate\u003c\/strong\u003e, and \u003cstrong\u003edocumentId\u003c\/strong\u003e back to the calling workflow.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns as a sub-workflow\u003c\/strong\u003e when another workflow calls it via \u003cstrong\u003eExecute Workflow\u003c\/strong\u003e, passing input data through.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eConfigures decision logic\u003c\/strong\u003e by setting the exact \u003cstrong\u003eapprovedState\u003c\/strong\u003e and \u003cstrong\u003erejectedState\u003c\/strong\u003e names, plus \u003cstrong\u003echeckEveryMinutes\u003c\/strong\u003e and \u003cstrong\u003emaxChecks\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCreates an approval request\u003c\/strong\u003e in Inistate using your selected \u003cstrong\u003eworkspace\u003c\/strong\u003e and \u003cstrong\u003emodule\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eWaits and polls\u003c\/strong\u003e on the configured schedule: after each wait interval, it retrieves the request from Inistate using the stored \u003cstrong\u003edocumentId\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eChecks decision status\u003c\/strong\u003e: if the retrieved entry’s state matches the configured approved\/rejected state, it stops polling and returns the decision.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eTimes out safely\u003c\/strong\u003e: if no decision appears by the time \u003cstrong\u003emaxChecks\u003c\/strong\u003e is reached, the workflow \u003cstrong\u003eerrors\u003c\/strong\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eRoute sensitive changes through an Inistate approval and pause the parent workflow until a decision is recorded.\u003c\/li\u003e\n  \u003cli\u003eImplement approval gates in SaaS operations (e.g., internal sign-off workflows) without manual follow-ups.\u003c\/li\u003e\n  \u003cli\u003eStandardize approval handling across multiple n8n workflows by reusing the same Inistate polling sub-workflow.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eBuilt for n8n \u003cstrong\u003eautomation workflow\u003c\/strong\u003e use cases as a sub-workflow.\u003c\/li\u003e\n  \u003cli\u003eNodes used: \u003cstrong\u003eif\u003c\/strong\u003e, \u003cstrong\u003eset\u003c\/strong\u003e, \u003cstrong\u003ewait\u003c\/strong\u003e, \u003cstrong\u003esticky note\u003c\/strong\u003e, \u003cstrong\u003estop\u003c\/strong\u003e, \u003cstrong\u003eerror\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003eIntegration node: \u003cstrong\u003en8n-nodes-inistateinistate\u003c\/strong\u003e to create and retrieve the approval request.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eSetup notes\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eAdd an \u003cstrong\u003eInistate credential\u003c\/strong\u003e and ensure the same \u003cstrong\u003eworkspace\u003c\/strong\u003e and \u003cstrong\u003emodule\u003c\/strong\u003e are selected in both Inistate steps.\u003c\/li\u003e\n  \u003cli\u003eMap the approval request fields in the Inistate “Create” step to match your module schema.\u003c\/li\u003e\n  \u003cli\u003eSet \u003cstrong\u003eapprovedState\u003c\/strong\u003e and \u003cstrong\u003erejectedState\u003c\/strong\u003e to exactly match your Inistate state names, and tune \u003cstrong\u003echeckEveryMinutes\u003c\/strong\u003e and \u003cstrong\u003emaxChecks\u003c\/strong\u003e for your timeout behavior.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46164166246579,"sku":"N8N-20514","price":8.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/VMMtoD-GO81tdrr-lHuce_6HhUZlUD.png?v=1791277518","url":"https:\/\/buyflowscripts.com\/products\/n8n-inistate-approval-wait-sub-workflow-poll-until-decision","provider":"N8N Commerce","version":"1.0","type":"link"}