A valid request URL is required to generate request examples{
"data": {
"kind": "hubspot",
"enabled": true,
"screenPopPriority": 10,
"isDefault": false,
"spec": {
"searchObject": "contacts",
"nameFields": [
"firstname",
"lastname"
],
"companyField": "company",
"deepLinkTemplate": "https://app.hubspot.com/contacts/{{portal_id}}/contact/{{id}}"
}
}
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Set a connection's softphone contact-card spec
Upserts the connection’s ContactCardSpec override — the slot projections, open-deals read, the deep-link template (only and placeholders are allowed; an unknown placeholder or a non-https URL is rejected), the screen-pop priority (lower wins when multiple CRMs are connected), and the enabled flag. All fields optional; omitted fields keep their current value. 404 if the provider isn’t connected. The spec is a free-form object. Expected keys: searchObject (the CRM object matched on the caller number), nameFields / companyField (provider field paths filling the card’s name/company slots), openDeals (optional read), and deepLinkTemplate (an https URL using only / placeholders).
A valid request URL is required to generate request examples{
"data": {
"kind": "hubspot",
"enabled": true,
"screenPopPriority": 10,
"isDefault": false,
"spec": {
"searchObject": "contacts",
"nameFields": [
"firstname",
"lastname"
],
"companyField": "company",
"deepLinkTemplate": "https://app.hubspot.com/contacts/{{portal_id}}/contact/{{id}}"
}
}
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Authorizations
Flowyte secret API key (Authorization: Bearer flowyte_sk_live_…). Scope-gated; is scoped to your organization — a key can never reach another tenant. The listed scopes in each operation's apiKey requirement are the scopes that key must hold. The tokenUrl is nominal: keys are minted in the dashboard.
Path Parameters
The integration provider (connector). One of the supported connector slugs: native providers (google_calendar, google_sheets, calendly, hubspot, ``, square, opentable, shopify), SQL databases (postgres, mysql), the universal Zapier MCP fallback (zapier), or Composio (composio).
google_calendar, google_sheets, calendly, hubspot, square, opentable, shopify, postgres, mysql, zapier, composio Body
Response
The updated contact-card config.