In the good old days before IoT came along, product companies managed to get away with a blissfully passive approach to customer service: ship the product and hope never to hear about it again.
There are many excellent CRM tools out there, and all are now available as a pure SaaS (software-as-a-service - an application running in a web browser). Companies might start out using, for example, Zendesk, Zoho, or HubSpot as their CRM, whereas enterprises might be more likely to choose Salesforce or even SAP C/4HANA.
At the core of any CRM is the ability to raise a ticket when there's a problem, attach it to a customer, and then track is through to resolution. Ideally, the customer is automatically kept informed of progress (possibly via their own login to the product or email notifications). Along the way, it may also be necessary to "escalate" the ticket from front-line customer support to 2nd line or 3rd line support for the more gnarly problems less amenable to formulaic resolution. CRMs also track overall statistics so that the team can see the volume of problems by category, whether volumes are increasing or decreasing, and whether the time-to-resolution is acceptable.
The advent of IoT has raised customers' expectations of support of a more complex product, but has also provided the means to meet those expectations be reusing the product's internet connection.
Rather than wait for the angry email (or worse, a public slagging off on social media), product companies can now put in place systems and processes to automatically identify poor customer experiences remotely, through the product's internet connection. In some cases, the problem can be resolved before the customer notices, and thus the product world is moving from a reactive mode with response measured in days, to a proactive mode where problems may be identified and fixed in hours.
(Interested in understanding how you can get really proactive with your IoT? Check out this post.)
Mapping IoT onto CRM
So the secret to becoming proactive is to have some automated system which can detect that there's a problem with a thing, and then raise a ticket for that thing in your CRM.
A challenge is that CRM tools typically understand concepts like users, customers and tickets... but not things. For example, a customer may own multiple things.
The exact solution depends on the CRM system, but a neat solution that we've used (like when we integrated DevicePilot with Zendesk CRM in this use case) is to treat each device as if it is a unique user of the CRM. So when a device belonging to Customer A goes wrong, the ticket is raised in the CRM by a virtual user with a unique email address representing the device, such as "customerAfirstname.lastname@example.org". Thus all the mechanisms, integrations and familiarity of the CRM (including, for example, the history of what a particular user has been doing) can be brought to bear with the new world of IoT devices.
Ideally, any system which automatically raises tickets in this manner should also close them if it determines automatically that they've been resolved. For example, if your system has automatically raised a ticket saying "device 1234 offline" and then the device comes back online, the ticket should be marked as resolved.
So this isn't about spamming humans with alerts, it's about keeping two systems (your CRM and your IoT service) synchronised in a way that helps your business process become more efficient, and your customers happier.