Skip to content

Start asynchronous plugin processing

POST /plugin/async

Reference path for manifest endpointUrl when isAsync is true. For call create and update, App Connect saves the CRM activity first, creates a one-week callback task, synchronizes the plugin token, and POSTs data, config, asyncTaskId, callbackUrl, and hashedExtensionId. Any 2xx means dispatch completed; App Connect ignores the body and refresh headers. The plugin later reports completion to callbackUrl, and failure does not roll back the activity. For SMS and fax, App Connect synchronizes the token and starts an unawaited fire-and-forget POST before connector logging continues. SMS/fax dispatch now also includes asyncTaskId, callbackUrl and hashedExtensionId, with the original message payload nested at data.logInfo.logInfo. Older servers may send the legacy data/config-only envelope.

Operation ID: invokeAsynchronousPlugin
Authorization: BEARER

Request body

Callback-enabled call, SMS or fax invocation. All new requests include task and callback fields. SMS/fax wrap the original message payload under data.logInfo, producing message details at data.logInfo.logInfo. The legacy data/config-only SMS/fax envelope from older servers remains documented.

Required: Yes

Content type: application/json

Schema: one of: AsyncCallbackInvocationRequest, AsyncFireAndForgetInvocationRequest

{
  "data": {
    "logInfo": {
      "sessionId": "session-123",
      "direction": "Outbound",
      "startTime": "2026-07-14T09:30:00.000Z",
      "duration": 120,
      "result": "Completed"
    },
    "note": "Follow up tomorrow.",
    "additionalSubmission": {}
  },
  "config": null,
  "asyncTaskId": "4d3e22d7-2764-42d5-9d1c-dae7b45e40b3",
  "callbackUrl": "https://app-connect.example.com/plugin/async-callback/4d3e22d7-2764-42d5-9d1c-dae7b45e40b3",
  "hashedExtensionId": "6b5d3fcae1f7"
}

Responses

Status Description Body
200 Template acknowledgment for a callback-enabled task. For call dispatch, App Connect treats any 2xx as dispatched without inspecting accepted, asyncTaskId, or message; SMS and fax do not await or inspect the response. AsyncAcceptanceResponse
202 The provider accepted asynchronous processing. App Connect treats this the same as any other successful 2xx dispatch and ignores the body. —
204 The provider accepted asynchronous processing without a response body. App Connect treats this as a successful dispatch. —
400 The unmodified template returns this whenever asyncTaskId or callbackUrl is absent, including the legacy SMS/fax envelope from older servers. AsyncRejectedResponse
401 The plugin bearer credential is missing or invalid. TextError
403 The credential is valid but is not authorized for the requested account or plugin. The template's plugin-id comparison works only after the route or trusted configuration supplies a plugin identifier; its documented paths do not contain :pluginId. TextError
500 The plugin server could not accept the task. TextError