Docs

SDK reference

Methods for tokens, integrations, installations, metadata, workflows, and actions in the Embedded SDK.

Load the Client SDK, create an instance with window.MindCloud(), and call setToken() before methods that read or change an end user's data. The browser receives an end-user token from your backend, never your API key.

Authentication

setToken

mindCloud.setToken(token) sets the end-user JWT used by SDK requests. Call it again when you refresh the token.

getTokenExpiration

mindCloud.getTokenExpiration() returns the token's expiry as a Date, or null when no usable expiry is available.

const expiry = mindCloud.getTokenExpiration();
if (!expiry || expiry.getTime() <= Date.now() + 60_000) {
  mindCloud.setToken(await getTokenFromYourBackend());
}

Integrations and installations

getIntegrations

await mindCloud.getIntegrations() returns the integrations array, with installations for this end user. A call without options can return cached data. Pass { includeWorkflows: true } to fetch fresh data, or { includeWorkflows: false } to fetch without workflow details. An empty array can also follow an expired token or failed load; check the token and request before treating it as no integrations.

install

mindCloud.install({ integrationId, metadata?, onAuthenticationComplete?, onClose? }) opens the install modal. metadata supplies installation values defined by the integration. onAuthenticationComplete receives an object with installationId and appId after authentication.

modify

mindCloud.modify({ installationId, onAuthenticationComplete?, onClose? }) opens an existing installation in the modal. It does not accept a metadata update. Use updateMetadata() for that.

uninstall and reinstall

await mindCloud.uninstall({ installationId }) marks an installation uninstalled. It does not delete the installation row. await mindCloud.reinstall({ installationId, metadata? }) attempts to reinstall it. Required connections must be valid before the installation is complete.

activate and deactivate

await mindCloud.activate({ installationId }) and await mindCloud.deactivate({ installationId }) change whether an installation is active. They do not delete it.

updateMetadata

await mindCloud.updateMetadata({ installationId, metadata }) validates and merges defined metadata fields into an existing installation. The request can fail with per-field validation errors in error.response.errors.

await mindCloud.updateMetadata({
  installationId,
  metadata: { storeName: 'West store' }
});

Workflows and actions

enableWorkflow and disableWorkflow

await mindCloud.enableWorkflow({ workflowId, installationId }) enables one installed workflow. disableWorkflow() takes the same fields and disables it.

runAppAction

await mindCloud.runAppAction({ installationId, appId, appVersion: 'published', actionId, actionArguments? }) runs an action with the installation's connection. appVersion defaults to published. The SDK uses the end-user token set with setToken().

const result = await mindCloud.runAppAction({
  installationId,
  appId,
  actionId,
  actionArguments: { message: 'Hello' }
});

For the HTTP contract, see Run an app action. For workflow integration setup, see Build your first integration.