An OAuth 2.0 access token, sent as Authorization: Bearer <token>. MessageDesk is the OAuth 2.0 provider (backed by AWS Cognito): an integration such as Zapier obtains the token through the authorization-code flow when a user connects their MessageDesk account. Access tokens are valid for 24 hours and are refreshed with the refresh token.
{"docsConfig":{"theme":"palm","$schema":"https://mintlify.com/docs.json","name":"MessageDesk Support Docs","colors":{"primary":"#6142b0","light":"#46405c","dark":"#927bce"},"logo":{"light":"https://mintcdn.com/messagedesk/QhGIkgKUhtWPITRC/logo/logo-light.png?fit=max\u0026auto=format\u0026n=QhGIkgKUhtWPITRC\u0026q=85\u0026s=81b390d644bcaf1fac3e4d4e865da834","dark":"https://mintcdn.com/messagedesk/QhGIkgKUhtWPITRC/logo/logo-dark.png?fit=max\u0026auto=format\u0026n=QhGIkgKUhtWPITRC\u0026q=85\u0026s=0936cf3d801ce769b5cf6bab48df7cb7"},"favicon":"https://cdn.prod.website-files.com/6349fd438ecb3a3594605225/63f40dc976ad75f583bb618e_md-favicon-32x32.png","navbar":{"links":[{"href":"https://www.messagedesk.com","label":"MessageDesk.com"},{"href":"https://inbox.messagedesk.com","label":"Log In"}],"primary":{"type":"button","label":"Start free trial","href":"https://www.messagedesk.com/get-started"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/messagedesk"}},"seo":{"metatags":{"canonical":"https://docs.messagedesk.com","robots":"index, follow"}},"integrations":{"segment":{"key":"V42HI89SHLXv1eBnt6NPpZQ59ExIhiMu"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","grok","aistudio","assistant"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Status","icon":"clock","href":"https://status.messagedesk.com/"},{"anchor":"Changelog","icon":"timer","href":"https://app.getbeamer.com/messagedesk/"},{"anchor":"Free Tools","icon":"wrench","href":"https://www.messagedesk.com/free-tools"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"messagedesk","hasAudioNarration":false,"actualSubdomain":"messagedesk","customDomains":["docs.messagedesk.com"],"gitSource":{"type":"github","owner":"alderwood-labs","repo":"docs","deployBranch":"main","contentDirectory":"docs-main","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae660ffdcaa81eff1cabf79","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Guides","count":72},{"language":"default","tag":"Developer","count":27},{"language":"default","tag":"Settings","count":17},{"language":"default","tag":"Getting Started","count":16},{"language":"default","tag":"Workspace Settings","count":13},{"language":"default","tag":"Actions","count":10},{"language":"default","tag":"Additional resources","count":8},{"language":"default","tag":"Triggers","count":8},{"language":"default","tag":"Messaging","count":8},{"language":"default","tag":"Inbox","count":7}]},"assistantConfig":{"enableStarterQuestions":true,"deflection":{"enabled":true,"email":"support@messagedesk.com"}},"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":".sidebar-group-header~* button[aria-label^=\"Toggle\"][aria-expanded]{width:100%;display:flex;align-items:center;gap:0.75rem}.sidebar-group-header~* button[aria-label^=\"Toggle\"][aria-expanded]>svg:first-child{order:99!important;margin-left:auto!important;margin-right:0!important}.sidebar-group-header~* button[aria-label^=\"Toggle\"][aria-expanded]>.flex-1{min-width:0}.sidebar-group-header~* button[aria-label^=\"Toggle\"][aria-expanded]>svg:nth-child(2){order:0!important}"}],"page":{"pagePath":"developer/api-reference/endpoints/create-or-update-a-contact","slug":"/developer/api-reference/endpoints/create-or-update-a-contact","pageMetadata":{"title":"Create or update a contact","openapi":"developer/api-reference/openapi.json POST /integrations/developer/zapier/create-or-update-contact-action","description":"Upserts a contact keyed on `phone`. Supplied fields overwrite existing values; omitted fields are left unchanged. `userId` in the body is ignored.","href":"/developer/api-reference/endpoints/create-or-update-a-contact"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Upserts a contact keyed on \", _jsx(_components.code, {\n children: \"phone\"\n }), \". Supplied fields overwrite existing values; omitted fields are left unchanged. \", _jsx(_components.code, {\n children: \"userId\"\n }), \" in the body is ignored.\"]\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":"Create or update a contact","openapi":"developer/api-reference/openapi.json POST /integrations/developer/zapier/create-or-update-contact-action","description":"Upserts a contact keyed on `phone`. Supplied fields overwrite existing values; omitted fields are left unchanged. `userId` in the body is ignored.","href":"/developer/api-reference/endpoints/create-or-update-a-contact"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/messagedesk/f65d66f45b71928e/identify.js"],"openApiReferenceData":{"operation":{"description":"Upserts a contact keyed on `phone`. Supplied fields overwrite existing values; omitted fields are left unchanged. `userId` in the body is ignored.","operationId":"createOrUpdateContact","requestBody":"d183327d-1566-4502-bbb7-3f29ae562d0d","responses":{"200":"a0a9b101-5ba7-47b5-866f-84e3378e6000","401":"96e88c67-3a3e-4e02-8a51-6b8d6793d670","403":"eccaf6bc-ed07-41e8-9e0d-56af1b5356ca","404":"2058c5a7-0388-4a55-bd2e-c78bee98b728","422":"63d07748-94eb-49ca-898a-c04933c8652a","500":"0e68a6ff-e155-4ac6-802a-192ed5ac3de5"},"security":["2a88af3b-229b-4bd4-8748-7244e84b0a98"],"summary":"Create or update a contact","tags":["Actions"],"method":"post","type":"path","servers":["12b75418-4d7b-4431-88cb-59f1067641fe"],"path":"/integrations/developer/zapier/create-or-update-contact-action","baseUrlOptions":["https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main"],"title":"Create or update a contact","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"properties":{"developerProvider":{"enum":["zapier"],"type":"string","x-enum-varnames":["DeveloperProviderZapier"],"description":"Integration provider making the request","isRequired":true,"uniqueKey":"developerProvider","typeLabel":"enum\u003cstring>"},"id":{"description":"Workspace ID the request targets","maxLength":45,"type":"string","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"phone":{"description":"Contact phone number in E.164 format","type":"string","isRequired":true,"uniqueKey":"phone","typeLabel":"string"},"email":{"description":"Contact email address","type":"string","uniqueKey":"email","typeLabel":"string"},"firstName":{"description":"Contact first name","maxLength":255,"type":"string","uniqueKey":"firstName","typeLabel":"string"},"lastName":{"description":"Contact last name","maxLength":255,"type":"string","uniqueKey":"lastName","typeLabel":"string"},"properties":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"properties.additionalProperties","typeLabel":"any"},"description":"Custom contact property values keyed by property name","type":"object","uniqueKey":"properties","typeLabel":"object"},"userId":{"description":"Optional acting user; overwritten with the authenticated user on endpoints that record authorship","maxLength":45,"type":"string","uniqueKey":"userId","typeLabel":"string"}},"required":["developerProvider","id","phone"],"type":"object","summary":"request","description":"Contact to create or update","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"developerProvider":"zapier","id":"\u003cstring>","phone":"\u003cstring>","email":"\u003cstring>","firstName":"\u003cstring>","lastName":"\u003cstring>","properties":{},"userId":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Contact to create or update","required":true,"exampleType":"generated"},"responses":{"a0a9b101-5ba7-47b5-866f-84e3378e6000":{"content":{"application/json":{"schema":{"properties":{"email":{"type":"string","uniqueKey":"email","typeLabel":"string"},"firstName":{"type":"string","uniqueKey":"firstName","typeLabel":"string"},"id":{"type":"string","uniqueKey":"id","typeLabel":"string"},"lastName":{"type":"string","uniqueKey":"lastName","typeLabel":"string"},"phone":{"type":"string","uniqueKey":"phone","typeLabel":"string"},"properties":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"properties.additionalProperties","typeLabel":"any"},"type":"object","uniqueKey":"properties","typeLabel":"object"},"workspaceId":{"type":"string","uniqueKey":"workspaceId","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"email":"\u003cstring>","firstName":"\u003cstring>","id":"\u003cstring>","lastName":"\u003cstring>","phone":"\u003cstring>","properties":{},"workspaceId":"\u003cstring>"}}},"exampleType":"generated"}},"description":"OK","exampleType":"generated"},"96e88c67-3a3e-4e02-8a51-6b8d6793d670":{"content":{"application/json":{"schema":{"properties":{"error":{"description":"Human-readable description of the failure","example":"workspace not found","type":"string","uniqueKey":"error","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"workspace not found"}}},"exampleType":"generated"}},"description":"Missing or invalid bearer token","exampleType":"generated"},"eccaf6bc-ed07-41e8-9e0d-56af1b5356ca":{"content":{"application/json":{"schema":{"properties":{"error":{"description":"Human-readable description of the failure","example":"workspace not found","type":"string","uniqueKey":"error","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"workspace not found"}}},"exampleType":"generated"}},"description":"The authenticated user is not a member of the workspace","exampleType":"generated"},"2058c5a7-0388-4a55-bd2e-c78bee98b728":{"content":{"application/json":{"schema":{"properties":{"error":{"description":"Human-readable description of the failure","example":"workspace not found","type":"string","uniqueKey":"error","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"workspace not found"}}},"exampleType":"generated"}},"description":"Workspace or referenced record not found","exampleType":"generated"},"63d07748-94eb-49ca-898a-c04933c8652a":{"content":{"application/json":{"schema":{"items":{"properties":{"field":{"type":"string","uniqueKey":"items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","uniqueKey":"items.[INDEX].message","typeLabel":"string"}},"type":"object","uniqueKey":"items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"","typeLabel":"object[]"},"examples":{"Example":{"title":"Example","value":[{"field":"\u003cstring>","message":"\u003cstring>"}]}},"exampleType":"generated"}},"description":"Request body failed validation","exampleType":"generated"},"0e68a6ff-e155-4ac6-802a-192ed5ac3de5":{"content":{"application/json":{"schema":{"properties":{"error":{"description":"Human-readable description of the failure","example":"workspace not found","type":"string","uniqueKey":"error","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"workspace not found"}}},"exampleType":"generated"}},"description":"Internal Server Error","exampleType":"generated"}},"security":{"2a88af3b-229b-4bd4-8748-7244e84b0a98":{"BearerAuth":{"bearerFormat":"JWT","description":"An OAuth 2.0 access token, sent as `Authorization: Bearer \u003ctoken>`. MessageDesk is the OAuth 2.0 provider (backed by AWS Cognito): an integration such as Zapier obtains the token through the authorization-code flow when a user connects their MessageDesk account. Access tokens are valid for 24 hours and are refreshed with the refresh token.","scheme":"bearer","type":"http","scopes":[]}}},"servers":{"12b75418-4d7b-4431-88cb-59f1067641fe":{"description":"Production","url":"https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"bearerFormat":"JWT","description":"An OAuth 2.0 access token, sent as `Authorization: Bearer \u003ctoken>`. MessageDesk is the OAuth 2.0 provider (backed by AWS Cognito): an integration such as Zapier obtains the token through the authorization-code flow when a user connects their MessageDesk account. Access tokens are valid for 24 hours and are refreshed with the refresh token.","scheme":"bearer","type":"http","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An OAuth 2.0 access token, sent as `Authorization: Bearer \u003ctoken>`. MessageDesk is the OAuth 2.0 provider (backed by AWS Cognito): an integration such as Zapier obtains the token through the authorization-code flow when a user connects their MessageDesk account. Access tokens are valid for 24 hours and are refreshed with the refresh token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"developer/api-reference/openapi.json"},"subdomain":"messagedesk","siteName":"MessageDesk Support Docs","title":"Create or update a contact - MessageDesk Support Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-23T20:24:03.827Z","originalFileLocation":"developer/api-reference/endpoints/create-or-update-a-contact.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=\"Upserts a contact keyed on phone. Supplied fields overwrite existing values; omitted fields are left unchanged. userId in the body is ignored.\">\u003cmeta data-mint-head name=\"application-name\" content=\"MessageDesk Support Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://cdn.prod.website-files.com/6349fd438ecb3a3594605225/63f40dc976ad75f583bb618e_md-favicon-32x32.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://cdn.prod.website-files.com/6349fd438ecb3a3594605225/63f40dc976ad75f583bb618e_md-favicon-32x32.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://cdn.prod.website-files.com/6349fd438ecb3a3594605225/63f40dc976ad75f583bb618e_md-favicon-32x32.png\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/png\" href=\"https://cdn.prod.website-files.com/6349fd438ecb3a3594605225/63f40dc976ad75f583bb618e_md-favicon-32x32.png\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create or update a contact - MessageDesk Support Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Upserts a contact keyed on phone. Supplied fields overwrite existing values; omitted fields are left unchanged. userId in the body is ignored.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MessageDesk Support Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.messagedesk.com/developer/api-reference/endpoints/create-or-update-a-contact\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://messagedesk.mintlify.site/_mintlify/api/og/v2?division=Actions\u0026amp;title=Create+or+update+a+contact\u0026amp;description=Upserts+a+contact+keyed+on+%60phone%60.+Supplied+fields+overwrite+existing+values%3B+omitted+fields+are+left+unchanged.+%60userId%60+in+the+body+is+ignored.\u0026amp;theme=15f3901f061e102db06efa1c\u0026amp;signature=98743d536f68da7771af3ed35d53cfe05cacfe5a68c8cbc0aca412b975e04c23\">\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=\"Create or update a contact - MessageDesk Support Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Upserts a contact keyed on phone. Supplied fields overwrite existing values; omitted fields are left unchanged. userId in the body is ignored.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://messagedesk.mintlify.site/_mintlify/api/og/v2?division=Actions\u0026amp;title=Create+or+update+a+contact\u0026amp;description=Upserts+a+contact+keyed+on+%60phone%60.+Supplied+fields+overwrite+existing+values%3B+omitted+fields+are+left+unchanged.+%60userId%60+in+the+body+is+ignored.\u0026amp;theme=15f3901f061e102db06efa1c\u0026amp;signature=98743d536f68da7771af3ed35d53cfe05cacfe5a68c8cbc0aca412b975e04c23\">\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=\"https://mintlify.s3.us-west-1.amazonaws.com/messagedesk/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MessageDesk Support Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6142b0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.messagedesk.com/developer/api-reference/endpoints/create-or-update-a-contact\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/developer/api-reference/endpoints/create-or-update-a-contact.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.messagedesk.com/#organization\",\"name\":\"MessageDesk Support Docs\",\"url\":\"https://docs.messagedesk.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/messagedesk/QhGIkgKUhtWPITRC/logo/logo-light.png?fit=max\u0026auto=format\u0026n=QhGIkgKUhtWPITRC\u0026q=85\u0026s=81b390d644bcaf1fac3e4d4e865da834\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.messagedesk.com#website\",\"name\":\"MessageDesk Support Docs\",\"url\":\"https://docs.messagedesk.com\",\"publisher\":{\"@id\":\"https://docs.messagedesk.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.messagedesk.com/developer/api-reference/endpoints/create-or-update-a-contact#webpage\",\"url\":\"https://docs.messagedesk.com/developer/api-reference/endpoints/create-or-update-a-contact\",\"name\":\"Create or update a contact\",\"description\":\"Upserts a contact keyed on phone. Supplied fields overwrite existing values; omitted fields are left unchanged. userId in the body is ignored.\",\"dateModified\":\"2026-09-23T20:24:03.827Z\",\"isPartOf\":{\"@id\":\"https://docs.messagedesk.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.messagedesk.com/developer/api-reference/endpoints/create-or-update-a-contact#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.messagedesk.com/developer/api-reference/endpoints/create-or-update-a-contact#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Actions\",\"item\":\"https://docs.messagedesk.com/developer/api-reference/endpoints/send-a-message\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create or update a contact\",\"item\":\"https://docs.messagedesk.com/developer/api-reference/endpoints/create-or-update-a-contact\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.messagedesk.com/developer/api-reference/endpoints/create-or-update-a-contact#apireference\",\"headline\":\"Create or update a contact\",\"name\":\"Create or update a contact\",\"description\":\"Upserts a contact keyed on phone. Supplied fields overwrite existing values; omitted fields are left unchanged. userId in the body is ignored.\",\"url\":\"https://docs.messagedesk.com/developer/api-reference/endpoints/create-or-update-a-contact\",\"mainEntityOfPage\":{\"@id\":\"https://docs.messagedesk.com/developer/api-reference/endpoints/create-or-update-a-contact#webpage\"},\"dateModified\":\"2026-09-23T20:24:03.827Z\",\"publisher\":{\"@id\":\"https://docs.messagedesk.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.messagedesk.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MessageDesk Support Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"MessageDesk Support Docs","nav":{"global":{"anchors":[{"anchor":"Status","icon":"clock","href":"https://status.messagedesk.com/"},{"anchor":"Changelog","icon":"timer","href":"https://app.getbeamer.com/messagedesk/"},{"anchor":"Free Tools","icon":"wrench","href":"https://www.messagedesk.com/free-tools"}]},"tabs":[{"tab":"Guides","icon":"book","pages":[{"title":"Guides","href":"/get-started/introduction"}]},{"tab":"Developer","icon":"code","groups":[{"group":"Getting started","pages":[{"title":"MessageDesk Developer API","sidebarTitle":"Introduction","href":"/developer/introduction"},{"title":"Authentication","sidebarTitle":"Authentication","href":"/developer/authentication"},{"title":"Errors","sidebarTitle":"Errors","href":"/developer/errors"},{"title":"Webhooks","sidebarTitle":"Webhooks","href":"/developer/webhooks"}]},{"group":"API reference","pages":[{"title":"API reference","sidebarTitle":"Introduction","href":"/developer/api-reference/introduction"}]},{"group":"Context lookups","pages":[{"title":"List my workspaces","openapi":"developer/api-reference/openapi.json GET /integrations/developer/zapier/workspaces","href":"/developer/api-reference/endpoints/list-my-workspaces"},{"title":"List workspace users","openapi":"developer/api-reference/openapi.json GET /integrations/developer/zapier/workspace-users","href":"/developer/api-reference/endpoints/list-workspace-users"},{"title":"List outbound channels","openapi":"developer/api-reference/openapi.json GET /integrations/developer/zapier/outbound-channels","href":"/developer/api-reference/endpoints/list-outbound-channels"},{"title":"List contact properties","openapi":"developer/api-reference/openapi.json GET /integrations/developer/zapier/contact-properties","href":"/developer/api-reference/endpoints/list-contact-properties"}]},{"group":"Actions","pages":[{"title":"Send a message","openapi":"developer/api-reference/openapi.json POST /integrations/developer/zapier/send-message-action","href":"/developer/api-reference/endpoints/send-a-message"},{"title":"Send a group message","openapi":"developer/api-reference/openapi.json POST /integrations/developer/zapier/send-group-message-action","href":"/developer/api-reference/endpoints/send-a-group-message"},{"title":"Send a broadcast","openapi":"developer/api-reference/openapi.json POST /integrations/developer/zapier/send-broadcast-action","href":"/developer/api-reference/endpoints/send-a-broadcast"},{"title":"Create a conversation","openapi":"developer/api-reference/openapi.json POST /integrations/developer/zapier/create-conversation-action","href":"/developer/api-reference/endpoints/create-a-conversation"},{"title":"Find conversations","openapi":"developer/api-reference/openapi.json POST /integrations/developer/zapier/find-conversation-action","href":"/developer/api-reference/endpoints/find-conversations"},{"title":"Create a comment","openapi":"developer/api-reference/openapi.json POST /integrations/developer/zapier/create-comment-action","href":"/developer/api-reference/endpoints/create-a-comment"},{"title":"Create a contact","openapi":"developer/api-reference/openapi.json POST /integrations/developer/zapier/create-contact-action","description":"Creates a new contact in the workspace. To update an existing contact by phone number use create-or-update-contact instead. `userId` in the body is ignored and replaced by the authenticated user.","href":"/developer/api-reference/endpoints/create-a-contact"},{"title":"Create or update a contact","openapi":"developer/api-reference/openapi.json POST /integrations/developer/zapier/create-or-update-contact-action","href":"/developer/api-reference/endpoints/create-or-update-a-contact"},{"title":"Find contacts","openapi":"developer/api-reference/openapi.json POST /integrations/developer/zapier/find-contact-action","description":"Searches workspace contacts by name, phone or email using `searchText`. Returns an empty list when nothing matches.","href":"/developer/api-reference/endpoints/find-contacts"},{"title":"Create an opt out","openapi":"developer/api-reference/openapi.json POST /integrations/developer/zapier/create-opt-out-action","href":"/developer/api-reference/endpoints/create-an-opt-out"}]},{"group":"Triggers","pages":[{"title":"Subscribe to an event","openapi":"developer/api-reference/openapi.json POST /integrations/developer/zapier/subscribe","href":"/developer/api-reference/endpoints/subscribe-to-an-event"},{"title":"Unsubscribe from an event","openapi":"developer/api-reference/openapi.json POST /integrations/developer/zapier/unsubscribe","href":"/developer/api-reference/endpoints/unsubscribe-from-an-event"},{"title":"Sample inbound messages","openapi":"developer/api-reference/openapi.json GET /integrations/developer/zapier/get-inbound-messages","href":"/developer/api-reference/endpoints/sample-inbound-messages"},{"title":"Sample outbound messages","openapi":"developer/api-reference/openapi.json GET /integrations/developer/zapier/get-outbound-messages","href":"/developer/api-reference/endpoints/sample-outbound-messages"},{"title":"Sample contacts","openapi":"developer/api-reference/openapi.json GET /integrations/developer/zapier/get-contacts","href":"/developer/api-reference/endpoints/sample-contacts"},{"title":"Sample comments","openapi":"developer/api-reference/openapi.json GET /integrations/developer/zapier/get-comments","href":"/developer/api-reference/endpoints/sample-comments"},{"title":"Sample calls","openapi":"developer/api-reference/openapi.json GET /integrations/developer/zapier/get-calls","href":"/developer/api-reference/endpoints/sample-calls"},{"title":"Sample opt outs","openapi":"developer/api-reference/openapi.json GET /integrations/developer/zapier/get-opt-outs","href":"/developer/api-reference/endpoints/sample-opt-outs"}]}]}]},"basePath":"","title":"Create or update a contact - MessageDesk Support Docs","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}