Follow ContentFlow runs and batches, read what each run did and sent to Nobly Insight, and rerun failures once the cause is fixed.
Every item ContentFlow receives becomes a run, identified by the item’s trace ID. The States page shows every run and every batch, with the logs and the document that was sent. From there you can rerun failures, one at a time or a whole batch at once.
You need states.view to follow runs and read their logs, and states.retry to rerun them. To filter by workflow and to open a run on the workflow diagram, you also need workflows.view.
Open States. The page opens on Runs from the last 24 hours. Narrow the list with:
the Created time range
Workflow and Batch
a pasted Trace or document ID, which searches all time
A trace ID finds that run. A Nobly Insight document ID finds every run that worked on the document: the run that created it, and later runs that updated its keywords, added a revision or deleted it, including runs that failed on it. Use it to get from a document in Nobly Insight back to its run and what the sender delivered. Runs from before ContentFlow recorded document IDs may not be found.The summary tiles count runs per status for the current filters. Click a tile to show only those runs. Auto-refresh reloads the page every 10 seconds while you watch a batch come in.
Runs from the last 24 hours, with the details of a failed claim letter open beside the list. Its Overview tab shows the batch, the step it failed at and the error.
Each row shows the run’s status, the first characters of its trace ID, the workflow, the batch and when the run was created. The vN badge next to the workflow is the published version the run executed. A run without a badge ran an unpublished draft, for example a test run. The filters are part of the page address, so you can share a filtered view as a link.
Click a run to open its details beside the list. Drag the panel’s edge to widen it. Expand to full width gives the run the whole page, and Open in a new tab opens it on a page of its own. The panel has four tabs:
Tab
Shows
Overview
Batch, creation and last update time, duration, the current workflow, the step it Failed at, the Exception message, and any Result properties the workflow recorded
Document
The document sent to Nobly Insight: its type, date and keywords, each with the reason it got its value, and the fields that were not written. Shown for runs with a Map to Insight document step.
Data
The item as the run received it, as JSON
Logs
Every log entry the run wrote, step by step
The Document tab of a completed policy schedule: what was sent to Nobly Insight, each value with its reason, and the mapping version that produced it.
When a mapping stops a document, the Document tab says The mapping stopped this document and shows the row that stopped it. Nothing was sent to Nobly Insight.View on diagram opens the workflow editor with the steps this run executed highlighted, and the version it ran.
The Logs tab lists one line per entry, oldest first. Errors and entries with an exception open automatically. Filter by Errors or Warnings, or search the messages. Click an entry to read it at full size, with Previous and Next to step through the run. Copy and Download export the entries in view, for a support case.
The log of a failed claim letter: the mapping produced Claim correspondence, the upload refused two keywords the document type does not have, and the exception flow logged the error and marked the run as failed.
Nothing in the mapping writes a keyword the type requires
Add a row for it, or a default
A call to another system failed
The system was unavailable, or rejected the credentials
Check the system and the global variables the step uses
The workflow does not exist
The sending system named a workflow that was renamed or deleted
Correct the name at the source, or restore the workflow
If the fix is in the workflow or a mapping, publish it before you rerun. When you escalate, include the trace ID, batch, workflow, time and error message, and only the metadata needed to reproduce the failure.
Select failed runs and choose Rerun N failed…, or use Rerun… in a run’s details. Choose how the runs start again:
Mode
What happens
Use it when
Continue from the failed step
Resumes at the step that failed, with the data the run had at that point, on the workflow version the run started on. Steps that already succeeded, such as an upload, are not repeated.
The cause was outside the workflow: another system was down, or a credential has been renewed
Full rerun
Starts again from the first step with the original input, on the currently published workflow version and mappings
You fixed the workflow, a mapping, or a lookup table
Rerunning three failed runs. Full rerun is the right choice here, because the fix was published in the mapping.
Only runs that are still Failed start. Others are skipped and listed when the rerun finishes, together with any that could not be confirmed. Keep the dialog open until it finishes; large selections are sent in parts. A rerun that started has only been scheduled. Follow the runs on the States page until they complete.
A full rerun repeats every step, including uploads, callbacks and emails that succeeded before the failure. Check what the first attempt already did before you choose it, and rerun one run before a whole batch.
Switch to Batches to see runs grouped by batch name, with a progress bar of completed, failed and in-progress runs. Tick batches with failures and choose Rerun failed runs…. A batch rerun includes every run in the batch that is currently failed, also those created outside the time range on screen.
The Batches view. The nightly policy export has three failed runs, and the mailroom batch still has one run in progress, waiting for a scheduled retry. Guided test runs appear as the batch Testing.
Rerun by trace ID in the menu takes a list of trace IDs, pasted or uploaded as a text or CSV file, for example from a support case or a log export. The page counts valid IDs, ignores duplicates, and lists lines that are not trace IDs. Rerun N failed… opens the same rerun dialog. Afterwards, the list keeps only the IDs that did not start, so you can deal with those and try again.
ContentFlow removes old processing data automatically. By default:
What
Removed
A run, with its logs and file
12 months after it was last touched
The file of a run that never completed
30 days after the run was created. A rerun after that fails and says the file was removed.
Log entries and the permission audit trail
After 60 days, so an older run keeps its status, data and document but no logs
Rerun failed runs well within 30 days, or resubmit the item from the sending system. The documents in Nobly Insight are not affected: they follow Nobly Insight’s own retention.
Let an assistant read and draft workflows and mappings, check them, and investigate runs, with your own ContentFlow permissions.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Nobly Insight","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/nobly/opTUcxR0CGbmN76E/logo/light.svg?fit=max\u0026auto=format\u0026n=opTUcxR0CGbmN76E\u0026q=85\u0026s=1ddd4e29149fab9f5b8041757a769e84","dark":"https://mintcdn.com/nobly/yPygoKkHjmxvyXCa/logo/dark.png?fit=max\u0026auto=format\u0026n=yPygoKkHjmxvyXCa\u0026q=85\u0026s=3b2c24f895554566c46ae849c3afe46d"},"favicon":"https://mintcdn.com/nobly/opTUcxR0CGbmN76E/favicon.svg?fit=max\u0026auto=format\u0026n=opTUcxR0CGbmN76E\u0026q=85\u0026s=81911d0d343ca779fe58216a6f2d8685","navbar":{"links":[{"href":"mailto:support@nobly.dk","label":"Support"},{"href":"https://noblyorg.atlassian.net/servicedesk/customer/portals","label":"Support portal"},{"href":"tel:+4570707470","label":"+45 70707470"}],"primary":{"type":"button","label":"Homepage","href":"https://nobly.eu"}},"footer":{"socials":{"linkedin":"https://dk.linkedin.com/company/nobly-as","website":"https://nobly.eu"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"nobly","hasAudioNarration":false,"actualSubdomain":"nobly","customDomains":["docs.insight.nobly.dk"],"gitSource":{"type":"github","owner":"noblydk","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae26918d5e5d9f913bc76bf","collectionId":"637ff530-a3d7-44ad-a2b9-669dea959bdb","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae26918d5e5d9f913bc76bf"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae3a19c591294c1866c7aaa","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Documentation","count":114},{"language":"default","tag":"Document types \u0026 keywords","count":13},{"language":"default","tag":"How-tos","count":13},{"language":"default","tag":"Everyday work","count":13},{"language":"default","tag":"Workflows","count":12},{"language":"default","tag":"Caseflow","count":11},{"language":"default","tag":"ContentFlow","count":11},{"language":"default","tag":"Features","count":8},{"language":"default","tag":"Permissions \u0026 access","count":5},{"language":"default","tag":"Reporting","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"contentflow/states-and-recovery","slug":"/contentflow/states-and-recovery","pageMetadata":{"title":"States and recovery","description":"Follow ContentFlow runs and batches, read what each run did and sent to Nobly Insight, and rerun failures once the cause is fixed.","icon":"list-check","href":"/contentflow/states-and-recovery"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Follow ContentFlow runs and batches, read what each run did and sent to Nobly Insight, and rerun failures once the cause is fixed.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,Frame,Heading,OptimizedImage,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Every item ContentFlow receives becomes a `,_jsx(_components.strong,{children:`run`}),`, identified by the item’s trace ID. The `,_jsx(_components.strong,{children:`States`}),` page shows every run and every batch, with the logs and the document that was sent. From there you can rerun failures, one at a time or a whole batch at once.`]}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.p,{children:[`You need `,_jsx(_components.code,{children:`states.view`}),` to follow runs and read their logs, and `,_jsx(_components.code,{children:`states.retry`}),` to rerun them. To filter by workflow and to open a run on the workflow diagram, you also need `,_jsx(_components.code,{children:`workflows.view`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`run-statuses`,children:`Run statuses`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Shown on the summary tile as`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Pending`})}),_jsx(_components.td,{children:`Pending`}),_jsx(_components.td,{children:`Received, not started yet`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Started`})}),_jsx(_components.td,{children:`Running`}),_jsx(_components.td,{children:`The workflow is running. This is not yet an archived document.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Completed`})}),_jsx(_components.td,{children:`Completed`}),_jsx(_components.td,{children:`The run reached a Completed step. Check the destination when it matters; a workflow can complete without uploading.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Failed`})}),_jsx(_components.td,{children:`Failed`}),_jsx(_components.td,{children:`The run stopped with an error, or reached a Failed step. Only failed runs can be rerun.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Scheduled retry`})}),_jsx(_components.td,{children:`Retry scheduled`}),_jsx(_components.td,{children:`A Schedule retry step, or a rerun you requested, will start the run again`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`find-runs`,children:`Find runs`}),`\n`,_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`States`}),`. The page opens on `,_jsx(_components.strong,{children:`Runs`}),` from the last 24 hours. Narrow the list with:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`the `,_jsx(_components.strong,{children:`Created`}),` time range`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Workflow`}),` and `,_jsx(_components.strong,{children:`Batch`})]}),`\n`,_jsxs(_components.li,{children:[`a pasted `,_jsx(_components.strong,{children:`Trace or document ID`}),`, which searches all time`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`A trace ID finds that run. A Nobly Insight document ID finds every run that worked on the document: the run that created it, and later runs that updated its keywords, added a revision or deleted it, including runs that failed on it. Use it to get from a document in Nobly Insight back to its run and what the sender delivered. Runs from before ContentFlow recorded document IDs may not be found.`}),`\n`,_jsxs(_components.p,{children:[`The summary tiles count runs per status for the current filters. Click a tile to show only those runs. `,_jsx(_components.strong,{children:`Auto-refresh`}),` reloads the page every 10 seconds while you watch a batch come in.`]}),`\n`,_jsx(Frame,{caption:`Runs from the last 24 hours, with the details of a failed claim letter open beside the list. Its Overview tab shows the batch, the step it failed at and the error.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/nobly/WQLZk8Ilin4fGkj6/images/contentflow/states-runs.png?fit=max\u0026auto=format\u0026n=WQLZk8Ilin4fGkj6\u0026q=85\u0026s=e37d4be0501e53e5d91ba992047de602`,alt:`States page in the Runs view with summary tiles for All runs, Completed, Failed, Running, Retry scheduled and Pending, a list of runs with status, trace ID, workflow with version badge, batch and created time, and a details panel for a failed run showing its Overview tab with the exception message`,\"data-og-width\":`1775`,width:`1775`,\"data-og-height\":`1175`,height:`1175`,\"data-path\":`images/contentflow/states-runs.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/nobly/WQLZk8Ilin4fGkj6/images/contentflow/states-runs.png?w=280\u0026fit=max\u0026auto=format\u0026n=WQLZk8Ilin4fGkj6\u0026q=85\u0026s=21d76a7cd2f1e099194f4429583ffe1f 280w, https://mintcdn.com/nobly/WQLZk8Ilin4fGkj6/images/contentflow/states-runs.png?w=560\u0026fit=max\u0026auto=format\u0026n=WQLZk8Ilin4fGkj6\u0026q=85\u0026s=ad252c81c942364787cf2420675c2b23 560w, https://mintcdn.com/nobly/WQLZk8Ilin4fGkj6/images/contentflow/states-runs.png?w=840\u0026fit=max\u0026auto=format\u0026n=WQLZk8Ilin4fGkj6\u0026q=85\u0026s=387c24b81dabb949e4501cc9dd5ff6c8 840w, https://mintcdn.com/nobly/WQLZk8Ilin4fGkj6/images/contentflow/states-runs.png?w=1100\u0026fit=max\u0026auto=format\u0026n=WQLZk8Ilin4fGkj6\u0026q=85\u0026s=dceab16d35ae7fc61dd6aee7b587f3ca 1100w, https://mintcdn.com/nobly/WQLZk8Ilin4fGkj6/images/contentflow/states-runs.png?w=1650\u0026fit=max\u0026auto=format\u0026n=WQLZk8Ilin4fGkj6\u0026q=85\u0026s=e58229f329c9a00567aa95a8d8bbc5de 1650w, https://mintcdn.com/nobly/WQLZk8Ilin4fGkj6/images/contentflow/states-runs.png?w=2500\u0026fit=max\u0026auto=format\u0026n=WQLZk8Ilin4fGkj6\u0026q=85\u0026s=bfa9912baff11b05bfe87679248c2f4e 2500w`})}),`\n`,_jsxs(_components.p,{children:[`Each row shows the run’s status, the first characters of its trace ID, the workflow, the batch and when the run was created. The `,_jsx(_components.strong,{children:`vN`}),` badge next to the workflow is the published version the run executed. A run without a badge ran an unpublished draft, for example a test run. The filters are part of the page address, so you can share a filtered view as a link.`]}),`\n`,_jsx(Heading,{level:`2`,id:`read-a-run`,children:`Read a run`}),`\n`,_jsxs(_components.p,{children:[`Click a run to open its details beside the list. Drag the panel’s edge to widen it. `,_jsx(_components.strong,{children:`Expand to full width`}),` gives the run the whole page, and `,_jsx(_components.strong,{children:`Open in a new tab`}),` opens it on a page of its own. The panel has four tabs:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tab`}),_jsx(_components.th,{children:`Shows`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Overview`})}),_jsxs(_components.td,{children:[`Batch, creation and last update time, duration, the current workflow, the step it `,_jsx(_components.strong,{children:`Failed at`}),`, the `,_jsx(_components.strong,{children:`Exception`}),` message, and any `,_jsx(_components.strong,{children:`Result properties`}),` the workflow recorded`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Document`})}),_jsx(_components.td,{children:`The document sent to Nobly Insight: its type, date and keywords, each with the reason it got its value, and the fields that were not written. Shown for runs with a Map to Insight document step.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Data`})}),_jsx(_components.td,{children:`The item as the run received it, as JSON`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Logs`})}),_jsx(_components.td,{children:`Every log entry the run wrote, step by step`})]})]})]}),`\n`,_jsx(Frame,{caption:`The Document tab of a completed policy schedule: what was sent to Nobly Insight, each value with its reason, and the mapping version that produced it.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-document.png?fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=9e6e92ba2fdc131c83515bf5eadd7214`,alt:`Document tab titled Document sent to Nobly Insight, showing Document type Policy document from rule Policy schedules and terms, the document date from Created, keywords such as Customer number 00004400 from CustomerNo and Sensitivity Confidential from lookup row 3, the field not written, and Mapped by Policy documents, version 2`,\"data-og-width\":`1475`,width:`1475`,\"data-og-height\":`1394`,height:`1394`,\"data-path\":`images/contentflow/states-document.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-document.png?w=280\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=344e4178d4c9e6ad43cb9d2fb4756d4d 280w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-document.png?w=560\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=8d8f0ea9b03b06260ffaf6e54a58ff7a 560w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-document.png?w=840\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=878e229ad3798b424f45dd68c18f5bc3 840w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-document.png?w=1100\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=12313c00e6bfcce9191fed012ae511f3 1100w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-document.png?w=1650\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=cc3f4c12fa8a21abd61838aa7e76ec0c 1650w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-document.png?w=2500\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=d7a2bb85706d16d2eebaf51bd3a98e9b 2500w`})}),`\n`,_jsxs(_components.p,{children:[`When a mapping stops a document, the Document tab says `,_jsx(_components.strong,{children:`The mapping stopped this document`}),` and shows the row that stopped it. Nothing was sent to Nobly Insight.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`View on diagram`}),` opens the workflow editor with the steps this run executed highlighted, and the version it ran.`]}),`\n`,_jsx(Heading,{level:`3`,id:`logs`,children:`Logs`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Logs`}),` tab lists one line per entry, oldest first. Errors and entries with an exception open automatically. Filter by `,_jsx(_components.strong,{children:`Errors`}),` or `,_jsx(_components.strong,{children:`Warnings`}),`, or search the messages. Click an entry to read it at full size, with `,_jsx(_components.strong,{children:`Previous`}),` and `,_jsx(_components.strong,{children:`Next`}),` to step through the run. `,_jsx(_components.strong,{children:`Copy`}),` and `,_jsx(_components.strong,{children:`Download`}),` export the entries in view, for a support case.`]}),`\n`,_jsx(Frame,{caption:`The log of a failed claim letter: the mapping produced Claim correspondence, the upload refused two keywords the document type does not have, and the exception flow logged the error and marked the run as failed.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-logs.png?fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=36f209d3459aaad472c362b40b1fd0e6`,alt:`Logs tab with filter chips All, Errors and Warnings, a search box, and log lines for the Map to Insight document, Upload to Nobly Insight, Log the failure and Failed steps, with the error entry expanded`,\"data-og-width\":`1475`,width:`1475`,\"data-og-height\":`1475`,height:`1475`,\"data-path\":`images/contentflow/states-logs.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-logs.png?w=280\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=92d5599509c79e49c1fe0e90bd626c7b 280w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-logs.png?w=560\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=8ec4255bbfb0652e23e5693c0b04f1c8 560w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-logs.png?w=840\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=1269620c9a75796b1ab7f66cb22485cb 840w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-logs.png?w=1100\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=32fd1c38438ab8262ca5d1d92c6e0db6 1100w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-logs.png?w=1650\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=1ea0bc995cdd1c9c5075de58347142cb 1650w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-logs.png?w=2500\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=a54d7ec1c66546512fef7e17ea373cde 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`fix-the-cause-first`,children:`Fix the cause first`}),`\n`,_jsx(_components.p,{children:`Read the error against the step it happened in. Typical causes:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Error`}),_jsx(_components.th,{children:`Usual cause`}),_jsx(_components.th,{children:`Fix`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`The mapping stopped the document`}),_jsx(_components.td,{children:`A mandatory value is missing, or a value has no row in a lookup`}),_jsx(_components.td,{children:`Correct the data at the source, or the mapping’s rows and tables`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`A keyword does not exist on the document type`}),_jsx(_components.td,{children:`A mapping row applies to document types that do not have that keyword`}),_jsxs(_components.td,{children:[`Limit the row with `,_jsx(_components.strong,{children:`Applies to`}),`, then `,_jsx(_components.a,{href:`/contentflow/testing-and-publishing-mappings#check-against-nobly-insight`,children:`check the mapping against Nobly Insight`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`A required keyword is missing`}),_jsx(_components.td,{children:`Nothing in the mapping writes a keyword the type requires`}),_jsx(_components.td,{children:`Add a row for it, or a default`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`A call to another system failed`}),_jsx(_components.td,{children:`The system was unavailable, or rejected the credentials`}),_jsx(_components.td,{children:`Check the system and the global variables the step uses`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`The workflow does not exist`}),_jsx(_components.td,{children:`The sending system named a workflow that was renamed or deleted`}),_jsx(_components.td,{children:`Correct the name at the source, or restore the workflow`})]})]})]}),`\n`,_jsx(_components.p,{children:`If the fix is in the workflow or a mapping, publish it before you rerun. When you escalate, include the trace ID, batch, workflow, time and error message, and only the metadata needed to reproduce the failure.`}),`\n`,_jsx(Heading,{level:`2`,id:`rerun-failed-runs`,children:`Rerun failed runs`}),`\n`,_jsxs(_components.p,{children:[`Select failed runs and choose `,_jsx(_components.strong,{children:`Rerun N failed…`}),`, or use `,_jsx(_components.strong,{children:`Rerun…`}),` in a run’s details. Choose how the runs start again:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Mode`}),_jsx(_components.th,{children:`What happens`}),_jsx(_components.th,{children:`Use it when`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Continue from the failed step`})}),_jsxs(_components.td,{children:[`Resumes at the step that failed, with the data the run had at that point, on the `,_jsx(_components.strong,{children:`workflow version the run started on`}),`. Steps that already succeeded, such as an upload, are not repeated.`]}),_jsx(_components.td,{children:`The cause was outside the workflow: another system was down, or a credential has been renewed`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Full rerun`})}),_jsxs(_components.td,{children:[`Starts again from the first step with the original input, on the `,_jsx(_components.strong,{children:`currently published`}),` workflow version and mappings`]}),_jsx(_components.td,{children:`You fixed the workflow, a mapping, or a lookup table`})]})]})]}),`\n`,_jsx(Frame,{caption:`Rerunning three failed runs. Full rerun is the right choice here, because the fix was published in the mapping.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-rerun.png?fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=d593f61573b3c490661b244d67ffdb71`,alt:`Rerun dialog explaining that only runs in the Failed state will start, with the options Continue from the failed step and Full rerun, and the buttons Cancel and Start rerun`,\"data-og-width\":`703`,width:`703`,\"data-og-height\":`590`,height:`590`,\"data-path\":`images/contentflow/states-rerun.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-rerun.png?w=280\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=10372a3060b02b1178b463cbc343a770 280w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-rerun.png?w=560\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=ff3134ebdc4503bab1b9cd73a139590b 560w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-rerun.png?w=840\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=79e3ad58f79e6530535a5c4f20056b3c 840w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-rerun.png?w=1100\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=a0eb7c26e025401d7cd198280f2e7f57 1100w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-rerun.png?w=1650\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=1d4e833cde10daa2db46e77e9878f5ed 1650w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-rerun.png?w=2500\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=6a24f24af19011e89b184b364a4825a0 2500w`})}),`\n`,_jsxs(_components.p,{children:[`Only runs that are still `,_jsx(_components.strong,{children:`Failed`}),` start. Others are skipped and listed when the rerun finishes, together with any that could not be confirmed. Keep the dialog open until it finishes; large selections are sent in parts. A rerun that started has only been scheduled. Follow the runs on the States page until they complete.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`A full rerun repeats every step, including uploads, callbacks and emails that succeeded before the failure. Check what the first attempt already did before you choose it, and rerun one run before a whole batch.`})}),`\n`,_jsx(Heading,{level:`3`,id:`rerun-a-batch`,children:`Rerun a batch`}),`\n`,_jsxs(_components.p,{children:[`Switch to `,_jsx(_components.strong,{children:`Batches`}),` to see runs grouped by batch name, with a progress bar of completed, failed and in-progress runs. Tick batches with failures and choose `,_jsx(_components.strong,{children:`Rerun failed runs…`}),`. A batch rerun includes every run in the batch that is currently failed, also those created outside the time range on screen.`]}),`\n`,_jsx(Frame,{caption:`The Batches view. The nightly policy export has three failed runs, and the mailroom batch still has one run in progress, waiting for a scheduled retry. Guided test runs appear as the batch Testing.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-batches.png?fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=23867db452217a7ad6fa190924de5be6`,alt:`States page in the Batches view with columns Batch, Runs, Progress, Failed, First run and Last activity, listing the batches Testing, (no batch), Mailroom 2026-10-02 morning and Policy export 2026-10-01 with progress bars of done, failed and in-progress runs`,\"data-og-width\":`1775`,width:`1775`,\"data-og-height\":`676`,height:`676`,\"data-path\":`images/contentflow/states-batches.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-batches.png?w=280\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=a30bc6cf8f095a6e0e44dd30a80a3cc4 280w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-batches.png?w=560\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=0c6dc193dac533143662f886a5592071 560w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-batches.png?w=840\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=362f21cd94071d552af9fe67c8f85089 840w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-batches.png?w=1100\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=7e1762551c9826c7baf6e531c6131126 1100w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-batches.png?w=1650\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=cbab78c5bded787269bcc814ea7310ea 1650w, https://mintcdn.com/nobly/jhWFk1Ym5lNfjRDJ/images/contentflow/states-batches.png?w=2500\u0026fit=max\u0026auto=format\u0026n=jhWFk1Ym5lNfjRDJ\u0026q=85\u0026s=87245827c372ca77b13b5932f103fa25 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`rerun-a-list-of-trace-ids`,children:`Rerun a list of trace IDs`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Rerun by trace ID`}),` in the menu takes a list of trace IDs, pasted or uploaded as a text or CSV file, for example from a support case or a log export. The page counts valid IDs, ignores duplicates, and lists lines that are not trace IDs. `,_jsx(_components.strong,{children:`Rerun N failed…`}),` opens the same rerun dialog. Afterwards, the list keeps only the IDs that did not start, so you can deal with those and try again.`]}),`\n`,_jsx(Heading,{level:`2`,id:`how-long-runs-are-kept`,children:`How long runs are kept`}),`\n`,_jsx(_components.p,{children:`ContentFlow removes old processing data automatically. By default:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`What`}),_jsx(_components.th,{children:`Removed`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`A run, with its logs and file`}),_jsx(_components.td,{children:`12 months after it was last touched`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`The file of a run that never completed`}),_jsx(_components.td,{children:`30 days after the run was created. A rerun after that fails and says the file was removed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Log entries and the permission audit trail`}),_jsx(_components.td,{children:`After 60 days, so an older run keeps its status, data and document but no logs`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Rerun failed runs well within 30 days, or resubmit the item from the sending system. The documents in Nobly Insight are not affected: they follow Nobly Insight’s own `,_jsx(_components.a,{href:`/retention/introduction`,children:`retention`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`where-to-read-next`,children:`Where to read next`}),`\n`,_jsx(Card,{title:`Authoring with an AI assistant`,icon:`robot`,href:`/contentflow/ai-assistant`,horizontal:true,children:_jsx(_components.p,{children:`Let an assistant read and draft workflows and mappings, check them, and investigate runs, with your own ContentFlow permissions.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"States and recovery","description":"Follow ContentFlow runs and batches, read what each run did and sent to Nobly Insight, and rerun failures once the cause is fixed.","icon":"list-check","href":"/contentflow/states-and-recovery"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Run statuses","slug":"run-statuses","depth":2,"children":[]},{"title":"Find runs","slug":"find-runs","depth":2,"children":[]},{"title":"Read a run","slug":"read-a-run","depth":2,"children":[{"title":"Logs","slug":"logs","depth":3,"children":[]}]},{"title":"Fix the cause first","slug":"fix-the-cause-first","depth":2,"children":[]},{"title":"Rerun failed runs","slug":"rerun-failed-runs","depth":2,"children":[{"title":"Rerun a batch","slug":"rerun-a-batch","depth":3,"children":[]},{"title":"Rerun a list of trace IDs","slug":"rerun-a-list-of-trace-ids","depth":3,"children":[]}]},{"title":"How long runs are kept","slug":"how-long-runs-are-kept","depth":2,"children":[]},{"title":"Where to read next","slug":"where-to-read-next","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"nobly","siteName":"Nobly Insight","title":"States and recovery - Nobly Insight","contextualStarterQuestions":[{"_id":"6ac69fedccc892e04d1cace9","deploymentId":"69a56586576c3f2247043b21","questionText":"How do I find a specific run?","status":"active","generatedBy":"contextual","path":"contentflow/states-and-recovery","createdAt":"2026-10-07T19:39:25.809Z","updatedAt":"2026-10-07T19:39:25.809Z","__v":0},{"_id":"6ac69fedccc892e04d1cace7","deploymentId":"69a56586576c3f2247043b21","questionText":"How do I rerun failed runs?","status":"active","generatedBy":"contextual","path":"contentflow/states-and-recovery","createdAt":"2026-10-07T19:39:25.809Z","updatedAt":"2026-10-07T19:39:25.809Z","__v":0},{"_id":"6ac69fedccc892e04d1cace8","deploymentId":"69a56586576c3f2247043b21","questionText":"What do run statuses mean?","status":"active","generatedBy":"contextual","path":"contentflow/states-and-recovery","createdAt":"2026-10-07T19:39:25.809Z","updatedAt":"2026-10-07T19:39:25.809Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-07T19:39:22.292Z","originalFileLocation":"contentflow/states-and-recovery.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Follow ContentFlow runs and batches, read what each run did and sent to Nobly Insight, and rerun failures once the cause is fixed.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Nobly Insight\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nobly/JuhuiPozCqqEW1kZ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/nobly/JuhuiPozCqqEW1kZ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nobly/JuhuiPozCqqEW1kZ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/nobly/JuhuiPozCqqEW1kZ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/nobly/JuhuiPozCqqEW1kZ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nobly/JuhuiPozCqqEW1kZ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nobly/JuhuiPozCqqEW1kZ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/nobly/JuhuiPozCqqEW1kZ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/nobly/JuhuiPozCqqEW1kZ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"States and recovery - Nobly Insight\">\u003cmeta data-mint-head property=\"og:description\" content=\"Follow ContentFlow runs and batches, read what each run did and sent to Nobly Insight, and rerun failures once the cause is fixed.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Nobly Insight\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.insight.nobly.dk/contentflow/states-and-recovery\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://nobly.mintlify.app/_mintlify/api/og/v2?division=ContentFlow\u0026amp;title=States+and+recovery\u0026amp;description=Follow+ContentFlow+runs+and+batches%2C+read+what+each+run+did+and+sent+to+Nobly+Insight%2C+and+rerun+failures+once+the+cause+is+fixed.\u0026amp;theme=d705a151b66bed9b8a595520\u0026amp;signature=4c1fb3d70f62bf54c8abbf06c0f6ae85af8ac7f81c6a3a8fd1c7fd25987b3d75\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"States and recovery - Nobly Insight\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Follow ContentFlow runs and batches, read what each run did and sent to Nobly Insight, and rerun failures once the cause is fixed.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nobly.mintlify.app/_mintlify/api/og/v2?division=ContentFlow\u0026amp;title=States+and+recovery\u0026amp;description=Follow+ContentFlow+runs+and+batches%2C+read+what+each+run+did+and+sent+to+Nobly+Insight%2C+and+rerun+failures+once+the+cause+is+fixed.\u0026amp;theme=d705a151b66bed9b8a595520\u0026amp;signature=4c1fb3d70f62bf54c8abbf06c0f6ae85af8ac7f81c6a3a8fd1c7fd25987b3d75\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/nobly/JuhuiPozCqqEW1kZ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Nobly Insight\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.insight.nobly.dk/contentflow/states-and-recovery\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/contentflow/states-and-recovery.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.insight.nobly.dk/#organization\",\"name\":\"Nobly Insight\",\"url\":\"https://docs.insight.nobly.dk\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/nobly/opTUcxR0CGbmN76E/logo/light.svg?fit=max\u0026auto=format\u0026n=opTUcxR0CGbmN76E\u0026q=85\u0026s=1ddd4e29149fab9f5b8041757a769e84\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.insight.nobly.dk#website\",\"name\":\"Nobly Insight\",\"url\":\"https://docs.insight.nobly.dk\",\"publisher\":{\"@id\":\"https://docs.insight.nobly.dk/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.insight.nobly.dk/contentflow/states-and-recovery#webpage\",\"url\":\"https://docs.insight.nobly.dk/contentflow/states-and-recovery\",\"name\":\"States and recovery\",\"description\":\"Follow ContentFlow runs and batches, read what each run did and sent to Nobly Insight, and rerun failures once the cause is fixed.\",\"dateModified\":\"2026-10-07T19:39:22.292Z\",\"isPartOf\":{\"@id\":\"https://docs.insight.nobly.dk#website\"},\"breadcrumb\":{\"@id\":\"https://docs.insight.nobly.dk/contentflow/states-and-recovery#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.insight.nobly.dk/contentflow/states-and-recovery#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"ContentFlow\",\"item\":\"https://docs.insight.nobly.dk/contentflow/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"States and recovery\",\"item\":\"https://docs.insight.nobly.dk/contentflow/states-and-recovery\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.insight.nobly.dk/contentflow/states-and-recovery#article\",\"headline\":\"States and recovery\",\"name\":\"States and recovery\",\"description\":\"Follow ContentFlow runs and batches, read what each run did and sent to Nobly Insight, and rerun failures once the cause is fixed.\",\"url\":\"https://docs.insight.nobly.dk/contentflow/states-and-recovery\",\"mainEntityOfPage\":{\"@id\":\"https://docs.insight.nobly.dk/contentflow/states-and-recovery#webpage\"},\"dateModified\":\"2026-10-07T19:39:22.292Z\",\"publisher\":{\"@id\":\"https://docs.insight.nobly.dk/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.insight.nobly.dk#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Nobly Insight\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Nobly Insight","nav":{"global":null,"tabs":[{"tab":"Documentation","groups":[{"group":"Getting started","pages":[{"title":"What is Nobly Insight?","icon":"house","href":""},{"title":"How the system fits together","icon":"diagram-project","href":"/system-overview"}]},{"group":"Features","pages":[{"title":"Features overview","icon":"list-check","href":"/features/introduction"},{"title":"Document management","icon":"folder-open","href":"/features/document-management"},{"title":"Smart search","icon":"magnifying-glass","href":"/features/search"},{"title":"Case management \u0026 workflow","icon":"table-columns","href":"/features/case-management"},{"title":"Notes \u0026 collaboration","icon":"comments","href":"/features/notes-and-collaboration"},{"title":"Retention \u0026 deletion","icon":"shield-check","href":"/features/retention"},{"title":"Extensibility","icon":"code","href":"/features/extensibility"},{"title":"Administration \u0026 governance","icon":"gear","href":"/features/administration"}]},{"group":"How we use AI","pages":[{"title":"How we use AI","icon":"shield-check","href":"/ai/introduction"},{"title":"Data and privacy","icon":"lock","href":"/ai/data-and-privacy"},{"title":"Infrastructure and models","icon":"microchip","href":"/ai/infrastructure"}]},{"group":"Permissions \u0026 access","pages":[{"title":"Introduction","icon":"shield-halved","href":"/permissions/introduction"},{"title":"Application permissions","icon":"key","href":"/permissions/application-permissions"},{"title":"Managing permissions","icon":"users-gear","href":"/permissions/managing-permissions"},{"title":"Users and user groups","icon":"shield-halved","href":"/permissions/users-and-groups"},{"title":"Single sign-on \u0026 federation","icon":"right-to-bracket","href":"/permissions/single-sign-on"}]},{"group":"Document types \u0026 keywords","pages":[{"title":"Introduction","icon":"sitemap","href":"/configuration/introduction"},{"title":"Document types","icon":"folder-tree","href":"/configuration/document-types"},{"title":"Keyword types","icon":"tags","href":"/configuration/keyword-types"},{"title":"Keyword assignment models","icon":"layer-group","href":"/configuration/keyword-assignment-models"},{"title":"Autofill keyword sets","icon":"wand-magic-sparkles","href":"/configuration/autofill-keyword-sets"},{"title":"Autofill on edit","icon":"arrows-rotate","href":"/configuration/autofill-on-edit"},{"title":"Cascading datasets","icon":"network-wired","href":"/configuration/cascading-datasets"},{"title":"Keyword behaviour on a document type","icon":"sliders","href":"/configuration/keyword-behaviour"},{"title":"Calculated keywords","icon":"calculator","href":"/configuration/calculated-keywords"},{"title":"Document access rights","icon":"user-lock","href":"/configuration/document-access-rights"},{"title":"Security keyword rules","icon":"sliders","href":"/configuration/security-keywords"},{"title":"Mass value editing","icon":"sliders","href":"/configuration/mass-value-editing"},{"title":"External dataset lookups","icon":"sliders","href":"/configuration/external-datasets"}]},{"group":"Client administration","pages":[{"title":"Client defaults and document actions","icon":"gear","href":"/client-administration/defaults-and-actions"},{"title":"Notices, navigation, and maintenance","icon":"gear","href":"/client-administration/notices-and-maintenance"}]},{"group":"Search administration","pages":[{"title":"System searches","icon":"magnifying-glass","href":"/search-administration/system-searches"},{"title":"Search history and auditing","icon":"clock-rotate-left","href":"/search-administration/history-and-auditing"},{"title":"Dynamic folder views","icon":"magnifying-glass","href":"/search-administration/folder-views"}]},{"group":"AI search","pages":[{"title":"AI Search introduction","icon":"magnifying-glass","href":"/ai-search/introduction"},{"title":"LLM reranker and query rewrite","icon":"sparkles","href":"/ai-search/llm-reranker-and-rewrite"},{"title":"AI search index administration","icon":"magnifying-glass","href":"/ai-search/index-administration"}]},{"group":"AI document classification","pages":[{"title":"AI document classification","icon":"wand-magic-sparkles","href":"/document-classification/introduction"},{"title":"How the classification tree runs","icon":"sitemap","href":"/document-classification/how-it-runs"},{"title":"Configuring the classification tree","icon":"sliders","href":"/document-classification/configuring-the-tree"}]},{"group":"AI administration","pages":[{"title":"Structured extraction profiles","icon":"sliders","href":"/ai-administration/extraction-profiles"},{"title":"AI agents and shared settings","icon":"sliders","href":"/ai-administration/agents-and-settings"},{"title":"Admin assistant","icon":"sparkles","href":"/ai-administration/admin-assistant"},{"title":"Approving changes","icon":"circle-check","href":"/ai-administration/approvals"}]},{"group":"Caseflow","pages":[{"title":"Introduction to Caseflow","icon":"table-columns","href":"/caseflow/introduction"},{"title":"Applications, classes, and attributes","icon":"table-columns","href":"/caseflow/applications-and-classes"},{"title":"Build your first Caseflow template","icon":"pen-ruler","href":"/caseflow/first-template"},{"title":"Templates and syntax","icon":"code","href":"/caseflow/templates"},{"title":"Portal templates","icon":"window-restore","href":"/caseflow/portal-templates"},{"title":"State, persistence, and caching","icon":"database","href":"/caseflow/state-and-persistence"},{"title":"Actions and scripting","icon":"bolt","href":"/caseflow/actions-and-scripting"},{"title":"Form components","icon":"input-text","href":"/caseflow/form-components"},{"title":"Data and action components","icon":"table-list","href":"/caseflow/data-components"},{"title":"Lists, saved searches, and search operators","icon":"magnifying-glass","href":"/caseflow/lists-and-search"},{"title":"Administration and best practices","icon":"gear","href":"/caseflow/administration"}]},{"group":"Form documents","pages":[{"title":"Form documents","icon":"file-pen","href":"/forms/introduction"},{"title":"Form templates","icon":"pen-ruler","href":"/forms/templates"},{"title":"Form components","icon":"input-text","href":"/forms/components"},{"title":"Administration","icon":"gear","href":"/forms/administration"}]},{"group":"Script Engine","pages":[{"title":"Script Engine","icon":"code","href":"/scripts/introduction"},{"title":"Authoring and publishing scripts","icon":"code","href":"/scripts/authoring-and-publishing"},{"title":"Script examples you can adapt","icon":"flask","href":"/scripts/examples"},{"title":"Bindings and event hooks","icon":"code","href":"/scripts/bindings-and-events"},{"title":"Variables, secrets and troubleshooting","icon":"code","href":"/scripts/secrets-and-troubleshooting"}]},{"group":"Workflows","pages":[{"title":"Introduction to Workflows","icon":"diagram-project","href":"/workflows/introduction"},{"title":"Configure a contract review workflow","icon":"route","href":"/workflows/first-workflow"},{"title":"Building workflows in the designer","icon":"pen-ruler","href":"/workflows/designer"},{"title":"Action reference","icon":"bolt","href":"/workflows/actions"},{"title":"References \u0026 expressions","icon":"code","href":"/workflows/expressions"},{"title":"Task access and validation","icon":"list-check","href":"/workflows/tasks"},{"title":"Schedules and batch workflows","icon":"diagram-project","href":"/workflows/schedules-and-batches"},{"title":"Monitoring \u0026 administration","icon":"chart-line","href":"/workflows/monitoring"},{"title":"Interaction rules","icon":"circle-question","href":"/workflows/interaction-rules"},{"title":"Ask before creating a case object","icon":"route","href":"/workflows/interaction-rules-example"},{"title":"Confirm, run a background script, show the result","icon":"route","href":"/workflows/document-action-example"},{"title":"Workflow trigger or script hook","icon":"code-branch","href":"/workflows/choosing-automation"}]},{"group":"ContentFlow","pages":[{"title":"ContentFlow","icon":"arrows-spin","href":"/contentflow/introduction"},{"title":"Access and permissions","icon":"shield-halved","href":"/contentflow/access"},{"title":"Incoming items","icon":"inbox","href":"/contentflow/incoming-items"},{"title":"Document mappings","icon":"arrows-left-right","href":"/contentflow/document-mappings"},{"title":"Try, check and publish a mapping","icon":"flask","href":"/contentflow/testing-and-publishing-mappings"},{"title":"Building workflows","icon":"diagram-project","href":"/contentflow/design-and-publishing"},{"title":"Step reference","icon":"list","href":"/contentflow/steps"},{"title":"Testing workflows","icon":"vial","href":"/contentflow/testing-workflows"},{"title":"Variables and tools","description":"Keep shared values and secrets in global variables, try expressions in the expression tester, call other systems from a script, and adjust system-wide settings.","icon":"sliders","href":"/contentflow/variables-and-tools"},{"title":"States and recovery","icon":"list-check","href":"/contentflow/states-and-recovery"},{"title":"Authoring with an AI assistant","description":"Let an AI assistant read and draft ContentFlow workflows and document mappings, check them against Nobly Insight, and investigate runs, with your own ContentFlow permissions.","icon":"robot","href":"/contentflow/ai-assistant"}]},{"group":"Integrations","pages":[{"title":"API clients and service accounts","icon":"plug","href":"/integrations/api-clients"},{"title":"Integration contracts","icon":"plug","href":"/integrations/contracts"},{"title":"Pending uploads queue","icon":"inbox","href":"/integrations/pending-uploads"}]},{"group":"Mailbox importer","pages":[{"title":"Configure a Microsoft 365 mailbox","icon":"envelope","href":"/mailbox-importer/setup"},{"title":"Archive rules and keyword mappings","icon":"envelopes-bulk","href":"/mailbox-importer/archive-rules"},{"title":"Route imported mail into workflows","icon":"route","href":"/mailbox-importer/workflows"},{"title":"Operate and troubleshoot mail imports","icon":"list-check","href":"/mailbox-importer/operations"}]},{"group":"AI assistant access","pages":[{"title":"Introduction to AI assistant access","icon":"robot","href":"/mcp/introduction"},{"title":"Granting access","icon":"key","href":"/mcp/granting-access"},{"title":"Connecting an assistant","icon":"plug","href":"/mcp/connecting-an-assistant"}]},{"group":"Reporting","pages":[{"title":"Introduction to Reporting","icon":"chart-line","href":"/reporting/introduction"},{"title":"Setup \u0026 requirements","icon":"sliders","href":"/reporting/setup"},{"title":"Data sources","icon":"database","href":"/reporting/data-sources"},{"title":"Building dashboards","icon":"pen-ruler","href":"/reporting/building-dashboards"},{"title":"Viewing dashboards","icon":"chart-mixed","href":"/reporting/viewing-dashboards"}]},{"group":"Retention \u0026 deletion","pages":[{"title":"Introduction","icon":"shield-check","href":"/retention/introduction"},{"title":"Policies \u0026 simulation","icon":"scroll","href":"/retention/policies"},{"title":"Approvals, holds \u0026 quarantine","icon":"gavel","href":"/retention/approvals-holds-quarantine"},{"title":"Scheduling \u0026 access","icon":"clock","href":"/retention/scheduling-and-access"},{"title":"Setup \u0026 troubleshooting","icon":"list-check","href":"/retention/setup"}]},{"group":"Configuration promotion","pages":[{"title":"Configuration promotion","icon":"right-left","href":"/configuration-promotion/introduction"},{"title":"Promote configuration","icon":"file-export","href":"/configuration-promotion/promoting-configuration"},{"title":"Group mappings and kept differences","icon":"users-gear","href":"/configuration-promotion/rules-and-differences"},{"title":"History and environment status","icon":"clock-rotate-left","href":"/configuration-promotion/history-and-status"}]},{"group":"Release notes","pages":[{"title":"Release notes","icon":"sparkles","href":"/release-notes/changelog"}]}]},{"tab":"How-tos","icon":"list-check","pages":[{"title":"How-tos","href":"/how-tos/introduction"}]}]},"title":"States and recovery - Nobly Insight","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-CIbhtp2j.js","DynamicMarkdown-CtpgKJwj.js","zoom-image-lightbox-CVZVK4hN.js","lightbox-handle-r17bVUz3.js"]}