Add AI columns to a worksheet that classify themes and root causes, score records or extract evidence. Each row’s answer uses its full conversation transcript, found through the worksheet’s ticket_sid column or the column whose kind is external_gradable_reference, plus any contextColumnIds values; a worksheet with neither reference is judged on its own columns instead. Results persist as columns that can be filtered and aggregated.
Only rows already on the worksheet are processed; rows that load after the job starts are not enriched. All columns requested together are filled in a single LLM call per row.
The job runs in the background and this returns its jobId at once; get_enrich_status with the worksheetId and jobId reports progress and completion. columns pairs each new column’s display name with its id, and queries take the id.
Model id; omitted uses the server default. Choose another supported model when the task calls for it. Ids are tenant-specific, and unknown ones are rejected.
True turns a worksheet with no pipeline columns into a reusable pipeline on this enrichment; unset runs a plain one-off job.
Response
200
Tool result.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Rippit","description":"Rippit product documentation","colors":{"primary":"#079669","light":"#56b98f","dark":"#008156"},"logo":{"light":"https://mintcdn.com/rippit-ddefb232/uzkTtzpXlUcSK32Q/logo/light.svg?fit=max\u0026auto=format\u0026n=uzkTtzpXlUcSK32Q\u0026q=85\u0026s=8950a1dcb68093d7ac8370f0f847f209","dark":"https://mintcdn.com/rippit-ddefb232/za2WGhSTe9ZLSBxZ/logo/dark.svg?fit=max\u0026auto=format\u0026n=za2WGhSTe9ZLSBxZ\u0026q=85\u0026s=8d626999b237e3103f24ffd34727bbd0"},"favicon":"https://mintcdn.com/rippit-ddefb232/uzkTtzpXlUcSK32Q/favicon.svg?fit=max\u0026auto=format\u0026n=uzkTtzpXlUcSK32Q\u0026q=85\u0026s=18b85aa33156e5e27477e6f3bc3a4242","navbar":{"links":[{"href":"https://status.rippit.com","label":"Status"}],"primary":{"type":"button","label":"Open Rippit","href":"https://app.rippit.com"}},"footer":{"socials":{}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"rippit-ddefb232","hasAudioNarration":false,"actualSubdomain":"rippit-ddefb232","customDomains":["docs.rippit.com"],"gitSource":{"type":"github","owner":"adtribute","repo":"analytics","deployBranch":"master","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af12f972c3c90c870ace2bf","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"Guides","count":89},{"language":"default","tag":"Connect your Data","count":44},{"language":"default","tag":"API reference","count":44},{"language":"default","tag":"MCP servers","count":29},{"language":"default","tag":"MCP Server details","count":27},{"language":"default","tag":"Connect data","count":27},{"language":"default","tag":"Connect your AI Agent","count":21},{"language":"default","tag":"AI Agent Details","count":17},{"language":"default","tag":"Data integrations","count":15},{"language":"default","tag":"Bulk API","count":14}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"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":"rbac-expansion","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":"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":"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":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#pagination{display:none}"}],"page":{"pagePath":"api-reference/enrich_worksheet","slug":"/api-reference/enrich_worksheet","pageMetadata":{"title":"enrich_worksheet","description":"**Analyze with AI**\n\nAdd AI columns to a worksheet that classify themes and root causes, score records or extract evidence. Each row's answer uses its full conversation transcript, found through the worksheet's `ticket_sid` column or the column whose kind is `external_gradable_reference`, plus any `contextColumnIds` values; a worksheet with neither reference is judged on its own columns instead. Results persist as columns that can be filtered and aggregated.\n\nOnly rows already on the worksheet are processed; rows that load after the job starts are not enriched. All columns requested together are filled in a single LLM call per row.\n\nThe job runs in the background and this returns its `jobId` at once; get_enrich_status with the worksheetId and jobId reports progress and completion. `columns` pairs each new column's display name with its `id`, and queries take the `id`.","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/enrich_worksheet","href":"/api-reference/enrich_worksheet","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Analyze with AI\"\n })\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Add AI columns to a worksheet that classify themes and root causes, score records or extract evidence. Each row’s answer uses its full conversation transcript, found through the worksheet’s \", _jsx(_components.code, {\n children: \"ticket_sid\"\n }), \" column or the column whose kind is \", _jsx(_components.code, {\n children: \"external_gradable_reference\"\n }), \", plus any \", _jsx(_components.code, {\n children: \"contextColumnIds\"\n }), \" values; a worksheet with neither reference is judged on its own columns instead. Results persist as columns that can be filtered and aggregated.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Only rows already on the worksheet are processed; rows that load after the job starts are not enriched. All columns requested together are filled in a single LLM call per row.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The job runs in the background and this returns its \", _jsx(_components.code, {\n children: \"jobId\"\n }), \" at once; get_enrich_status with the worksheetId and jobId reports progress and completion. \", _jsx(_components.code, {\n children: \"columns\"\n }), \" pairs each new column’s display name with its \", _jsx(_components.code, {\n children: \"id\"\n }), \", and queries take the \", _jsx(_components.code, {\n children: \"id\"\n }), \".\"]\n })]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"enrich_worksheet","description":"**Analyze with AI**\n\nAdd AI columns to a worksheet that classify themes and root causes, score records or extract evidence. Each row's answer uses its full conversation transcript, found through the worksheet's `ticket_sid` column or the column whose kind is `external_gradable_reference`, plus any `contextColumnIds` values; a worksheet with neither reference is judged on its own columns instead. Results persist as columns that can be filtered and aggregated.\n\nOnly rows already on the worksheet are processed; rows that load after the job starts are not enriched. All columns requested together are filled in a single LLM call per row.\n\nThe job runs in the background and this returns its `jobId` at once; get_enrich_status with the worksheetId and jobId reports progress and completion. `columns` pairs each new column's display name with its `id`, and queries take the `id`.","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/enrich_worksheet","href":"/api-reference/enrich_worksheet","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"enrich_worksheet","summary":"enrich_worksheet","description":"**Analyze with AI**\n\nAdd AI columns to a worksheet that classify themes and root causes, score records or extract evidence. Each row's answer uses its full conversation transcript, found through the worksheet's `ticket_sid` column or the column whose kind is `external_gradable_reference`, plus any `contextColumnIds` values; a worksheet with neither reference is judged on its own columns instead. Results persist as columns that can be filtered and aggregated.\n\nOnly rows already on the worksheet are processed; rows that load after the job starts are not enriched. All columns requested together are filled in a single LLM call per row.\n\nThe job runs in the background and this returns its `jobId` at once; get_enrich_status with the worksheetId and jobId reports progress and completion. `columns` pairs each new column's display name with its `id`, and queries take the `id`.","requestBody":"6984df5e-ea5e-4a7d-afbd-54cef83885f4","responses":{"200":"854d19ab-abab-49bf-8be7-bcdfb50b8919"},"x-mint":{"metadata":{"playground":"none"}},"method":"post","type":"path","servers":["adeb82bd-a22a-4c6a-98ee-f48b86a1e79d"],"security":["44493fb5-0be1-4fe2-8ec1-c85fcb9b4491"],"path":"/v1/enrich_worksheet","baseUrlOptions":["https://api.rippit.com"],"title":"enrich_worksheet","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"worksheetId":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9_-]+$","description":"Worksheet to add the columns to.","isRequired":true,"uniqueKey":"worksheetId","typeLabel":"string"},"enrichments":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120,"description":"New column display name, unique within the call ignoring case and treating spaces as underscores.","isRequired":true,"uniqueKey":"enrichments.items.[INDEX].name","typeLabel":"string"},"instructions":{"type":"string","minLength":1,"maxLength":10000,"description":"Per-row task for the model. With `overrides`, the default for rows no override matches.","isRequired":true,"uniqueKey":"enrichments.items.[INDEX].instructions","typeLabel":"string"},"outputType":{"oneOf":[{"type":"object","description":"Result type; `enum` values are stored as text labels. With `overrides`, the default-case type.","required":["type"],"properties":{"type":{"type":"string","enum":["string","array(string)","integer","array(integer)","float","boolean"],"isRequired":true,"uniqueKey":"enrichments.items.[INDEX].outputType.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"enrichments.items.[INDEX].outputType.oneOf.0","typeLabel":"object"},{"type":"object","description":"Result type; `enum` values are stored as text labels. With `overrides`, the default-case type.","required":["type","values"],"properties":{"type":{"type":"string","const":"enum","isRequired":true,"uniqueKey":"enrichments.items.[INDEX].outputType.oneOf.1.type","typeLabel":"string"},"values":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"enrichments.items.[INDEX].outputType.oneOf.1.values.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Allowed labels; rows the model cannot judge are forced into one unless a catch-all such as \"unknown\" is listed.","minItems":2,"isRequired":true,"uniqueKey":"enrichments.items.[INDEX].outputType.oneOf.1.values.oneOf.0","typeLabel":"string[]"},{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"enrichments.items.[INDEX].outputType.oneOf.1.values.oneOf.1.items.[INDEX]","typeLabel":"integer"},"description":"Allowed labels; rows the model cannot judge are forced into one unless a catch-all such as \"unknown\" is listed.","minItems":2,"isRequired":true,"uniqueKey":"enrichments.items.[INDEX].outputType.oneOf.1.values.oneOf.1","typeLabel":"integer[]"}],"isRequired":true,"uniqueKey":"enrichments.items.[INDEX].outputType.oneOf.1.values","typeLabel":"string[] | integer[]"},"multi":{"type":"boolean","uniqueKey":"enrichments.items.[INDEX].outputType.oneOf.1.multi","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"enrichments.items.[INDEX].outputType.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"enrichments.items.[INDEX].outputType","typeLabel":"object"},"overrideCaseColumnId":{"description":"Existing pipeline-born column whose row value selects the override; required with `overrides`. Every column in one call that uses overrides must branch on the same column.","type":"string","uniqueKey":"enrichments.items.[INDEX].overrideCaseColumnId","typeLabel":"string"},"overrides":{"description":"Per-value instructions, one entry per overrideCaseColumnId value; rows matching no entry use the column-level instructions and outputType.","minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"case":{"type":"string","minLength":1,"description":"The overrideCaseColumnId row value this entry applies to: an enum column's label text, or a bucketed column's `opt_*` id.","isRequired":true,"uniqueKey":"enrichments.items.[INDEX].overrides.items.[INDEX].case","typeLabel":"string"},"instructions":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for rows whose overrideCaseColumnId matches `case`.","isRequired":true,"uniqueKey":"enrichments.items.[INDEX].overrides.items.[INDEX].instructions","typeLabel":"string"},"outputType":{"oneOf":[{"type":"object","description":"This branch's output type; omitted reuses the column's. It must keep the default's underlying data type (string enums and plain strings mix).","required":["type"],"properties":{"type":{"type":"string","enum":["string","array(string)","integer","array(integer)","float","boolean"],"isRequired":true,"uniqueKey":"enrichments.items.[INDEX].overrides.items.[INDEX].outputType.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"enrichments.items.[INDEX].overrides.items.[INDEX].outputType.oneOf.0","typeLabel":"object"},{"type":"object","description":"This branch's output type; omitted reuses the column's. It must keep the default's underlying data type (string enums and plain strings mix).","required":["type","values"],"properties":{"type":{"type":"string","const":"enum","isRequired":true,"uniqueKey":"enrichments.items.[INDEX].overrides.items.[INDEX].outputType.oneOf.1.type","typeLabel":"string"},"values":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"enrichments.items.[INDEX].overrides.items.[INDEX].outputType.oneOf.1.values.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Allowed labels; rows the model cannot judge are forced into one unless a catch-all such as \"unknown\" is listed.","minItems":2,"isRequired":true,"uniqueKey":"enrichments.items.[INDEX].overrides.items.[INDEX].outputType.oneOf.1.values.oneOf.0","typeLabel":"string[]"},{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"enrichments.items.[INDEX].overrides.items.[INDEX].outputType.oneOf.1.values.oneOf.1.items.[INDEX]","typeLabel":"integer"},"description":"Allowed labels; rows the model cannot judge are forced into one unless a catch-all such as \"unknown\" is listed.","minItems":2,"isRequired":true,"uniqueKey":"enrichments.items.[INDEX].overrides.items.[INDEX].outputType.oneOf.1.values.oneOf.1","typeLabel":"integer[]"}],"isRequired":true,"uniqueKey":"enrichments.items.[INDEX].overrides.items.[INDEX].outputType.oneOf.1.values","typeLabel":"string[] | integer[]"},"multi":{"type":"boolean","uniqueKey":"enrichments.items.[INDEX].overrides.items.[INDEX].outputType.oneOf.1.multi","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"enrichments.items.[INDEX].overrides.items.[INDEX].outputType.oneOf.1","typeLabel":"object"}],"uniqueKey":"enrichments.items.[INDEX].overrides.items.[INDEX].outputType","typeLabel":"object"}},"required":["case","instructions"],"additionalProperties":false,"uniqueKey":"enrichments.items.[INDEX].overrides.items.[INDEX]","typeLabel":"object"},"uniqueKey":"enrichments.items.[INDEX].overrides","typeLabel":"object[]"}},"required":["name","instructions","outputType"],"additionalProperties":false,"uniqueKey":"enrichments.items.[INDEX]","typeLabel":"object"},"description":"Columns to create and fill.","isRequired":true,"uniqueKey":"enrichments","typeLabel":"object[]"},"contextColumnIds":{"description":"Existing column ids whose per-row values the model reads alongside the conversation.","type":"array","items":{"type":"string","uniqueKey":"contextColumnIds.items.[INDEX]","typeLabel":"string"},"uniqueKey":"contextColumnIds","typeLabel":"string[]"},"where":{"description":"Enrich only rows matching these filters.","maxItems":20,"type":"array","items":{"oneOf":[{"type":"object","required":["columnId","operator"],"properties":{"columnId":{"type":"string","minLength":1,"description":"Column id, not its label.","isRequired":true,"uniqueKey":"where.items.[INDEX].oneOf.0.columnId","typeLabel":"string"},"operator":{"type":"string","enum":["=","!=",">","\u003c",">=","\u003c=","IN","NOT IN","LIKE","CONTAINS_ALL","ANY","ALL","NONE","NOT_EMPTY","EMPTY","IS","IS NOT"],"description":"IN/NOT IN match exact values or array elements; CONTAINS_ALL needs all. ANY/ALL/NONE: case-insensitive substring matches, never for id columns (they over-match).","isRequired":true,"uniqueKey":"where.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","description":"Array for multi-value operators (ANY/ALL/NONE: at most 250 strings). singleSelect and bucketed columns store option ids (opt_*): filter by id; a label matches no rows. describe_column with `search` resolves a label to its id.","uniqueKey":"where.items.[INDEX].oneOf.0.value.oneOf.0","typeLabel":"string"},{"type":"number","description":"Array for multi-value operators (ANY/ALL/NONE: at most 250 strings). singleSelect and bucketed columns store option ids (opt_*): filter by id; a label matches no rows. describe_column with `search` resolves a label to its id.","uniqueKey":"where.items.[INDEX].oneOf.0.value.oneOf.1","typeLabel":"number"},{"type":"boolean","description":"Array for multi-value operators (ANY/ALL/NONE: at most 250 strings). singleSelect and bucketed columns store option ids (opt_*): filter by id; a label matches no rows. describe_column with `search` resolves a label to its id.","uniqueKey":"where.items.[INDEX].oneOf.0.value.oneOf.2","typeLabel":"boolean"},{"type":"null","description":"Array for multi-value operators (ANY/ALL/NONE: at most 250 strings). singleSelect and bucketed columns store option ids (opt_*): filter by id; a label matches no rows. describe_column with `search` resolves a label to its id.","uniqueKey":"where.items.[INDEX].oneOf.0.value.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"where.items.[INDEX].oneOf.0.value.oneOf.4.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"where.items.[INDEX].oneOf.0.value.oneOf.4.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"where.items.[INDEX].oneOf.0.value.oneOf.4.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"where.items.[INDEX].oneOf.0.value.oneOf.4.items.[INDEX].oneOf.3","typeLabel":"null"}],"uniqueKey":"where.items.[INDEX].oneOf.0.value.oneOf.4.items.[INDEX]","typeLabel":"string | number | boolean | null"},"description":"Array for multi-value operators (ANY/ALL/NONE: at most 250 strings). singleSelect and bucketed columns store option ids (opt_*): filter by id; a label matches no rows. describe_column with `search` resolves a label to its id.","uniqueKey":"where.items.[INDEX].oneOf.0.value.oneOf.4","typeLabel":"(string | number | boolean | null)[]"}],"uniqueKey":"where.items.[INDEX].oneOf.0.value","typeLabel":"string | number | boolean | null | (string | number | boolean | null)[]"}},"additionalProperties":false,"uniqueKey":"where.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["columnId","operator","date_from","date_to"],"properties":{"columnId":{"type":"string","minLength":1,"description":"Column id, not its label.","isRequired":true,"uniqueKey":"where.items.[INDEX].oneOf.1.columnId","typeLabel":"string"},"operator":{"type":"string","const":"BETWEEN","isRequired":true,"uniqueKey":"where.items.[INDEX].oneOf.1.operator","typeLabel":"string"},"date_from":{"type":"string","description":"Inclusive. Plain dates cover whole days, and times without an offset are clock times, in the reported timezone or UTC.","isRequired":true,"uniqueKey":"where.items.[INDEX].oneOf.1.date_from","typeLabel":"string"},"date_to":{"type":"string","description":"Inclusive; a plain date covers that whole day.","isRequired":true,"uniqueKey":"where.items.[INDEX].oneOf.1.date_to","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"where.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["columnId","period"],"properties":{"columnId":{"type":"string","minLength":1,"description":"Column id, not its label.","isRequired":true,"uniqueKey":"where.items.[INDEX].oneOf.2.columnId","typeLabel":"string"},"period":{"type":"object","properties":{"n":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Signed units; negative values reach into the past.","isRequired":true,"uniqueKey":"where.items.[INDEX].oneOf.2.period.n","typeLabel":"integer"},"unit":{"type":"string","enum":["hours","days","weeks","months","years"],"isRequired":true,"uniqueKey":"where.items.[INDEX].oneOf.2.period.unit","typeLabel":"enum\u003cstring>"}},"required":["n","unit"],"additionalProperties":false,"description":"Whole days in the read timezone, including today: { n: -7, unit: \"days\" } keeps today and the six prior days. Months/years follow the calendar; hours are exact. Reads re-resolve; worksheets keep a snapshot.","isRequired":true,"uniqueKey":"where.items.[INDEX].oneOf.2.period","typeLabel":"object"},"offset":{"description":"Shifts the anchor before period applies; { n: -1, unit: \"weeks\" } moves it one week into the past.","type":"object","properties":{"n":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Signed units; negative values reach into the past.","isRequired":true,"uniqueKey":"where.items.[INDEX].oneOf.2.offset.n","typeLabel":"integer"},"unit":{"type":"string","enum":["hours","days","weeks","months","years"],"isRequired":true,"uniqueKey":"where.items.[INDEX].oneOf.2.offset.unit","typeLabel":"enum\u003cstring>"}},"required":["n","unit"],"additionalProperties":false,"uniqueKey":"where.items.[INDEX].oneOf.2.offset","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"where.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["or_filters"],"properties":{"or_filters":{"minItems":1,"type":"array","items":{"minItems":1,"type":"array","items":{"$circularRef":"54710356-e4ee-4a28-9cb0-32a42892569c"},"uniqueKey":"where.items.[INDEX].oneOf.3.or_filters.items.[INDEX]","typeLabel":"array"},"description":"ORs branches of ANDed items.","isRequired":true,"uniqueKey":"where.items.[INDEX].oneOf.3.or_filters","typeLabel":"array[]"}},"additionalProperties":false,"uniqueKey":"where.items.[INDEX].oneOf.3","typeLabel":"object"}],"uniqueKey":"where.items.[INDEX]","typeLabel":"object"},"uniqueKey":"where","typeLabel":"object[]"},"sampleRows":{"description":"Enrich only a uniform random sample of this many rows, drawn after `where` and fresh on each run.","type":"integer","minimum":1,"maximum":10000,"uniqueKey":"sampleRows","typeLabel":"integer"},"model":{"description":"Model id; omitted uses the server default. Choose another supported model when the task calls for it. Ids are tenant-specific, and unknown ones are rejected.","type":"string","minLength":1,"uniqueKey":"model","typeLabel":"string"},"createScaffoldIfMissing":{"description":"True turns a worksheet with no pipeline columns into a reusable pipeline on this enrichment; unset runs a plain one-off job.","type":"boolean","uniqueKey":"createScaffoldIfMissing","typeLabel":"boolean"}},"required":["worksheetId","enrichments"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"worksheetId":"\u003cstring>","enrichments":[{"name":"\u003cstring>","instructions":"\u003cstring>","outputType":{},"overrideCaseColumnId":"\u003cstring>","overrides":[{"case":"\u003cstring>","instructions":"\u003cstring>","outputType":{}}]}],"contextColumnIds":["\u003cstring>"],"where":[{"columnId":"\u003cstring>","value":"\u003cstring>"}],"sampleRows":5000,"model":"\u003cstring>","createScaffoldIfMissing":true}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"854d19ab-abab-49bf-8be7-bcdfb50b8919":{"description":"Tool result.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"44493fb5-0be1-4fe2-8ec1-c85fcb9b4491":{"bearer":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearer"}}},"servers":{"adeb82bd-a22a-4c6a-98ee-f48b86a1e79d":{"url":"https://api.rippit.com"}},"schemas":{"54710356-e4ee-4a28-9cb0-32a42892569c":{"oneOf":[{"type":"object","required":["columnId","operator"],"properties":{"columnId":{"type":"string","minLength":1,"description":"Column id, not its label.","isRequired":true},"operator":{"type":"string","enum":["=","!=",">","\u003c",">=","\u003c=","IN","NOT IN","LIKE","CONTAINS_ALL","ANY","ALL","NONE","NOT_EMPTY","EMPTY","IS","IS NOT"],"description":"IN/NOT IN match exact values or array elements; CONTAINS_ALL needs all. ANY/ALL/NONE: case-insensitive substring matches, never for id columns (they over-match).","isRequired":true},"value":{"oneOf":[{"type":"string","description":"Array for multi-value operators (ANY/ALL/NONE: at most 250 strings). singleSelect and bucketed columns store option ids (opt_*): filter by id; a label matches no rows. describe_column with `search` resolves a label to its id."},{"type":"number","description":"Array for multi-value operators (ANY/ALL/NONE: at most 250 strings). singleSelect and bucketed columns store option ids (opt_*): filter by id; a label matches no rows. describe_column with `search` resolves a label to its id."},{"type":"boolean","description":"Array for multi-value operators (ANY/ALL/NONE: at most 250 strings). singleSelect and bucketed columns store option ids (opt_*): filter by id; a label matches no rows. describe_column with `search` resolves a label to its id."},{"type":"null","description":"Array for multi-value operators (ANY/ALL/NONE: at most 250 strings). singleSelect and bucketed columns store option ids (opt_*): filter by id; a label matches no rows. describe_column with `search` resolves a label to its id."},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"description":"Array for multi-value operators (ANY/ALL/NONE: at most 250 strings). singleSelect and bucketed columns store option ids (opt_*): filter by id; a label matches no rows. describe_column with `search` resolves a label to its id."}]}},"additionalProperties":false},{"type":"object","required":["columnId","operator","date_from","date_to"],"properties":{"columnId":{"type":"string","minLength":1,"description":"Column id, not its label.","isRequired":true},"operator":{"type":"string","const":"BETWEEN","isRequired":true},"date_from":{"type":"string","description":"Inclusive. Plain dates cover whole days, and times without an offset are clock times, in the reported timezone or UTC.","isRequired":true},"date_to":{"type":"string","description":"Inclusive; a plain date covers that whole day.","isRequired":true}},"additionalProperties":false},{"type":"object","required":["columnId","period"],"properties":{"columnId":{"type":"string","minLength":1,"description":"Column id, not its label.","isRequired":true},"period":{"type":"object","properties":{"n":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Signed units; negative values reach into the past.","isRequired":true},"unit":{"type":"string","enum":["hours","days","weeks","months","years"],"isRequired":true}},"required":["n","unit"],"additionalProperties":false,"description":"Whole days in the read timezone, including today: { n: -7, unit: \"days\" } keeps today and the six prior days. Months/years follow the calendar; hours are exact. Reads re-resolve; worksheets keep a snapshot.","isRequired":true},"offset":{"description":"Shifts the anchor before period applies; { n: -1, unit: \"weeks\" } moves it one week into the past.","type":"object","properties":{"n":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Signed units; negative values reach into the past.","isRequired":true},"unit":{"type":"string","enum":["hours","days","weeks","months","years"],"isRequired":true}},"required":["n","unit"],"additionalProperties":false}},"additionalProperties":false},{"type":"object","required":["or_filters"],"properties":{"or_filters":{"minItems":1,"type":"array","items":{"minItems":1,"type":"array","items":{"$circularRef":"54710356-e4ee-4a28-9cb0-32a42892569c"}},"description":"ORs branches of ANDed items.","isRequired":true}},"additionalProperties":false}]}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer","name":"Authorization"}],"title":"bearer"}]},"originalFileLocation":"api-reference/tools-openapi.json"},"subdomain":"rippit-ddefb232","siteName":"Rippit","title":"enrich_worksheet - Rippit","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T01:29:32.700Z","originalFileLocation":"api-reference/enrich_worksheet.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=\"Analyze with AI Add AI columns to a worksheet that classify themes and root causes, score records or extract evidence. Each row\u0026#x27;s answer uses its full conversation transcript, found through the worksheet\u0026#x27;s ticket_sid column or the column whose kind is external_gradable_reference, plus any contextColumnIds values; a worksheet with neither reference is judged on its own columns instead. Results persist as columns that can be filtered and aggregated. Only rows already on the worksheet are processed; rows that load after the job starts are not enriched. All columns requested together are filled in a single LLM call per row. The job runs in the background and this returns its jobId at once; get_enrich_status with the worksheetId and jobId reports progress and completion. columns pairs each new column\u0026#x27;s display name with its id, and queries take the id.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Rippit\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/rippit-ddefb232/u1OvlVJ9fpltsljb/_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/rippit-ddefb232/u1OvlVJ9fpltsljb/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/rippit-ddefb232/u1OvlVJ9fpltsljb/_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/rippit-ddefb232/u1OvlVJ9fpltsljb/_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/rippit-ddefb232/u1OvlVJ9fpltsljb/_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/rippit-ddefb232/u1OvlVJ9fpltsljb/_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/rippit-ddefb232/u1OvlVJ9fpltsljb/_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/rippit-ddefb232/u1OvlVJ9fpltsljb/_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/rippit-ddefb232/u1OvlVJ9fpltsljb/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"enrich_worksheet - Rippit\">\u003cmeta data-mint-head property=\"og:description\" content=\"Analyze with AI Add AI columns to a worksheet that classify themes and root causes, score records or extract evidence. Each row\u0026#x27;s answer uses its full conversation transcript, found through the worksheet\u0026#x27;s ticket_sid column or the column whose kind is external_gradable_reference, plus any contextColumnIds values; a worksheet with neither reference is judged on its own columns instead. Results persist as columns that can be filtered and aggregated. Only rows already on the worksheet are processed; rows that load after the job starts are not enriched. All columns requested together are filled in a single LLM call per row. The job runs in the background and this returns its jobId at once; get_enrich_status with the worksheetId and jobId reports progress and completion. columns pairs each new column\u0026#x27;s display name with its id, and queries take the id.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Rippit\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.rippit.com/api-reference/enrich_worksheet\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://rippit-ddefb232.mintlify.site/_mintlify/api/og/v2?division=Worksheets\u0026amp;title=enrich_worksheet\u0026amp;description=**Analyze+with+AI**%0A%0AAdd+AI+columns+to+a+worksheet+that+classify+themes+and+root+causes%2C+score+records+or+extract+evidence.+Each+row%27s+answer+uses+its+full+conv\u0026amp;theme=cc7de14802162a79d7966e1d\u0026amp;signature=128192e02636d25e3ac365e4035e8c273081ffed1951ab80776b78b2dadda701\">\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=\"enrich_worksheet - Rippit\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Analyze with AI Add AI columns to a worksheet that classify themes and root causes, score records or extract evidence. Each row\u0026#x27;s answer uses its full conversation transcript, found through the worksheet\u0026#x27;s ticket_sid column or the column whose kind is external_gradable_reference, plus any contextColumnIds values; a worksheet with neither reference is judged on its own columns instead. Results persist as columns that can be filtered and aggregated. Only rows already on the worksheet are processed; rows that load after the job starts are not enriched. All columns requested together are filled in a single LLM call per row. The job runs in the background and this returns its jobId at once; get_enrich_status with the worksheetId and jobId reports progress and completion. columns pairs each new column\u0026#x27;s display name with its id, and queries take the id.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://rippit-ddefb232.mintlify.site/_mintlify/api/og/v2?division=Worksheets\u0026amp;title=enrich_worksheet\u0026amp;description=**Analyze+with+AI**%0A%0AAdd+AI+columns+to+a+worksheet+that+classify+themes+and+root+causes%2C+score+records+or+extract+evidence.+Each+row%27s+answer+uses+its+full+conv\u0026amp;theme=cc7de14802162a79d7966e1d\u0026amp;signature=128192e02636d25e3ac365e4035e8c273081ffed1951ab80776b78b2dadda701\">\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/rippit-ddefb232/u1OvlVJ9fpltsljb/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Rippit\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#079669\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.rippit.com/api-reference/enrich_worksheet\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/enrich_worksheet.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.rippit.com/#organization\",\"name\":\"Rippit\",\"url\":\"https://docs.rippit.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/rippit-ddefb232/uzkTtzpXlUcSK32Q/logo/light.svg?fit=max\u0026auto=format\u0026n=uzkTtzpXlUcSK32Q\u0026q=85\u0026s=8950a1dcb68093d7ac8370f0f847f209\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.rippit.com#website\",\"name\":\"Rippit\",\"url\":\"https://docs.rippit.com\",\"publisher\":{\"@id\":\"https://docs.rippit.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.rippit.com/api-reference/enrich_worksheet#webpage\",\"url\":\"https://docs.rippit.com/api-reference/enrich_worksheet\",\"name\":\"enrich_worksheet\",\"description\":\"Analyze with AI Add AI columns to a worksheet that classify themes and root causes, score records or extract evidence. Each row's answer uses its full conversation transcript, found through the worksheet's ticket_sid column or the column whose kind is external_gradable_reference, plus any contextColumnIds values; a worksheet with neither reference is judged on its own columns instead. Results persist as columns that can be filtered and aggregated. Only rows already on the worksheet are processed; rows that load after the job starts are not enriched. All columns requested together are filled in a single LLM call per row. The job runs in the background and this returns its jobId at once; get_enrich_status with the worksheetId and jobId reports progress and completion. columns pairs each new column's display name with its id, and queries take the id.\",\"dateModified\":\"2026-11-09T01:29:32.700Z\",\"isPartOf\":{\"@id\":\"https://docs.rippit.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.rippit.com/api-reference/enrich_worksheet#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.rippit.com/api-reference/enrich_worksheet#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Analyze data\",\"item\":\"https://docs.rippit.com/api-reference/query/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Worksheets\",\"item\":\"https://docs.rippit.com/api-reference/worksheets/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"enrich_worksheet\",\"item\":\"https://docs.rippit.com/api-reference/enrich_worksheet\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.rippit.com/api-reference/enrich_worksheet#apireference\",\"headline\":\"enrich_worksheet\",\"name\":\"enrich_worksheet\",\"description\":\"Analyze with AI Add AI columns to a worksheet that classify themes and root causes, score records or extract evidence. Each row's answer uses its full conversation transcript, found through the worksheet's ticket_sid column or the column whose kind is external_gradable_reference, plus any contextColumnIds values; a worksheet with neither reference is judged on its own columns instead. Results persist as columns that can be filtered and aggregated. Only rows already on the worksheet are processed; rows that load after the job starts are not enriched. All columns requested together are filled in a single LLM call per row. The job runs in the background and this returns its jobId at once; get_enrich_status with the worksheetId and jobId reports progress and completion. columns pairs each new column's display name with its id, and queries take the id.\",\"url\":\"https://docs.rippit.com/api-reference/enrich_worksheet\",\"mainEntityOfPage\":{\"@id\":\"https://docs.rippit.com/api-reference/enrich_worksheet#webpage\"},\"dateModified\":\"2026-11-09T01:29:32.700Z\",\"publisher\":{\"@id\":\"https://docs.rippit.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.rippit.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Rippit\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Rippit","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/overview"}]},{"tab":"API reference","groups":[{"group":"Get started","pages":[{"title":"API overview","sidebarTitle":"Overview","href":"/api-reference/overview"},{"title":"Authentication","href":"/api-reference/authentication"}]},{"group":"Connect data","pages":[{"title":"Connect data","sidebarTitle":"Overview","href":"/api-reference/connect/overview"},{"group":"Built-in integrations","pages":[{"title":"Built-in integrations","sidebarTitle":"Overview","href":"/api-reference/connect/integrations/overview"},{"title":"get_integration_state","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/get_integration_state","href":"/api-reference/get_integration_state"},{"title":"connect_integration","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/connect_integration","href":"/api-reference/connect_integration"},{"title":"import_integration","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/import_integration","href":"/api-reference/import_integration"},{"title":"list_active_integrations","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/list_active_integrations","href":"/api-reference/list_active_integrations"}]},{"group":"Snowflake","pages":[{"title":"Snowflake","sidebarTitle":"Overview","href":"/api-reference/connect/snowflake/overview"},{"title":"list_snowflake_connections","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/list_snowflake_connections","href":"/api-reference/list_snowflake_connections"},{"title":"manage_snowflake_connection","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/manage_snowflake_connection","href":"/api-reference/manage_snowflake_connection"},{"title":"list_snowflake_tables","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/list_snowflake_tables","href":"/api-reference/list_snowflake_tables"},{"title":"describe_snowflake_table","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/describe_snowflake_table","href":"/api-reference/describe_snowflake_table"},{"title":"manage_snowflake_import","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/manage_snowflake_import","href":"/api-reference/manage_snowflake_import"},{"title":"list_snowflake_imports","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/list_snowflake_imports","href":"/api-reference/list_snowflake_imports"}]},{"group":"Bulk API","pages":[{"title":"Bulk API","sidebarTitle":"Overview","href":"/api-reference/connect/bulk/overview"},{"title":"Conversations","href":"/api-reference/connect/bulk/conversations"},{"title":"Tables","href":"/api-reference/connect/bulk/tables"},{"title":"Bulk export","sidebarTitle":"Export","href":"/api-reference/connect/bulk/export"},{"title":"Bulk API skill","sidebarTitle":"Skill","href":"/api-reference/connect/bulk/rippit-bulk-ingest-api"},{"title":"Post Conversation Source","deprecated":null,"version":null,"openapi":"/api-reference/bulk-openapi.json post /bulk_ingest/conversation_sources","href":"/api-reference/bulk_ingest/post-conversation-source"},{"title":"Get Conversation Sources","deprecated":null,"version":null,"openapi":"/api-reference/bulk-openapi.json get /bulk_ingest/conversation_sources","href":"/api-reference/bulk_ingest/get-conversation-sources"},{"title":"Post Conversation Blocks Bulk","deprecated":null,"version":null,"openapi":"/api-reference/bulk-openapi.json post /bulk_ingest/conversation_blocks/bulk","href":"/api-reference/bulk_ingest/post-conversation-blocks-bulk"},{"title":"Post Dataset","deprecated":null,"version":null,"openapi":"/api-reference/bulk-openapi.json post /bulk_ingest/datasets","href":"/api-reference/bulk_ingest/post-dataset"},{"title":"Patch Dataset By Query","deprecated":null,"version":null,"openapi":"/api-reference/bulk-openapi.json patch /bulk_ingest/datasets","href":"/api-reference/bulk_ingest/patch-dataset-by-query"},{"title":"Post Dataset Bulk By Query","deprecated":null,"version":null,"openapi":"/api-reference/bulk-openapi.json post /bulk_ingest/datasets/bulk","href":"/api-reference/bulk_ingest/post-dataset-bulk-by-query"},{"title":"Post Job Start","deprecated":null,"version":null,"openapi":"/api-reference/bulk-openapi.json post /bulk_ingest/jobs/{job_id}/start","href":"/api-reference/bulk_ingest/post-job-start"},{"title":"Get Job","deprecated":null,"version":null,"openapi":"/api-reference/bulk-openapi.json get /bulk/jobs/{job_id}","href":"/api-reference/bulk/get-job"},{"title":"Create Export Job","deprecated":null,"version":null,"openapi":"/api-reference/bulk-openapi.json post /bulk_export/tables","href":"/api-reference/bulk_export/create-export-job"}]}]},{"group":"Analyze data","pages":[{"group":"Query data","pages":[{"title":"Query data","sidebarTitle":"Overview","href":"/api-reference/query/overview"},{"title":"list_data_sources","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/list_data_sources","href":"/api-reference/list_data_sources"},{"title":"describe_table","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/describe_table","href":"/api-reference/describe_table"},{"title":"describe_column","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/describe_column","href":"/api-reference/describe_column"},{"title":"read_table","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/read_table","href":"/api-reference/read_table"},{"title":"aggregate_table","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/aggregate_table","href":"/api-reference/aggregate_table"},{"title":"pivot_table","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/pivot_table","href":"/api-reference/pivot_table"},{"title":"read_conversations","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/read_conversations","href":"/api-reference/read_conversations"}]},{"group":"Worksheets","pages":[{"title":"Worksheets","sidebarTitle":"Overview","href":"/api-reference/worksheets/overview"},{"title":"list_worksheets","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/list_worksheets","href":"/api-reference/list_worksheets"},{"title":"create_worksheet","description":"**Create analysis worksheet**\n\nCreate a saved analysis worksheet from table rows, with support for AI and formula columns; read_table and aggregate_table query existing columns. Added columns can be inspected, filtered, aggregated and reused, and the source table is unchanged.\n\nAt most 10000 rows are copied (server-enforced). When more rows match and neither `rowLimit` nor `sampleRows` is set, the kept rows are an arbitrary subset, not a random sample; `rowsMatchingFilter` (or `rowsBefore` without a filter) above `rowsAfter` shows the cut. Admin-configured Table View filters apply before `where`, and the counts include them.\n\nThe worksheet exists when this returns, but its rows load asynchronously, so it can briefly read as empty and `rowsAfter` can be absent. A large source can outlast the call's timeout while the server keeps working; a blind retry then creates a duplicate worksheet, and list_worksheets shows whether the first one was created.","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/create_worksheet","href":"/api-reference/create_worksheet"},{"title":"enrich_worksheet","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/enrich_worksheet","href":"/api-reference/enrich_worksheet"},{"title":"get_enrich_status","description":"**Check analysis progress**\n\nReport the progress of a worksheet column job started by enrich_worksheet, blocking until it settles or a fixed server-side wait cap passes.\n\n`done: false` means the job is still running; its worksheetId and jobId are unchanged. `done` is true for `finished`, `failed` (with the worker's `error` when recorded), `timed_out` and `untracked`: no column carries the jobId, from a wrong id or cleaned-up tracking, so the outcome is unknown. A tool error means the status could not be read; it does not establish that the job finished or failed.\n\nFor a failed formula job, report the worker's `error` when recorded and leave the existing worksheet and column in place; do not create another worksheet or column, or start an enrichment.\n\n`answerAggregates` counts only each column's most common values, so it cannot give a true min or max; `numericSummaries` holds exact full-column statistics. While the job runs, the top 5 `sampleValues` and top 10 counts per column are a rough preview. A finished result may omit breakdowns that did not fit the request time; that is not a failure.","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/get_enrich_status","href":"/api-reference/get_enrich_status"},{"title":"export_worksheet","deprecated":null,"version":null,"playground":"none","openapi":"/api-reference/tools-openapi.json post /v1/export_worksheet","href":"/api-reference/export_worksheet"}]}]},{"group":"AI pipelines","pages":[{"title":"AI pipelines","sidebarTitle":"Overview","href":"/api-reference/pipelines/overview"}]}]}]},"basePath":"","title":"enrich_worksheet - Rippit","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}