This writes to your real CRM: it creates contacts and companies. It can also read LinkedIn live and spend email credits. Check who already exists first, with Check who is already in your CRM.
A live profile read unless you pass profile. On Attio, a live company page read can still happen. With sync on: live reads and a history import
Your CRM
Creates or links contacts and companies, with lists and notes
Also
1 email credit per email found on a new Attio contact. A full batch can take several minutes
Repeating it
Not always safe. If the CRM search fails, or a first batch is still running, a resend can create duplicates. Check who already exists, then resend only the failed people.
An HTTP 200 can hold failures: an item failed when its crm_contact_id is null.
Groovin looks for an existing contact by LinkedIn URL, then by name. A single same-name contact with no LinkedIn URL gets linked and receives this URL, even if it is a namesake.
Attio and HubSpot only. A slow batch is normal: do not resend it. Between batches, wait about 30 seconds, or 2 to 5 minutes with sync on.
Creating this way ignores your per-person creation blocklist.
Your AI assistant reaches the same action through the MCP tool create_crm_contacts.
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Groovin","colors":{"primary":"#f37546","light":"#d64baf","dark":"#040404"},"logo":{"light":"https://media.brand.dev/8a452a89-9e16-46a4-97fb-c1afa22cee62.svg","dark":"https://media.brand.dev/8a452a89-9e16-46a4-97fb-c1afa22cee62.svg"},"favicon":"https://media.brand.dev/f810fcbb-2382-4110-80c2-f249d1f9f172.png","api":{"playground":{"display":"interactive","proxy":false}},"navbar":{"links":[],"primary":{"type":"button","label":"Get Started","href":"https://groovin.ai"}},"fonts":{"heading":{"family":"Inter","weight":900},"body":{"family":"Inter","weight":400}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"groovin","hasAudioNarration":false,"actualSubdomain":"groovin","customDomains":["docs.groovin.ai"],"gitSource":{"type":"github","owner":"groovin-ai","repo":"groovin-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6aec7b9eb09eb89604ce751a"},"chroma":{"collectionId":"8246c8fd-0dd2-48d9-bcf0-bbf6abdc2cf3","liveDeploymentHistoryId":"6aecaa4b8029e5fb8e3f0b21","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aecaa4b8029e5fb8e3f0b21"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aeceeecd9f359d347c57fe3","clientVersion":"0.0.4071","searchFilterCounts":[{"language":"default","tag":"MCP and API","count":42},{"language":"default","tag":"REST API","count":19},{"language":"default","tag":"MCP Server","count":9},{"language":"default","tag":"LinkedIn","count":8},{"language":"default","tag":"Webhooks","count":7},{"language":"default","tag":"CRM contacts and companies","count":6},{"language":"default","tag":"Get started","count":5},{"language":"default","tag":"Safety and limits","count":5},{"language":"default","tag":"MCP","count":5},{"language":"default","tag":"Get Started","count":3}]},"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":"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":"vite-origin","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":"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":"reference/api/create-contacts","slug":"/reference/api/create-contacts","pageMetadata":{"title":"Create CRM contacts","description":"Create contacts in your CRM from LinkedIn people, or link them to a contact that already exists. Companies are found or created along the way.","openapi":"reference/openapi.json POST /crm/contacts","href":"/reference/api/create-contacts"},"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: \"Create contacts in your CRM from LinkedIn people, or link them to a contact that already exists. Companies are found or created along the way.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Danger,Heading,Table}=_components;if(!Danger)_missingMdxReference(`Danger`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Danger,{children:_jsxs(_components.p,{children:[`This writes to your real CRM: it creates contacts and companies. It can also read LinkedIn live and spend email credits. Check who already exists first, with `,_jsx(_components.a,{href:`/reference/api/lookup-contacts`,children:`Check who is already in your CRM`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`what-this-call-does`,children:`What this call does`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{}),_jsx(_components.th,{})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`LinkedIn`})}),_jsxs(_components.td,{children:[`A live profile read unless you pass `,_jsx(_components.code,{children:`profile`}),`. On Attio, a live company page read can still happen. With sync on: live reads and a history import`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Your CRM`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Creates or links`}),` contacts and companies, with lists and notes`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Also`})}),_jsx(_components.td,{children:`1 email credit per email found on a new Attio contact. A full batch can take several minutes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Repeating it`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Not always safe.`}),` If the CRM search fails, or a first batch is still running, a resend can create duplicates. Check who already exists, then resend only the failed people.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`good-to-know`,children:`Good to know`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`An HTTP 200 can hold failures: an item failed when its `,_jsx(_components.code,{children:`crm_contact_id`}),` is `,_jsx(_components.code,{children:`null`}),`.`]}),`\n`,_jsx(_components.li,{children:`Groovin looks for an existing contact by LinkedIn URL, then by name. A single same-name contact with no LinkedIn URL gets linked and receives this URL, even if it is a namesake.`}),`\n`,_jsx(_components.li,{children:`Attio and HubSpot only. A slow batch is normal: do not resend it. Between batches, wait about 30 seconds, or 2 to 5 minutes with sync on.`}),`\n`,_jsx(_components.li,{children:`Creating this way ignores your per-person creation blocklist.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Your AI assistant reaches the same action through the MCP tool `,_jsx(_components.code,{children:`create_crm_contacts`}),`.`]})]})}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":"Create CRM contacts","description":"Create contacts in your CRM from LinkedIn people, or link them to a contact that already exists. Companies are found or created along the way.","openapi":"reference/openapi.json POST /crm/contacts","href":"/reference/api/create-contacts"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What this call does","slug":"what-this-call-does","depth":2,"children":[]},{"title":"Good to know","slug":"good-to-know","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"create_crm_contacts","summary":"Create CRM contacts","description":"Create contacts in your CRM from LinkedIn people, or link them to a contact that already exists. Companies are found or created along the way.","tags":["CRM contacts and companies"],"requestBody":"61ca12f2-4b35-4de9-92d7-249952552afa","responses":{"200":"d21efffa-1abb-457f-b4c3-790585712c62","400":"398bb046-16c0-4089-ab41-793dd80b7bda","401":"a8b28ee3-5f72-4e82-89d0-bf613e1bdf3d","403":"66a8b337-5c4a-4924-be72-999cf0898234","404":"7c8a1ddd-8ead-4326-9ac2-7dd28ccfbffd","429":"eeda8204-50fd-431d-a986-c1cf763c19dd","500":"6d2982e1-d1f4-49cb-a2cf-7b1e4c2af499","502":"83b5ff7b-7019-411c-810b-9830a8b92097"},"method":"post","type":"path","servers":["a0487c26-68da-4177-9726-8d6498ae07a4"],"security":["3ed4ef1e-3328-437b-84d1-83f04b15cfea"],"path":"/crm/contacts","baseUrlOptions":["https://api.groovin.ai/functions/v1/api/v1"],"title":"Create CRM contacts","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","disableProxy":true},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"profiles":{"type":"array","items":{"type":"object","properties":{"linkedin_profile_id":{"type":"string","description":"Their LinkedIn profile id.","isRequired":true,"uniqueKey":"profiles.items.[INDEX].linkedin_profile_id","typeLabel":"string"},"full_name":{"type":"string","description":"Their full name.","isRequired":true,"uniqueKey":"profiles.items.[INDEX].full_name","typeLabel":"string"},"slug":{"oneOf":[{"type":"string","description":"The end of their LinkedIn URL. Send it when you know it: it is the most reliable way to find an existing contact.","uniqueKey":"profiles.items.[INDEX].slug.oneOf.0","typeLabel":"string"},{"type":"null","description":"The end of their LinkedIn URL. Send it when you know it: it is the most reliable way to find an existing contact.","uniqueKey":"profiles.items.[INDEX].slug.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].slug","typeLabel":"string | null"},"sales_nav_profile_id":{"oneOf":[{"type":"string","description":"Their Sales Navigator profile id.","uniqueKey":"profiles.items.[INDEX].sales_nav_profile_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Their Sales Navigator profile id.","uniqueKey":"profiles.items.[INDEX].sales_nav_profile_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].sales_nav_profile_id","typeLabel":"string | null"},"linkedin_profile_url":{"oneOf":[{"type":"string","description":"Their LinkedIn profile URL.","uniqueKey":"profiles.items.[INDEX].linkedin_profile_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"Their LinkedIn profile URL.","uniqueKey":"profiles.items.[INDEX].linkedin_profile_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].linkedin_profile_url","typeLabel":"string | null"},"connected_at":{"oneOf":[{"type":"string","description":"When they accepted your connection (ISO 8601). If set, the matching CRM fields are filled in.","uniqueKey":"profiles.items.[INDEX].connected_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"When they accepted your connection (ISO 8601). If set, the matching CRM fields are filled in.","uniqueKey":"profiles.items.[INDEX].connected_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].connected_at","typeLabel":"string | null"},"invite_sent_at":{"oneOf":[{"type":"string","description":"When you invited them (ISO 8601). If set, the matching CRM fields are filled in. A date that cannot be read answers 400.","uniqueKey":"profiles.items.[INDEX].invite_sent_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"When you invited them (ISO 8601). If set, the matching CRM fields are filled in. A date that cannot be read answers 400.","uniqueKey":"profiles.items.[INDEX].invite_sent_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].invite_sent_at","typeLabel":"string | null"},"profile":{"oneOf":[{"type":"object","properties":{"id":{"oneOf":[{"type":"string","description":"LinkedIn profile id (ACoAA…).","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.id.oneOf.0","typeLabel":"string"},{"type":"null","description":"LinkedIn profile id (ACoAA…).","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.id","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","description":"Canonical profile URL.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","description":"Canonical profile URL.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.url","typeLabel":"string | null"},"slugs":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.slugs.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"All known slugs / ids for the profile.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.slugs.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"All known slugs / ids for the profile.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.slugs.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.slugs","typeLabel":"string[] | null"},"salesNavId":{"oneOf":[{"type":"string","description":"Sales Navigator profile id (ACwAA…/ADEAA…), when known.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.salesNavId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Sales Navigator profile id (ACwAA…/ADEAA…), when known.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.salesNavId.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.salesNavId","typeLabel":"string | null"},"firstName":{"oneOf":[{"type":"string","description":"First name.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.firstName.oneOf.0","typeLabel":"string"},{"type":"null","description":"First name.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.firstName.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.firstName","typeLabel":"string | null"},"lastName":{"oneOf":[{"type":"string","description":"Last name.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.lastName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Last name.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.lastName.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.lastName","typeLabel":"string | null"},"emailAddress":{"oneOf":[{"type":"string","description":"LinkedIn-registered personal email, when visible.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.emailAddress.oneOf.0","typeLabel":"string"},{"type":"null","description":"LinkedIn-registered personal email, when visible.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.emailAddress.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.emailAddress","typeLabel":"string | null"},"headline":{"oneOf":[{"type":"string","description":"LinkedIn headline.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.headline.oneOf.0","typeLabel":"string"},{"type":"null","description":"LinkedIn headline.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.headline.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.headline","typeLabel":"string | null"},"summary":{"oneOf":[{"type":"string","description":"Long-form bio.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.summary.oneOf.0","typeLabel":"string"},{"type":"null","description":"Long-form bio.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.summary.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.summary","typeLabel":"string | null"},"locationName":{"oneOf":[{"type":"string","description":"Flat location string, e.g. \"Paris, Île-de-France, France\".","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.locationName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Flat location string, e.g. \"Paris, Île-de-France, France\".","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.locationName.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.locationName","typeLabel":"string | null"},"location":{"oneOf":[{"type":"object","properties":{"city":{"oneOf":[{"type":"string","description":"City part of the structured location.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location.oneOf.0.city.oneOf.0","typeLabel":"string"},{"type":"null","description":"City part of the structured location.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location.oneOf.0.city.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location.oneOf.0.city","typeLabel":"string | null"},"region":{"oneOf":[{"type":"string","description":"Region/state part of the structured location.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location.oneOf.0.region.oneOf.0","typeLabel":"string"},{"type":"null","description":"Region/state part of the structured location.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location.oneOf.0.region.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location.oneOf.0.region","typeLabel":"string | null"},"country":{"oneOf":[{"type":"string","description":"Country name of the structured location.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location.oneOf.0.country.oneOf.0","typeLabel":"string"},{"type":"null","description":"Country name of the structured location.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location.oneOf.0.country.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location.oneOf.0.country","typeLabel":"string | null"},"countryCode":{"oneOf":[{"type":"string","description":"ISO-2 country code.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location.oneOf.0.countryCode.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO-2 country code.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location.oneOf.0.countryCode.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location.oneOf.0.countryCode","typeLabel":"string | null"}},"description":"Structured location.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"city":{"oneOf":[{"type":"string","description":"City part of the structured location."},{"type":"null","description":"City part of the structured location."}]},"region":{"oneOf":[{"type":"string","description":"Region/state part of the structured location."},{"type":"null","description":"Region/state part of the structured location."}]},"country":{"oneOf":[{"type":"string","description":"Country name of the structured location."},{"type":"null","description":"Country name of the structured location."}]},"countryCode":{"oneOf":[{"type":"string","description":"ISO-2 country code."},{"type":"null","description":"ISO-2 country code."}]}},"description":"Structured location.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.location","typeLabel":"object | null"},"industryName":{"oneOf":[{"type":"string","description":"Industry, read from the profile's ongoing positions.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.industryName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Industry, read from the profile's ongoing positions.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.industryName.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.industryName","typeLabel":"string | null"},"educationSchoolNames":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.educationSchoolNames.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"All school names.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.educationSchoolNames.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"All school names.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.educationSchoolNames.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.educationSchoolNames","typeLabel":"string[] | null"},"phoneNumbers":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.phoneNumbers.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Phone numbers LinkedIn exposes, when visible.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.phoneNumbers.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Phone numbers LinkedIn exposes, when visible.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.phoneNumbers.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.phoneNumbers","typeLabel":"string[] | null"},"websites":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.websites.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Websites listed on the profile.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.websites.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Websites listed on the profile.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.websites.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.websites","typeLabel":"string[] | null"},"currentPosition":{"oneOf":[{"type":"object","properties":{"jobTitle":{"oneOf":[{"type":"string","description":"Job title of the current position.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.jobTitle.oneOf.0","typeLabel":"string"},{"type":"null","description":"Job title of the current position.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.jobTitle.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.jobTitle","typeLabel":"string | null"},"companyName":{"oneOf":[{"type":"string","description":"Company name of the current position.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company name of the current position.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyName.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyName","typeLabel":"string | null"},"companyId":{"oneOf":[{"type":"string","description":"LinkedIn company id.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyId.oneOf.0","typeLabel":"string"},{"type":"null","description":"LinkedIn company id.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyId.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyId","typeLabel":"string | null"},"companyUrl":{"oneOf":[{"type":"string","description":"LinkedIn URL of that company.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"LinkedIn URL of that company.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyUrl","typeLabel":"string | null"},"companyLogoUrl":{"oneOf":[{"type":"string","description":"Company logo URL.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyLogoUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company logo URL.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyLogoUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyLogoUrl","typeLabel":"string | null"},"jobDescription":{"oneOf":[{"type":"string","description":"The person's own description of THIS role, from their LinkedIn experience entry.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.jobDescription.oneOf.0","typeLabel":"string"},{"type":"null","description":"The person's own description of THIS role, from their LinkedIn experience entry.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.jobDescription.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.jobDescription","typeLabel":"string | null"},"jobLocationName":{"oneOf":[{"type":"string","description":"Where the person holds THIS role, as a flat string (may differ from the company HQ).","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.jobLocationName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Where the person holds THIS role, as a flat string (may differ from the company HQ).","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.jobLocationName.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.jobLocationName","typeLabel":"string | null"},"companyDescription":{"oneOf":[{"type":"string","description":"The COMPANY's own description, from its LinkedIn company page — not the person's description of their role (that is `jobDescription`).","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyDescription.oneOf.0","typeLabel":"string"},{"type":"null","description":"The COMPANY's own description, from its LinkedIn company page — not the person's description of their role (that is `jobDescription`).","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyDescription.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyDescription","typeLabel":"string | null"},"companyLocationName":{"oneOf":[{"type":"string","description":"The COMPANY's headquarters location as a flat string — not where the person holds the role (that is `jobLocationName`).","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyLocationName.oneOf.0","typeLabel":"string"},{"type":"null","description":"The COMPANY's headquarters location as a flat string — not where the person holds the role (that is `jobLocationName`).","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyLocationName.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyLocationName","typeLabel":"string | null"},"industries":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.industries.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Industries of the company.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.industries.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Industries of the company.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.industries.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.industries","typeLabel":"string[] | null"},"startDate":{"oneOf":[{"type":"string","description":"YYYY-MM-DD.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.startDate.oneOf.0","typeLabel":"string"},{"type":"null","description":"YYYY-MM-DD.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.startDate.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.startDate","typeLabel":"string | null"},"companySizeRange":{"oneOf":[{"type":"string","description":"Employee-count range, e.g. \"11-50\".","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companySizeRange.oneOf.0","typeLabel":"string"},{"type":"null","description":"Employee-count range, e.g. \"11-50\".","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companySizeRange.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companySizeRange","typeLabel":"string | null"},"companyDomain":{"oneOf":[{"type":"string","description":"Company domain — used to find or create the CRM company.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyDomain.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company domain — used to find or create the CRM company.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyDomain.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyDomain","typeLabel":"string | null"},"companyWebsiteUrl":{"oneOf":[{"type":"string","description":"Company website URL.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyWebsiteUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company website URL.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyWebsiteUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyWebsiteUrl","typeLabel":"string | null"},"companyFoundedYear":{"oneOf":[{"type":"number","description":"Year the company was founded.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyFoundedYear.oneOf.0","typeLabel":"number"},{"type":"null","description":"Year the company was founded.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyFoundedYear.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyFoundedYear","typeLabel":"number | null"},"companyLocationCountryCode":{"oneOf":[{"type":"string","description":"ISO-2 country code of the company HQ.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyLocationCountryCode.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO-2 country code of the company HQ.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyLocationCountryCode.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.companyLocationCountryCode","typeLabel":"string | null"},"specialties":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.specialties.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Company specialties.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.specialties.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Company specialties.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.specialties.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0.specialties","typeLabel":"string[] | null"}},"description":"The single current position, with its snapshot of the company.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"jobTitle":{"oneOf":[{"type":"string","description":"Job title of the current position."},{"type":"null","description":"Job title of the current position."}]},"companyName":{"oneOf":[{"type":"string","description":"Company name of the current position."},{"type":"null","description":"Company name of the current position."}]},"companyId":{"oneOf":[{"type":"string","description":"LinkedIn company id."},{"type":"null","description":"LinkedIn company id."}]},"companyUrl":{"oneOf":[{"type":"string","description":"LinkedIn URL of that company."},{"type":"null","description":"LinkedIn URL of that company."}]},"companyLogoUrl":{"oneOf":[{"type":"string","description":"Company logo URL."},{"type":"null","description":"Company logo URL."}]},"jobDescription":{"oneOf":[{"type":"string","description":"The person's own description of THIS role, from their LinkedIn experience entry."},{"type":"null","description":"The person's own description of THIS role, from their LinkedIn experience entry."}]},"jobLocationName":{"oneOf":[{"type":"string","description":"Where the person holds THIS role, as a flat string (may differ from the company HQ)."},{"type":"null","description":"Where the person holds THIS role, as a flat string (may differ from the company HQ)."}]},"companyDescription":{"oneOf":[{"type":"string","description":"The COMPANY's own description, from its LinkedIn company page — not the person's description of their role (that is `jobDescription`)."},{"type":"null","description":"The COMPANY's own description, from its LinkedIn company page — not the person's description of their role (that is `jobDescription`)."}]},"companyLocationName":{"oneOf":[{"type":"string","description":"The COMPANY's headquarters location as a flat string — not where the person holds the role (that is `jobLocationName`)."},{"type":"null","description":"The COMPANY's headquarters location as a flat string — not where the person holds the role (that is `jobLocationName`)."}]},"industries":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"Industries of the company."},{"type":"null","items":{"type":"string"},"description":"Industries of the company."}]},"startDate":{"oneOf":[{"type":"string","description":"YYYY-MM-DD."},{"type":"null","description":"YYYY-MM-DD."}]},"companySizeRange":{"oneOf":[{"type":"string","description":"Employee-count range, e.g. \"11-50\"."},{"type":"null","description":"Employee-count range, e.g. \"11-50\"."}]},"companyDomain":{"oneOf":[{"type":"string","description":"Company domain — used to find or create the CRM company."},{"type":"null","description":"Company domain — used to find or create the CRM company."}]},"companyWebsiteUrl":{"oneOf":[{"type":"string","description":"Company website URL."},{"type":"null","description":"Company website URL."}]},"companyFoundedYear":{"oneOf":[{"type":"number","description":"Year the company was founded."},{"type":"null","description":"Year the company was founded."}]},"companyLocationCountryCode":{"oneOf":[{"type":"string","description":"ISO-2 country code of the company HQ."},{"type":"null","description":"ISO-2 country code of the company HQ."}]},"specialties":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"Company specialties."},{"type":"null","items":{"type":"string"},"description":"Company specialties."}]}},"description":"The single current position, with its snapshot of the company.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile.oneOf.0.currentPosition","typeLabel":"object | null"}},"description":"The `profile` object from [Get a LinkedIn profile](/reference/api/get-profile), unchanged. It saves one live LinkedIn request per person.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"id":{"oneOf":[{"type":"string","description":"LinkedIn profile id (ACoAA…)."},{"type":"null","description":"LinkedIn profile id (ACoAA…)."}]},"url":{"oneOf":[{"type":"string","description":"Canonical profile URL."},{"type":"null","description":"Canonical profile URL."}]},"slugs":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"All known slugs / ids for the profile."},{"type":"null","items":{"type":"string"},"description":"All known slugs / ids for the profile."}]},"salesNavId":{"oneOf":[{"type":"string","description":"Sales Navigator profile id (ACwAA…/ADEAA…), when known."},{"type":"null","description":"Sales Navigator profile id (ACwAA…/ADEAA…), when known."}]},"firstName":{"oneOf":[{"type":"string","description":"First name."},{"type":"null","description":"First name."}]},"lastName":{"oneOf":[{"type":"string","description":"Last name."},{"type":"null","description":"Last name."}]},"emailAddress":{"oneOf":[{"type":"string","description":"LinkedIn-registered personal email, when visible."},{"type":"null","description":"LinkedIn-registered personal email, when visible."}]},"headline":{"oneOf":[{"type":"string","description":"LinkedIn headline."},{"type":"null","description":"LinkedIn headline."}]},"summary":{"oneOf":[{"type":"string","description":"Long-form bio."},{"type":"null","description":"Long-form bio."}]},"locationName":{"oneOf":[{"type":"string","description":"Flat location string, e.g. \"Paris, Île-de-France, France\"."},{"type":"null","description":"Flat location string, e.g. \"Paris, Île-de-France, France\"."}]},"location":{"oneOf":[{"type":"object","properties":{"city":{"oneOf":[{"type":"string","description":"City part of the structured location."},{"type":"null","description":"City part of the structured location."}]},"region":{"oneOf":[{"type":"string","description":"Region/state part of the structured location."},{"type":"null","description":"Region/state part of the structured location."}]},"country":{"oneOf":[{"type":"string","description":"Country name of the structured location."},{"type":"null","description":"Country name of the structured location."}]},"countryCode":{"oneOf":[{"type":"string","description":"ISO-2 country code."},{"type":"null","description":"ISO-2 country code."}]}},"description":"Structured location."},{"type":"null","properties":{"city":{"oneOf":[{"type":"string","description":"City part of the structured location."},{"type":"null","description":"City part of the structured location."}]},"region":{"oneOf":[{"type":"string","description":"Region/state part of the structured location."},{"type":"null","description":"Region/state part of the structured location."}]},"country":{"oneOf":[{"type":"string","description":"Country name of the structured location."},{"type":"null","description":"Country name of the structured location."}]},"countryCode":{"oneOf":[{"type":"string","description":"ISO-2 country code."},{"type":"null","description":"ISO-2 country code."}]}},"description":"Structured location."}]},"industryName":{"oneOf":[{"type":"string","description":"Industry, read from the profile's ongoing positions."},{"type":"null","description":"Industry, read from the profile's ongoing positions."}]},"educationSchoolNames":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"All school names."},{"type":"null","items":{"type":"string"},"description":"All school names."}]},"phoneNumbers":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"Phone numbers LinkedIn exposes, when visible."},{"type":"null","items":{"type":"string"},"description":"Phone numbers LinkedIn exposes, when visible."}]},"websites":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"Websites listed on the profile."},{"type":"null","items":{"type":"string"},"description":"Websites listed on the profile."}]},"currentPosition":{"oneOf":[{"type":"object","properties":{"jobTitle":{"oneOf":[{"type":"string","description":"Job title of the current position."},{"type":"null","description":"Job title of the current position."}]},"companyName":{"oneOf":[{"type":"string","description":"Company name of the current position."},{"type":"null","description":"Company name of the current position."}]},"companyId":{"oneOf":[{"type":"string","description":"LinkedIn company id."},{"type":"null","description":"LinkedIn company id."}]},"companyUrl":{"oneOf":[{"type":"string","description":"LinkedIn URL of that company."},{"type":"null","description":"LinkedIn URL of that company."}]},"companyLogoUrl":{"oneOf":[{"type":"string","description":"Company logo URL."},{"type":"null","description":"Company logo URL."}]},"jobDescription":{"oneOf":[{"type":"string","description":"The person's own description of THIS role, from their LinkedIn experience entry."},{"type":"null","description":"The person's own description of THIS role, from their LinkedIn experience entry."}]},"jobLocationName":{"oneOf":[{"type":"string","description":"Where the person holds THIS role, as a flat string (may differ from the company HQ)."},{"type":"null","description":"Where the person holds THIS role, as a flat string (may differ from the company HQ)."}]},"companyDescription":{"oneOf":[{"type":"string","description":"The COMPANY's own description, from its LinkedIn company page — not the person's description of their role (that is `jobDescription`)."},{"type":"null","description":"The COMPANY's own description, from its LinkedIn company page — not the person's description of their role (that is `jobDescription`)."}]},"companyLocationName":{"oneOf":[{"type":"string","description":"The COMPANY's headquarters location as a flat string — not where the person holds the role (that is `jobLocationName`)."},{"type":"null","description":"The COMPANY's headquarters location as a flat string — not where the person holds the role (that is `jobLocationName`)."}]},"industries":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"Industries of the company."},{"type":"null","items":{"type":"string"},"description":"Industries of the company."}]},"startDate":{"oneOf":[{"type":"string","description":"YYYY-MM-DD."},{"type":"null","description":"YYYY-MM-DD."}]},"companySizeRange":{"oneOf":[{"type":"string","description":"Employee-count range, e.g. \"11-50\"."},{"type":"null","description":"Employee-count range, e.g. \"11-50\"."}]},"companyDomain":{"oneOf":[{"type":"string","description":"Company domain — used to find or create the CRM company."},{"type":"null","description":"Company domain — used to find or create the CRM company."}]},"companyWebsiteUrl":{"oneOf":[{"type":"string","description":"Company website URL."},{"type":"null","description":"Company website URL."}]},"companyFoundedYear":{"oneOf":[{"type":"number","description":"Year the company was founded."},{"type":"null","description":"Year the company was founded."}]},"companyLocationCountryCode":{"oneOf":[{"type":"string","description":"ISO-2 country code of the company HQ."},{"type":"null","description":"ISO-2 country code of the company HQ."}]},"specialties":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"Company specialties."},{"type":"null","items":{"type":"string"},"description":"Company specialties."}]}},"description":"The single current position, with its snapshot of the company."},{"type":"null","properties":{"jobTitle":{"oneOf":[{"type":"string","description":"Job title of the current position."},{"type":"null","description":"Job title of the current position."}]},"companyName":{"oneOf":[{"type":"string","description":"Company name of the current position."},{"type":"null","description":"Company name of the current position."}]},"companyId":{"oneOf":[{"type":"string","description":"LinkedIn company id."},{"type":"null","description":"LinkedIn company id."}]},"companyUrl":{"oneOf":[{"type":"string","description":"LinkedIn URL of that company."},{"type":"null","description":"LinkedIn URL of that company."}]},"companyLogoUrl":{"oneOf":[{"type":"string","description":"Company logo URL."},{"type":"null","description":"Company logo URL."}]},"jobDescription":{"oneOf":[{"type":"string","description":"The person's own description of THIS role, from their LinkedIn experience entry."},{"type":"null","description":"The person's own description of THIS role, from their LinkedIn experience entry."}]},"jobLocationName":{"oneOf":[{"type":"string","description":"Where the person holds THIS role, as a flat string (may differ from the company HQ)."},{"type":"null","description":"Where the person holds THIS role, as a flat string (may differ from the company HQ)."}]},"companyDescription":{"oneOf":[{"type":"string","description":"The COMPANY's own description, from its LinkedIn company page — not the person's description of their role (that is `jobDescription`)."},{"type":"null","description":"The COMPANY's own description, from its LinkedIn company page — not the person's description of their role (that is `jobDescription`)."}]},"companyLocationName":{"oneOf":[{"type":"string","description":"The COMPANY's headquarters location as a flat string — not where the person holds the role (that is `jobLocationName`)."},{"type":"null","description":"The COMPANY's headquarters location as a flat string — not where the person holds the role (that is `jobLocationName`)."}]},"industries":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"Industries of the company."},{"type":"null","items":{"type":"string"},"description":"Industries of the company."}]},"startDate":{"oneOf":[{"type":"string","description":"YYYY-MM-DD."},{"type":"null","description":"YYYY-MM-DD."}]},"companySizeRange":{"oneOf":[{"type":"string","description":"Employee-count range, e.g. \"11-50\"."},{"type":"null","description":"Employee-count range, e.g. \"11-50\"."}]},"companyDomain":{"oneOf":[{"type":"string","description":"Company domain — used to find or create the CRM company."},{"type":"null","description":"Company domain — used to find or create the CRM company."}]},"companyWebsiteUrl":{"oneOf":[{"type":"string","description":"Company website URL."},{"type":"null","description":"Company website URL."}]},"companyFoundedYear":{"oneOf":[{"type":"number","description":"Year the company was founded."},{"type":"null","description":"Year the company was founded."}]},"companyLocationCountryCode":{"oneOf":[{"type":"string","description":"ISO-2 country code of the company HQ."},{"type":"null","description":"ISO-2 country code of the company HQ."}]},"specialties":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"Company specialties."},{"type":"null","items":{"type":"string"},"description":"Company specialties."}]}},"description":"The single current position, with its snapshot of the company."}]}},"description":"The `profile` object from [Get a LinkedIn profile](/reference/api/get-profile), unchanged. It saves one live LinkedIn request per person.","uniqueKey":"profiles.items.[INDEX].profile.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles.items.[INDEX].profile","typeLabel":"object | null"}},"required":["linkedin_profile_id","full_name"],"uniqueKey":"profiles.items.[INDEX]","typeLabel":"object"},"description":"The people to create, up to 25 per call.","isRequired":true,"uniqueKey":"profiles","typeLabel":"object[]"},"org_linkedin_account_id":{"type":"integer","description":"Leave this out to use your own LinkedIn account. Another person's account is refused with a 403.","uniqueKey":"org_linkedin_account_id","typeLabel":"integer"},"sync_messages":{"type":"boolean","description":"`true` turns on message sync and imports the chat history. `false` keeps it off. Leave it out to follow your Groovin preference.","uniqueKey":"sync_messages","typeLabel":"boolean"}},"required":["profiles"],"uniqueKey":"","typeLabel":"object"},"examples":{"placeholder":{"title":"placeholder","value":{"profiles":[{"linkedin_profile_id":"REPLACE_WITH_LINKEDIN_PROFILE_ID","full_name":"REPLACE_WITH_FULL_NAME"}],"sync_messages":false}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"d21efffa-1abb-457f-b4c3-790585712c62":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","description":"The result of a batch. HTTP 200 does not mean every person succeeded: check each item.","required":["org_linkedin_account_id","total","succeeded","failed","summary","results","retry_guidance"],"properties":{"org_linkedin_account_id":{"type":"integer","description":"Groovin's id for the LinkedIn account this answer is about.","isRequired":true,"uniqueKey":"org_linkedin_account_id","typeLabel":"integer"},"total":{"type":"integer","description":"People in the batch.","isRequired":true,"uniqueKey":"total","typeLabel":"integer"},"succeeded":{"type":"integer","description":"People who now have a CRM contact.","isRequired":true,"uniqueKey":"succeeded","typeLabel":"integer"},"failed":{"type":"integer","description":"People who do not.","isRequired":true,"uniqueKey":"failed","typeLabel":"integer"},"summary":{"type":"string","description":"A one-line summary of the batch, worth reading.","isRequired":true,"uniqueKey":"summary","typeLabel":"string"},"results":{"type":"array","items":{"type":"object","description":"What happened for one person. A `null` `crm_contact_id` means this item failed.","required":["linkedin_profile_id","crm_contact_id","outcome","email","sync_enabled","history_import_triggered","error","error_status","matched_crm_contact_ids"],"properties":{"linkedin_profile_id":{"type":"string","description":"LinkedIn profile id, the `ACoAA…` identifier of a person.","isRequired":true,"uniqueKey":"results.items.[INDEX].linkedin_profile_id","typeLabel":"string"},"crm_contact_id":{"oneOf":[{"type":"string","description":"The CRM contact, or `null` on failure.","isRequired":true,"uniqueKey":"results.items.[INDEX].crm_contact_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"The CRM contact, or `null` on failure.","isRequired":true,"uniqueKey":"results.items.[INDEX].crm_contact_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.items.[INDEX].crm_contact_id","typeLabel":"string | null"},"outcome":{"oneOf":[{"type":"string","enum":["wrong_crm","no_crm_user","linkedin_account_not_connected","preferences_disabled","profile_blocked","missing_name","linkedin_profile_unavailable","multiple_url_matches","multiple_name_matches","multiple_email_matches","uniqueness_conflict","paired_existing_contact","created_new_contact","used_existing_contact","no_contact",null],"description":"What the creation did. `multiple_*_matches` and `uniqueness_conflict` mean the person probably already exists: review the records in `matched_crm_contact_ids`.","isRequired":true,"uniqueKey":"results.items.[INDEX].outcome.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["wrong_crm","no_crm_user","linkedin_account_not_connected","preferences_disabled","profile_blocked","missing_name","linkedin_profile_unavailable","multiple_url_matches","multiple_name_matches","multiple_email_matches","uniqueness_conflict","paired_existing_contact","created_new_contact","used_existing_contact","no_contact",null],"description":"What the creation did. `multiple_*_matches` and `uniqueness_conflict` mean the person probably already exists: review the records in `matched_crm_contact_ids`.","isRequired":true,"uniqueKey":"results.items.[INDEX].outcome.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.items.[INDEX].outcome","typeLabel":"enum\u003cstring> | null"},"email":{"oneOf":[{"type":"string","description":"A verified work email found and saved on a newly created Attio contact. Finding one spends an email credit. `null` otherwise.","isRequired":true,"uniqueKey":"results.items.[INDEX].email.oneOf.0","typeLabel":"string"},{"type":"null","description":"A verified work email found and saved on a newly created Attio contact. Finding one spends an email credit. `null` otherwise.","isRequired":true,"uniqueKey":"results.items.[INDEX].email.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.items.[INDEX].email","typeLabel":"string | null"},"sync_enabled":{"type":"boolean","description":"`true` when message sync was turned on.","isRequired":true,"uniqueKey":"results.items.[INDEX].sync_enabled","typeLabel":"boolean"},"history_import_triggered":{"type":"boolean","description":"`true` when this call started importing the chat history.","isRequired":true,"uniqueKey":"results.items.[INDEX].history_import_triggered","typeLabel":"boolean"},"error":{"oneOf":[{"type":"string","description":"What went wrong for this item, or `null`. Always read it: the rest of the batch can still have succeeded.","isRequired":true,"uniqueKey":"results.items.[INDEX].error.oneOf.0","typeLabel":"string"},{"type":"null","description":"What went wrong for this item, or `null`. Always read it: the rest of the batch can still have succeeded.","isRequired":true,"uniqueKey":"results.items.[INDEX].error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.items.[INDEX].error","typeLabel":"string | null"},"error_status":{"oneOf":[{"type":"integer","description":"HTTP status behind `error`. `429` means rate limited and `5xx` usually means temporary: retry later. `null` when there is no error.","isRequired":true,"uniqueKey":"results.items.[INDEX].error_status.oneOf.0","typeLabel":"integer"},{"type":"null","description":"HTTP status behind `error`. `429` means rate limited and `5xx` usually means temporary: retry later. `null` when there is no error.","isRequired":true,"uniqueKey":"results.items.[INDEX].error_status.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.items.[INDEX].error_status","typeLabel":"integer | null"},"matched_crm_contact_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"results.items.[INDEX].matched_crm_contact_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Existing records to review, with `multiple_*_matches` or `uniqueness_conflict`. `null` otherwise.","isRequired":true,"uniqueKey":"results.items.[INDEX].matched_crm_contact_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Existing records to review, with `multiple_*_matches` or `uniqueness_conflict`. `null` otherwise.","isRequired":true,"uniqueKey":"results.items.[INDEX].matched_crm_contact_ids.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.items.[INDEX].matched_crm_contact_ids","typeLabel":"string[] | null"}},"uniqueKey":"results.items.[INDEX]","typeLabel":"object"},"description":"One item per person.","isRequired":true,"uniqueKey":"results","typeLabel":"object[]"},"retry_guidance":{"oneOf":[{"type":"string","description":"Plain-text advice when some items failed for a temporary reason, otherwise `null`. Follow it: it says when to retry, and which items.","isRequired":true,"uniqueKey":"retry_guidance.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plain-text advice when some items failed for a temporary reason, otherwise `null`. Follow it: it says when to retry, and which items.","isRequired":true,"uniqueKey":"retry_guidance.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"retry_guidance","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"example":{"org_linkedin_account_id":4821,"total":1,"succeeded":1,"failed":0,"summary":"1 created.","results":[{"linkedin_profile_id":"ACoAAExampleLinkedinProfileId","crm_contact_id":"example-crm-contact-id","outcome":"created_new_contact","email":null,"sync_enabled":false,"history_import_triggered":false,"error":null,"error_status":null,"matched_crm_contact_ids":null}],"retry_guidance":null},"examples":{"Example":{"title":"Example","value":{"org_linkedin_account_id":4821,"total":1,"succeeded":1,"failed":0,"summary":"1 created.","results":[{"linkedin_profile_id":"ACoAAExampleLinkedinProfileId","crm_contact_id":"example-crm-contact-id","outcome":"created_new_contact","email":null,"sync_enabled":false,"history_import_triggered":false,"error":null,"error_status":null,"matched_crm_contact_ids":null}],"retry_guidance":null}}},"exampleType":"examples"}},"exampleType":"examples"},"398bb046-16c0-4089-ab41-793dd80b7bda":{"description":"Something in the request is wrong: `error` says what.","content":{"application/json":{"schema":{"type":"object","description":"What every failed request answers, with an HTTP status. The text can change: decide what to do from the status, and show the text to a person.","required":["error"],"properties":{"error":{"type":"string","description":"What went wrong, and sometimes what to do next.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"a8b28ee3-5f72-4e82-89d0-bf613e1bdf3d":{"description":"The API key is missing, wrong or revoked.","content":{"application/json":{"schema":{"type":"object","description":"What every failed request answers, with an HTTP status. The text can change: decide what to do from the status, and show the text to a person.","required":["error"],"properties":{"error":{"type":"string","description":"What went wrong, and sometimes what to do next.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"66a8b337-5c4a-4924-be72-999cf0898234":{"description":"Your account cannot do this: no CRM connected, inactive subscription, Billing admin role, or a teammate's LinkedIn account.","content":{"application/json":{"schema":{"type":"object","description":"What every failed request answers, with an HTTP status. The text can change: decide what to do from the status, and show the text to a person.","required":["error"],"properties":{"error":{"type":"string","description":"What went wrong, and sometimes what to do next.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"7c8a1ddd-8ead-4326-9ac2-7dd28ccfbffd":{"description":"What you asked for does not exist, or your LinkedIn account is not connected.","content":{"application/json":{"schema":{"type":"object","description":"What every failed request answers, with an HTTP status. The text can change: decide what to do from the status, and show the text to a person.","required":["error"],"properties":{"error":{"type":"string","description":"What went wrong, and sometimes what to do next.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"eeda8204-50fd-431d-a986-c1cf763c19dd":{"description":"LinkedIn or your CRM is slowing you down. Wait at least 5 minutes.","content":{"application/json":{"schema":{"type":"object","description":"What every failed request answers, with an HTTP status. The text can change: decide what to do from the status, and show the text to a person.","required":["error"],"properties":{"error":{"type":"string","description":"What went wrong, and sometimes what to do next.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"6d2982e1-d1f4-49cb-a2cf-7b1e4c2af499":{"description":"Something failed on our side.","content":{"application/json":{"schema":{"type":"object","description":"What every failed request answers, with an HTTP status. The text can change: decide what to do from the status, and show the text to a person.","required":["error"],"properties":{"error":{"type":"string","description":"What went wrong, and sometimes what to do next.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"83b5ff7b-7019-411c-810b-9830a8b92097":{"description":"LinkedIn or your CRM could not be reached or gave an unreadable answer.","content":{"application/json":{"schema":{"type":"object","description":"What every failed request answers, with an HTTP status. The text can change: decide what to do from the status, and show the text to a person.","required":["error"],"properties":{"error":{"type":"string","description":"What went wrong, and sometimes what to do next.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"3ed4ef1e-3328-437b-84d1-83f04b15cfea":{"apiKey":{"type":"http","scheme":"bearer","description":"Your Groovin API key (`gv_live_…`), created in the extension under Settings, MCP and API.","scopes":[],"schemeName":"apiKey"}}},"servers":{"a0487c26-68da-4177-9726-8d6498ae07a4":{"url":"https://api.groovin.ai/functions/v1/api/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Your Groovin API key (`gv_live_…`), created in the extension under Settings, MCP and API.","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Your Groovin API key (`gv_live_…`), created in the extension under Settings, MCP and API.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"reference/openapi.json"},"subdomain":"groovin","siteName":"Groovin","title":"Create CRM contacts - Groovin","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T19:46:01.587Z","originalFileLocation":"reference/api/create-contacts.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=\"Create contacts in your CRM from LinkedIn people, or link them to a contact that already exists. Companies are found or created along the way.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Groovin\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://media.brand.dev/f810fcbb-2382-4110-80c2-f249d1f9f172.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://media.brand.dev/f810fcbb-2382-4110-80c2-f249d1f9f172.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://media.brand.dev/f810fcbb-2382-4110-80c2-f249d1f9f172.png\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/png\" href=\"https://media.brand.dev/f810fcbb-2382-4110-80c2-f249d1f9f172.png\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create CRM contacts - Groovin\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create contacts in your CRM from LinkedIn people, or link them to a contact that already exists. Companies are found or created along the way.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Groovin\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.groovin.ai/reference/api/create-contacts\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://groovin.mintlify.app/_mintlify/api/og/v2?division=CRM+contacts+and+companies\u0026amp;title=Create+CRM+contacts\u0026amp;description=Create+contacts+in+your+CRM+from+LinkedIn+people%2C+or+link+them+to+a+contact+that+already+exists.+Companies+are+found+or+created+along+the+way.\u0026amp;theme=2fb27e555653d3152d4427c9\u0026amp;signature=c03ce8556058b35dc574eb703f92255bc8d52c4381375ef1bb2cdea9ddc85714\">\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 CRM contacts - Groovin\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create contacts in your CRM from LinkedIn people, or link them to a contact that already exists. Companies are found or created along the way.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://groovin.mintlify.app/_mintlify/api/og/v2?division=CRM+contacts+and+companies\u0026amp;title=Create+CRM+contacts\u0026amp;description=Create+contacts+in+your+CRM+from+LinkedIn+people%2C+or+link+them+to+a+contact+that+already+exists.+Companies+are+found+or+created+along+the+way.\u0026amp;theme=2fb27e555653d3152d4427c9\u0026amp;signature=c03ce8556058b35dc574eb703f92255bc8d52c4381375ef1bb2cdea9ddc85714\">\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/groovin/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Groovin\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#f37546\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.groovin.ai/reference/api/create-contacts\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/reference/api/create-contacts.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.groovin.ai/#organization\",\"name\":\"Groovin\",\"url\":\"https://docs.groovin.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://media.brand.dev/8a452a89-9e16-46a4-97fb-c1afa22cee62.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.groovin.ai#website\",\"name\":\"Groovin\",\"url\":\"https://docs.groovin.ai\",\"publisher\":{\"@id\":\"https://docs.groovin.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.groovin.ai/reference/api/create-contacts#webpage\",\"url\":\"https://docs.groovin.ai/reference/api/create-contacts\",\"name\":\"Create CRM contacts\",\"description\":\"Create contacts in your CRM from LinkedIn people, or link them to a contact that already exists. Companies are found or created along the way.\",\"dateModified\":\"2026-11-05T19:46:01.587Z\",\"isPartOf\":{\"@id\":\"https://docs.groovin.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.groovin.ai/reference/api/create-contacts#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.groovin.ai/reference/api/create-contacts#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"REST API\",\"item\":\"https://docs.groovin.ai/reference/api/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CRM contacts and companies\",\"item\":\"https://docs.groovin.ai/reference/api/lookup-contacts\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create CRM contacts\",\"item\":\"https://docs.groovin.ai/reference/api/create-contacts\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.groovin.ai/reference/api/create-contacts#apireference\",\"headline\":\"Create CRM contacts\",\"name\":\"Create CRM contacts\",\"description\":\"Create contacts in your CRM from LinkedIn people, or link them to a contact that already exists. Companies are found or created along the way.\",\"url\":\"https://docs.groovin.ai/reference/api/create-contacts\",\"mainEntityOfPage\":{\"@id\":\"https://docs.groovin.ai/reference/api/create-contacts#webpage\"},\"dateModified\":\"2026-11-05T19:46:01.587Z\",\"publisher\":{\"@id\":\"https://docs.groovin.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.groovin.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Groovin\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Groovin","nav":{"global":null,"tabs":[{"tab":"Getting started","icon":"home","hidden":true},{"tab":"MCP Server","icon":"code","pages":[{"title":"MCP Server","href":"/mcp/overview"}]},{"tab":"MCP and API","groups":[{"group":"Get started","pages":[{"title":"MCP and API","href":"/reference/introduction"},{"title":"Quickstart","href":"/reference/quickstart"},{"title":"Use these docs with your AI assistant","href":"/reference/ai-assistants"},{"title":"Authentication","href":"/reference/authentication"},{"title":"Identifiers","href":"/reference/identifiers"}]},{"group":"Safety and limits","pages":[{"title":"What each call really does","mode":"wide","href":"/reference/side-effects"},{"title":"Limits and quotas","href":"/reference/limits"},{"title":"Errors","href":"/reference/errors"},{"title":"Long lists","href":"/reference/pagination"},{"title":"Changes and compatibility","href":"/reference/versioning"}]},{"group":"REST API","pages":[{"title":"REST API","href":"/reference/api/overview"},{"group":"LinkedIn","pages":[{"title":"List the people in your conversations","openapi":"reference/openapi.json POST /linkedin/conversation-attendees","href":"/reference/api/list-conversation-attendees"},{"title":"Read a conversation","openapi":"reference/openapi.json POST /linkedin/chat-messages","href":"/reference/api/get-chat-messages"},{"title":"Mark a conversation as read or unread","openapi":"reference/openapi.json POST /linkedin/chat-read-status","href":"/reference/api/set-chat-read-status"},{"title":"Get a LinkedIn profile","openapi":"reference/openapi.json POST /linkedin/profile","href":"/reference/api/get-profile"},{"title":"Send a LinkedIn message","openapi":"reference/openapi.json POST /linkedin/messages","href":"/reference/api/send-message"},{"title":"Send a LinkedIn invitation","openapi":"reference/openapi.json POST /linkedin/invitations","href":"/reference/api/send-invitation"},{"title":"List your LinkedIn connections","openapi":"reference/openapi.json POST /linkedin/relations","href":"/reference/api/list-relations"},{"title":"List your pending invitations","openapi":"reference/openapi.json POST /linkedin/pending-invitations","href":"/reference/api/list-pending-invitations"}]},{"group":"CRM contacts and companies","pages":[{"title":"Check who is already in your CRM","description":"For a list of LinkedIn people, find out who already exists in your CRM. Run this before creating contacts, to avoid duplicates.","openapi":"reference/openapi.json POST /crm/contacts/lookup","href":"/reference/api/lookup-contacts"},{"title":"Create CRM contacts","openapi":"reference/openapi.json POST /crm/contacts","href":"/reference/api/create-contacts"},{"title":"List your synced contacts","description":"See the CRM contacts whose LinkedIn conversation is synced with Groovin, most recently synced first.","openapi":"reference/openapi.json POST /crm/contacts/synced","href":"/reference/api/list-synced-contacts"},{"title":"Turn message sync on or off","openapi":"reference/openapi.json POST /crm/contacts/sync-toggle","href":"/reference/api/toggle-sync"},{"title":"Find missing LinkedIn URLs","openapi":"reference/openapi.json POST /crm/contacts/find-linkedin-url","href":"/reference/api/find-linkedin-urls"},{"title":"Find missing company domains","openapi":"reference/openapi.json POST /crm/companies/find-domains","href":"/reference/api/find-company-domains"}]},{"group":"LinkedIn connections import","pages":[{"title":"Start a connections import","openapi":"reference/openapi.json POST /crm/connections-import/start","href":"/reference/api/start-connections-import"},{"title":"Check a connections import","openapi":"reference/openapi.json POST /crm/connections-import/status","href":"/reference/api/get-connections-import"},{"title":"Stop a connections import","openapi":"reference/openapi.json POST /crm/connections-import/cancel","href":"/reference/api/cancel-connections-import"}]},{"title":"Data models","href":"/reference/data-models"}]},{"group":"MCP","pages":[{"title":"Connect your AI tool","href":"/reference/mcp/connect"},{"title":"MCP tools","href":"/reference/mcp/tools"},{"title":"Browser sign-in","href":"/reference/mcp/oauth"},{"title":"Protocol details","href":"/reference/mcp/protocol"},{"title":"MCP errors","href":"/reference/mcp/errors"}]},{"group":"Webhooks","pages":[{"title":"Webhooks","href":"/reference/webhooks/overview"},{"title":"New LinkedIn message","openapi":"reference/openapi.json webhook linkedin.message.created","href":"/reference/webhooks/message-created"},{"title":"New LinkedIn connection","openapi":"reference/openapi.json webhook linkedin.relation.created","href":"/reference/webhooks/relation-created"},{"title":"The crm_contact block","href":"/reference/webhooks/crm-contact"},{"title":"Verify signatures","href":"/reference/webhooks/verify-signatures"},{"title":"Delivery and retries","href":"/reference/webhooks/delivery"},{"title":"Set up a webhook","href":"/reference/webhooks/manage"}]},{"group":"Help","pages":[{"title":"Known issues and troubleshooting","href":"/reference/known-issues"}]}]}]},"basePath":"","title":"Create CRM contacts - Groovin","buildId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","deploymentId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-B5zPa4Vr.js","utils-CVjrr8Yd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DTgURWzl.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DxTHtkdZ.js","snippetPresets-Cx47o5Vx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-CYZot51e.js","ApiExamples-4Fr6y9N_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Dq2ElbEk.js","shallow-BfYl9r69.js","getApiPlaygroundDisplay-Ch3xc7i1.js","CodeSnippet-BsBxuJ1v.js","CodeSnippets-CetzeDL8.js","getPastedJson-BxPKFSJx.js","icon-o0J1Ochb.js","MethodPill-Du3usO5m.js","DuplicateIcon-DJypyMzl.js","createIcon-YMA6N8KJ.js","DynamicMarkdown-CWvhfcZc.js","SectionHeading-BdLVaXCd.js","axios-vUo_bRtp.js","Markdown-C4Ez6OeV.js","clsx-DptzKFCt.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Dt1IougW.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CZ6Wt2Vb.js"]}