1import{j as e}from"./index-D8ohhcv_.js";function r(s){const n={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...s.components};return e.jsxs(e.Fragment,{children:[e.jsx(n.h1,{id:"view-and-manage-csv-imports",children:e.jsx(n.a,{className:"heading-anchor",href:"#view-and-manage-csv-imports",children:"View and manage CSV imports"})}),` 2`,e.jsxs(n.p,{children:["Every CSV import â draft, running, completed, rolled back â is listed in ",e.jsx(n.strong,{children:"Settings â Imports"}),". From there you can download results, rerun, or undo a run."]}),` 3`,e.jsx(n.h2,{id:"the-imports-list",children:e.jsx(n.a,{className:"heading-anchor",href:"#the-imports-list",children:"The imports list"})}),` 4`,e.jsx(n.p,{children:"Each row shows:"}),` 5`,e.jsxs(n.ul,{children:[` 6`,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"File name"})," and destination (object or list)."]}),` 7`,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"Status"}),": ",e.jsx(n.code,{children:"Draft"}),", ",e.jsx(n.code,{children:"Running"}),", ",e.jsx(n.code,{children:"Completed"}),", ",e.jsx(n.code,{children:"Completed with errors"}),", ",e.jsx(n.code,{children:"Rolled back"}),", ",e.jsx(n.code,{children:"Failed"}),"."]}),` 8`,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"Summary"}),": records created, updated, skipped, errored."]}),` 9`,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"Started by"})," and start time."]}),` 10`]}),` 11`,e.jsx(n.p,{children:"Filter by destination or by person to find a specific run."}),` 12`,e.jsx(n.h2,{id:"what-each-status-means",children:e.jsx(n.a,{className:"heading-anchor",href:"#what-each-status-means",children:"What each status means"})}),` 13`,e.jsxs(n.ul,{children:[` 14`,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"Draft"})," â you started an import but haven't finished the seven-step flow. Open it to resume; drafts older than seven days are cleaned up automatically."]}),` 15`,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"Running"})," â batches are being written. You can close the tab; processing continues server-side."]}),` 16`,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"Completed"})," â every row was written successfully."]}),` 17`,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"Completed with errors"})," â the run finished, but some rows were skipped or errored. Open the run for the per-row breakdown."]}),` 18`,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"Rolled back"})," â someone reversed the run. The records look like the import never happened, but the history entry remains for audit."]}),` 19`,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"Failed"})," â an internal error stopped the run before it finished. Nothing past the last successful batch was committed."]}),` 20`]}),` 21`,e.jsx(n.h2,{id:"inspect-a-completed-run",children:e.jsx(n.a,{className:"heading-anchor",href:"#inspect-a-completed-run",children:"Inspect a completed run"})}),` 22`,e.jsx(n.p,{children:"Click any run to see:"}),` 23`,e.jsxs(n.ul,{children:[` 24`,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"Per-row status"}),": each source row labelled ",e.jsx(n.code,{children:"created"}),", ",e.jsx(n.code,{children:"updated"}),", ",e.jsx(n.code,{children:"skipped"}),", or ",e.jsx(n.code,{children:"error"}),", with the reason."]}),` 25`,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"Download processed CSV"}),": the original file plus ",e.jsx(n.code,{children:"_status"})," and ",e.jsx(n.code,{children:"_message"})," columns."]}),` 26`,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"Diff of updates"}),": for each updated record, which attributes changed and from what to what."]}),` 27`]}),` 28`,e.jsx(n.p,{children:"This is the fastest way to learn why rows didn't come in as expected â fix in the source, re-run only the failing rows."}),` 29`,e.jsx(n.h2,{id:"rolling-back",children:e.jsx(n.a,{className:"heading-anchor",href:"#rolling-back",children:"Rolling back"})}),` 30`,e.jsxs(n.p,{children:["From a completed run, click ",e.jsx(n.strong,{children:"Roll back"}),". Knot:"]}),` 31`,e.jsxs(n.ul,{children:[` 32`,e.jsx(n.li,{children:"Deletes records it created as part of the run."}),` 33`,e.jsx(n.li,{children:"Reverts attribute values on records it updated to whatever they were just before the run."}),` 34`,e.jsx(n.li,{children:"Removes select options it auto-created at mapping time that aren't used elsewhere."}),` 35`]}),` 36`,e.jsx(n.p,{children:"Roll back isn't available for runs older than 30 days or for runs where other writes have since touched the same records in conflicting ways. In those cases you'll see a warning and a list of affected records so you can roll back the rest and handle the edge cases manually."}),` 37`,e.jsx(n.h2,{id:"see-also",children:e.jsx(n.a,{className:"heading-anchor",href:"#see-also",children:"See also"})}),` 38`,e.jsxs(n.ul,{children:[` 39`,e.jsxs(n.li,{children:[e.jsx(n.a,{href:"/help/reference/imports-exports/csv-imports/import-data-into-knot-via-csv",children:"Import data into Knot via CSV"})," for the import flow."]}),` 40`,e.jsxs(n.li,{children:[e.jsx(n.a,{href:"/help/reference/imports-exports/csv-imports/troubleshooting-csv-imports",children:"Troubleshooting CSV imports"})," for fixes to common errors."]}),` 41`]})]})}function i(s={}){const{wrapper:n}=s.components||{};return n?e.jsx(n,{...s,children:e.jsx(r,{...s})}):r(s)}export{i as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.