An apparatus for Internet of Things, loT, communication, comprising: an loT support service (351; 451) including one or more devices, the devices including at least one memory adapted to store run-time data for the devices, and at least one processor that is adapted to execute processor-executable code that, in response to execution, enables the loT support service to perform actions, characterized in that the actions include: establishing a mapping between: a plurality of loT devices (341-343; 441, 442) that are tenants of the loT support service, and tenants of a first third-party cloud service (314; 414); on the loT support service, storing a plurality of device twins (DT1, DT2) such that each device twin of the plurality of device twins corresponds to a corresponding loT device, and such that each device twin of the plurality of device twins includes at least a first section that includes properties of the corresponding loT device, wherein at least a part of the properties are synchronized with the corresponding loT device, and a second section that includes properties associated with the first third-party cloud service, wherein the device twins are used to synchronize IoT device conditions and configurations between the loT support service and the first third-party cloud service, and wherein the device twins expose metadata information about supported operations for the corresponding loT device, including operations associated with the first third-party cloud service; and invoking, through the loT support service, a first method associated with at least one loT device based on metadata in at least one corresponding device twin of the plurality of device twins, wherein the first method is invoked in response to an instruction received from an application backend, and wherein the first method is associated with the first third-party cloud service and corresponds to operations in the loT device. establishing a mapping between: a plurality of loT devices (341-343; 441, 442) that are tenants of the loT support service, and tenants of a first third-party cloud service (314; 414); on the loT support service, storing a plurality of device twins (DT1, DT2) such that each device twin of the plurality of device twins corresponds to a corresponding loT device, and such that each device twin of the plurality of device twins includes at least a first section that includes properties of the corresponding loT device, wherein at least a part of the properties are synchronized with the corresponding loT device, and a second section that includes properties associated with the first third-party cloud service, wherein the device twins are used to synchronize IoT device conditions and configurations between the loT support service and the first third-party cloud service, and wherein the device twins expose metadata information about supported operations for the corresponding loT device, including operations associated with the first third-party cloud service; and invoking, through the loT support service, a first method associated with at least one loT device based on metadata in at least one corresponding device twin of the plurality of device twins, wherein the first method is invoked in response to an instruction received from an application backend, and wherein the first method is associated with the first third-party cloud service and corresponds to operations in the loT device.