PATCH /v2/connect/connectors/{connector}

Update a connector and return the connector with any service-side update signals that the caller must handle.

Servers

Path parameters

Name Type Required Description
connector String Yes

Stable connector ID or URL-encoded team-scoped UID. Examples: scl_abc123 or slack%2Fmy-bot.

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Query parameters

Name Type Required Description
teamId String No

The team ID that scopes the request. Do not send it with slug. If both are omitted, Vercel uses the team associated with the token or the authenticated user's default team. The request returns 401 if no team can be selected.

slug String No

The team slug that scopes the request. Do not send it with teamId. If both are omitted, Vercel uses the team associated with the token or the authenticated user's default team. The request returns 401 if no team can be selected.

Request body fields

Name Type Required Description
data No

Provider configuration fields for the connector type.

accentColor String No
name String No

Display name for the connector. It is trimmed and cannot be empty or contain control characters.

uid String No

Full team-scoped UID, such as slack/my-bot. It cannot contain whitespace, %, #, control characters, or Vercel-owned namespaces. Changing it breaks callers that use the old UID. The stable connector ID does not change.

triggers Boolean No

Whether the triggers are enabled for this connector.

events[] Array No

Default trigger events for this connector.

backgroundColor String No
icon String No

SHA-1 digest of a PNG or JPEG icon that is at least 640 by 640 pixels. This field does not accept a URL or image bytes.

First compute the digest and upload the raw image with POST /v2/files. Send Content-Length and the same 40-character digest in x-vercel-digest. Then set icon to that digest.

import { createHash } from 'node:crypto';
import { readFile } from 'node:fs/promises';

const VERCEL_TOKEN = process.env.VERCEL_TOKEN;
const connectorId = 'scl_...';
const bytes = await readFile('icon.png');
const digest = createHash('sha1').update(bytes).digest('hex');

await fetch('https://api.vercel.com/v2/files', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${VERCEL_TOKEN}`,
    'Content-Type': 'application/octet-stream',
    'Content-Length': String(bytes.length),
    'x-vercel-digest': digest,
  },
  body: bytes,
});

await fetch(`https://api.vercel.com/v2/connect/connectors/${connectorId}`, {
  method: 'PATCH',
  headers: {
    Authorization: `Bearer ${VERCEL_TOKEN}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ icon: digest }),
});

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.