The checks Concord runs on its own on every platform action before you review it, and what you see of them.
Validation checks are an internal step of Concord. After Concord builds a platform action and before it shows it to you, it checks the action against the platform’s rules. You do not start this step, configure it, or approve it, and it has no screen of its own: you only see its result when a problem remains.The point is that what you review is already coherent with the platform’s rules, so approving is a decision about intent, not a proofreading exercise.
You ask for a change and Concord builds the platform action.
Concord validates it, automatically. It checks each object, then the objects that belong together, then that the request can be built for the platform.
Required fields: every field the platform requires for that object type and campaign type, at every tier of the tree.Coherence: budgets against flight dates, start dates against end dates, child objects against their parent’s configuration.Platform rules: allowed objectives, valid bid strategy and budget combinations, formats and character limits.Quotas and limits: anything the platform caps, such as the number of targeting criteria on an object.Availability for this account: targeting values are resolved against what your advertiser can actually target, rather than assumed.
Some corrections are unambiguous, so Concord applies them without asking. They are not reported as warnings: you see the corrected values when you review the action.
Forcing a newly created object to a non-active status
Renaming a duplicated object so the name stays unique
Completing a field the platform derives from another one you set
Dropping a targeting value that is not available in every country you are targeting
The action is not submitted. Concord corrects it and validates it again. After three failed attempts on the same action within one request, it stops and shows you the errors rather than retrying indefinitely. You can also correct it in the conversation and Concord prepares the action again.
Validation does not replace the platform’s own checks. A platform can still reject an action at submission. The action then shows the platform’s error, and the Submit button becomes Retry.
The most common source of avoidable failures is a rule that lives in someone’s head. Once a check fails for the same reason twice, put it in a Skill. Concord applies your Skills when it prepares the action, so the next one arrives already following the rule.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Concord docs","colors":{"primary":"#4B5FE2","light":"#7484EA","dark":"#3546BC"},"logo":{"light":"https://mintcdn.com/concord-ace9e78f/o8sIylheyf-zCcxf/logo/light.svg?fit=max\u0026auto=format\u0026n=o8sIylheyf-zCcxf\u0026q=85\u0026s=7b01813d8ad6d9237151a51c1a0a1821","dark":"https://mintcdn.com/concord-ace9e78f/o8sIylheyf-zCcxf/logo/dark.svg?fit=max\u0026auto=format\u0026n=o8sIylheyf-zCcxf\u0026q=85\u0026s=ec951f7599aaf470a941e74e6eb46ffb"},"favicon":"https://mintcdn.com/concord-ace9e78f/o8sIylheyf-zCcxf/favicon.png?fit=max\u0026auto=format\u0026n=o8sIylheyf-zCcxf\u0026q=85\u0026s=a5518fa3619cb1f5720cc28c5d381583","background":{"color":{"light":"#FDFDFB","dark":"#1A1A19"}},"navbar":{"links":[{"href":"mailto:support@concord.ad","label":"Support"}],"primary":{"type":"button","label":"Open Concord","href":"https://app.concord.ad"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/concordad"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"concord-ace9e78f","hasAudioNarration":false,"actualSubdomain":"concord-ace9e78f","customDomains":["docs.concord.ad"],"gitSource":{"type":"github","owner":"concord-app","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af317dd9262811844556814","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"Features","count":38},{"language":"default","tag":"Connectors","count":18},{"language":"default","tag":"Introduction","count":9},{"language":"default","tag":"Developers","count":5},{"language":"default","tag":"MCP server","count":5},{"language":"default","tag":"Platform Actions","count":5},{"language":"default","tag":"Settings","count":5},{"language":"default","tag":"Conversations","count":4},{"language":"default","tag":"Getting started","count":4},{"language":"default","tag":"Organization","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"features/platform-actions/validation-checks","slug":"/features/platform-actions/validation-checks","pageMetadata":{"title":"Validation checks","description":"The checks Concord runs on its own on every platform action before you review it, and what you see of them.","icon":"shield-check","href":"/features/platform-actions/validation-checks"},"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: \"The checks Concord runs on its own on every platform action before you review it, and what you see of them.\"\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={li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Tip}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Validation checks are an internal step of Concord. After Concord builds a platform action and before it shows it to you, it checks the action against the platform’s rules. You do not start this step, configure it, or approve it, and it has no screen of its own: you only see its result when a problem remains.`}),`\n`,_jsx(_components.p,{children:`The point is that what you review is already coherent with the platform’s rules, so approving is a decision about intent, not a proofreading exercise.`}),`\n`,_jsx(Heading,{level:`2`,id:`where-it-happens`,children:`Where it happens`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`You ask for a change and Concord builds the platform action.`}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Concord validates it, automatically.`}),` It checks each object, then the objects that belong together, then that the request can be built for the platform.`]}),`\n`,_jsx(_components.li,{children:`You review the platform action and approve it.`}),`\n`,_jsx(_components.li,{children:`Concord submits it to the platform.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-gets-checked`,children:`What gets checked`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Required fields`}),`: every field the platform requires for that object type and campaign type, at every tier of the tree.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Coherence`}),`: budgets against flight dates, start dates against end dates, child objects against their parent’s configuration.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Platform rules`}),`: allowed objectives, valid bid strategy and budget combinations, formats and character limits.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Quotas and limits`}),`: anything the platform caps, such as the number of targeting criteria on an object.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Availability for this account`}),`: targeting values are resolved against what your advertiser can actually target, rather than assumed.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-concord-fixes-on-its-own`,children:`What Concord fixes on its own`}),`\n`,_jsx(_components.p,{children:`Some corrections are unambiguous, so Concord applies them without asking. They are not reported as warnings: you see the corrected values when you review the action.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Forcing a newly created object to a non-active status`}),`\n`,_jsx(_components.li,{children:`Renaming a duplicated object so the name stays unique`}),`\n`,_jsx(_components.li,{children:`Completing a field the platform derives from another one you set`}),`\n`,_jsx(_components.li,{children:`Dropping a targeting value that is not available in every country you are targeting`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-concord-comes-back-to-ask`,children:`What Concord comes back to ask`}),`\n`,_jsx(_components.p,{children:`When a fix would be a guess about your intent, it asks instead of choosing:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A required field the brief does not cover and your rules do not default`}),`\n`,_jsx(_components.li,{children:`A budget or date that contradicts one of your Skills`}),`\n`,_jsx(_components.li,{children:`A platform rejection that has more than one reasonable resolution`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-you-see`,children:`What you see`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`When the checks pass, nothing.`}),` There is no “checks passed” indicator.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`When a problem remains`}),`, a warning icon appears next to the affected action. Hover it to read the field and the message.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`when-a-check-fails`,children:`When a check fails`}),`\n`,_jsx(_components.p,{children:`The action is not submitted. Concord corrects it and validates it again. After three failed attempts on the same action within one request, it stops and shows you the errors rather than retrying indefinitely. You can also correct it in the conversation and Concord prepares the action again.`}),`\n`,_jsx(Heading,{level:`2`,id:`after-you-approve`,children:`After you approve`}),`\n`,_jsxs(_components.p,{children:[`Validation does not replace the platform’s own checks. A platform can still reject an action at submission. The action then shows the platform’s error, and the `,_jsx(_components.strong,{children:`Submit`}),` button becomes `,_jsx(_components.strong,{children:`Retry`}),`.`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`The most common source of avoidable failures is a rule that lives in someone’s head. Once a check fails for the same reason twice, put it in a Skill. Concord applies your Skills when it prepares the action, so the next one arrives already following the rule.`})})]})}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":"Validation checks","description":"The checks Concord runs on its own on every platform action before you review it, and what you see of them.","icon":"shield-check","href":"/features/platform-actions/validation-checks"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Where it happens","slug":"where-it-happens","depth":2,"children":[]},{"title":"What gets checked","slug":"what-gets-checked","depth":2,"children":[]},{"title":"What Concord fixes on its own","slug":"what-concord-fixes-on-its-own","depth":2,"children":[]},{"title":"What Concord comes back to ask","slug":"what-concord-comes-back-to-ask","depth":2,"children":[]},{"title":"What you see","slug":"what-you-see","depth":2,"children":[]},{"title":"When a check fails","slug":"when-a-check-fails","depth":2,"children":[]},{"title":"After you approve","slug":"after-you-approve","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"concord-ace9e78f","siteName":"Concord docs","title":"Validation checks - Concord docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-19T13:07:09.889Z","originalFileLocation":"features/platform-actions/validation-checks.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=\"The checks Concord runs on its own on every platform action before you review it, and what you see of them.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Concord docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/concord-ace9e78f/UaxNjUzFVw8qYl28/_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/concord-ace9e78f/UaxNjUzFVw8qYl28/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/concord-ace9e78f/UaxNjUzFVw8qYl28/_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/concord-ace9e78f/UaxNjUzFVw8qYl28/_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/concord-ace9e78f/UaxNjUzFVw8qYl28/_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/concord-ace9e78f/UaxNjUzFVw8qYl28/_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/concord-ace9e78f/UaxNjUzFVw8qYl28/_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/concord-ace9e78f/UaxNjUzFVw8qYl28/_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/concord-ace9e78f/UaxNjUzFVw8qYl28/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Validation checks - Concord docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"The checks Concord runs on its own on every platform action before you review it, and what you see of them.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Concord docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.concord.ad/features/platform-actions/validation-checks\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://concord-ace9e78f.mintlify.site/_mintlify/api/og/v2?division=Platform+Actions\u0026amp;title=Validation+checks\u0026amp;description=The+checks+Concord+runs+on+its+own+on+every+platform+action+before+you+review+it%2C+and+what+you+see+of+them.\u0026amp;theme=fe3869bf9f1c55df339fac71\u0026amp;signature=bdd16cdd8f07354a9981b9dd86b497470816dac3191b76dc3f4a84439bb70de5\">\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=\"Validation checks - Concord docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The checks Concord runs on its own on every platform action before you review it, and what you see of them.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://concord-ace9e78f.mintlify.site/_mintlify/api/og/v2?division=Platform+Actions\u0026amp;title=Validation+checks\u0026amp;description=The+checks+Concord+runs+on+its+own+on+every+platform+action+before+you+review+it%2C+and+what+you+see+of+them.\u0026amp;theme=fe3869bf9f1c55df339fac71\u0026amp;signature=bdd16cdd8f07354a9981b9dd86b497470816dac3191b76dc3f4a84439bb70de5\">\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/concord-ace9e78f/UaxNjUzFVw8qYl28/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Concord docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4B5FE2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.concord.ad/features/platform-actions/validation-checks\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/features/platform-actions/validation-checks.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.concord.ad/#organization\",\"name\":\"Concord docs\",\"url\":\"https://docs.concord.ad\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/concord-ace9e78f/o8sIylheyf-zCcxf/logo/light.svg?fit=max\u0026auto=format\u0026n=o8sIylheyf-zCcxf\u0026q=85\u0026s=7b01813d8ad6d9237151a51c1a0a1821\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.concord.ad#website\",\"name\":\"Concord docs\",\"url\":\"https://docs.concord.ad\",\"publisher\":{\"@id\":\"https://docs.concord.ad/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.concord.ad/features/platform-actions/validation-checks#webpage\",\"url\":\"https://docs.concord.ad/features/platform-actions/validation-checks\",\"name\":\"Validation checks\",\"description\":\"The checks Concord runs on its own on every platform action before you review it, and what you see of them.\",\"dateModified\":\"2026-10-19T13:07:09.889Z\",\"isPartOf\":{\"@id\":\"https://docs.concord.ad#website\"},\"breadcrumb\":{\"@id\":\"https://docs.concord.ad/features/platform-actions/validation-checks#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.concord.ad/features/platform-actions/validation-checks#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Features\",\"item\":\"https://docs.concord.ad/features/chat/working-in-conversations\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Platform Actions\",\"item\":\"https://docs.concord.ad/features/platform-actions/platform-actions-overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Validation checks\",\"item\":\"https://docs.concord.ad/features/platform-actions/validation-checks\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.concord.ad/features/platform-actions/validation-checks#article\",\"headline\":\"Validation checks\",\"name\":\"Validation checks\",\"description\":\"The checks Concord runs on its own on every platform action before you review it, and what you see of them.\",\"url\":\"https://docs.concord.ad/features/platform-actions/validation-checks\",\"mainEntityOfPage\":{\"@id\":\"https://docs.concord.ad/features/platform-actions/validation-checks#webpage\"},\"dateModified\":\"2026-10-19T13:07:09.889Z\",\"publisher\":{\"@id\":\"https://docs.concord.ad/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.concord.ad#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Concord docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Concord docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/features/platform-actions/validation-checks.md","siteName":"Concord docs","nav":{"global":null,"tabs":[{"tab":"Introduction","pages":[{"title":"Introduction","href":"/introduction"}]},{"tab":"Features","groups":[{"group":"Features","pages":[{"group":"Conversations","expanded":false,"pages":[{"title":"Working in conversations","icon":"comments","href":"/features/chat/working-in-conversations"},{"title":"Long conversations","icon":"compress","href":"/features/chat/long-conversations"},{"title":"Best practices","icon":"lightbulb","href":"/features/chat/best-practices"},{"title":"Requesting Changes","icon":"message-plus","href":"/features/platform-actions/requesting-changes"}]},{"group":"Platform Actions","expanded":false,"pages":[{"title":"Platform actions overview","description":"How Concord prepares, shows, and submits changes to your advertising platforms.","icon":"check-circle","href":"/features/platform-actions/platform-actions-overview"},{"title":"Validation checks","icon":"shield-check","href":"/features/platform-actions/validation-checks"},{"title":"Approving actions","description":"What to check before you submit, what happens after, and what canceling actually does.","icon":"check","href":"/features/platform-actions/approving-actions"},{"title":"Testing without going live","icon":"flask-vial","href":"/features/platform-actions/testing-safely"},{"title":"Action history","icon":"clock-rotate-left","href":"/features/platform-actions/action-history"}]},{"group":"Skills","expanded":false,"pages":[{"title":"Understanding Skills","icon":"brain","href":"/features/skills/understanding-skills"},{"title":"Creating Skills","icon":"sparkles","href":"/features/skills/creating-skills"}]},{"group":"Campaigns","expanded":false,"pages":[{"title":"Managing campaigns","icon":"bullseye","href":"/features/campaigns/managing-campaigns"}]},{"group":"Files","expanded":false,"pages":[{"title":"Files in Concord","icon":"folder-open","href":"/features/files/files-overview"}]},{"group":"Reporting","expanded":false,"pages":[{"title":"Reporting overview","icon":"chart-line","href":"/features/reporting/reporting-overview"},{"title":"Analyzing performance","icon":"magnifying-glass-chart","href":"/features/reporting/analyzing-performance"},{"title":"Where the numbers come from","icon":"magnifying-glass-dollar","href":"/features/reporting/where-numbers-come-from"}]},{"group":"Dashboards","expanded":false,"pages":[{"title":"Dashboards","icon":"chart-pie","href":"/features/dashboards/dashboards-overview"}]},{"group":"Automations","expanded":false,"pages":[{"title":"Automations","icon":"clock","href":"/features/automations/automations-overview"},{"title":"Notifications","icon":"bell","href":"/features/notifications/notifications-overview"}]}]}]},{"tab":"Connectors","pages":[{"title":"Connectors","href":"/integrations/integrations-overview"}]},{"tab":"Settings","pages":[{"title":"Settings","href":"/settings/collaborators"}]},{"tab":"Developers","pages":[{"title":"Developers","href":"/developers/mcp/overview"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Validation checks - Concord docs","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":[],"chunks":[]}