Callback registered with the App via App.onIdentify to process incoming device discovery requests.

To support local fulfillment, the local home platform sends an IDENTIFY intent to discover what devices are present locally, then uses the SYNC intent to verify with the provider's cloud service that the device is available for local fulfillment.

To learn more about how the platform establishes a local fulfillment path, see the developer guide.

const identifyHandler = (request: IntentFlow.IdentifyRequest):
  IntentFlow.IdentifyResponse => {

    // Obtain scan data from protocol defined in your scan config
    const device = request.inputs[0].payload.device;
    const scanData = device.udpScanData;

    // Decode scan data to obtain metadata about local device
    const verificationId = "local-device-id";

    // Return a response
    const response: IntentFlow.IdentifyResponse = {
      intent: Intents.IDENTIFY,
      requestId: request.requestId,
      payload: {
        device: {
          id: || "",
          verificationId, // Must match otherDeviceIds in SYNC response
    return response;