# Integrations in Eye on Data
Eye on Data supports integrations with external platforms in order to centralise data flows and avoid double entry. This lets you work more efficiently while keeping control over work orders, planning, materials and time registration.
# Overview
Not every organisation uses every integration. They are usually set up by your organisation's administrator or by Eye on Data support, and you will find them under Organisation > Integrations.
| Integration | What it does | Relevant when |
|---|---|---|
| Robaws | Retrieves customers, contacts, sales orders, projects and articles; sends work orders back | You manage your administration in Robaws |
| SMTP | Routes all outgoing email through your own mail server | You want messages to come from your own domain |
| Spryng | SMS for alarms | You want to receive alarms by SMS as well |
If an integration is not enabled, the platform simply keeps working. Without SMTP, email is sent through the Eye on Data mail server; without Spryng, alarms are delivered by email only; without Robaws, you manage customers, projects and articles directly in Eye on Data.
# Robaws integration
The Robaws integration works in two directions, each with its own source of truth:
| Direction | What | Source of truth |
|---|---|---|
| Robaws β Eye on Data | Customers, contacts, sales orders, projects and articles | Robaws is the source for administration |
| Eye on Data β Robaws | Work orders from approved workflows | Eye on Data is the source for execution |
The integration is configured per organisation. The inbound direction (Robaws β EoD) runs automatically every hour, as long as the "Synchronise automatically with Robaws" option is enabled. If it is off, nothing is retrieved. The outbound direction (EoD β Robaws) is triggered the moment a work order is sent.
# Robaws β Eye on Data
Objects are matched through a link ID. You will find it per object under Integration IDs on the detail page.
How quickly does a change arrive?
Robaws sends Eye on Data a notification the moment something changes, so a change is normally visible within seconds. If that notification does not arrive or cannot be processed, the change is picked up by the next hourly retrieval. So allow for up to an hour. If you still see nothing after that, check the logs (see Troubleshooting).
# Customers β Companies
| Robaws | Eye on Data | Note |
|---|---|---|
name | Name | Required. A customer without a name is not imported. |
website | Website | |
vatIdNumber | VAT number | |
address | Company location | Only when a street and number are filled in. |
invoiceAddress | Invoicing location | Same. |
archivedAt | Deleted | Archiving in Robaws marks the company as deleted in EoD. |
| - | Type | For a new company this becomes Customer. For an existing company your own choice is kept. |
| - | Default service | Created automatically the first time the company is synchronised. |
# Customer contacts β Users
| Robaws | Eye on Data | Note |
|---|---|---|
name | First name | |
surname | Last name | |
email | Email address and username | Required. A contact without an email address is skipped; this is reported in the logs. |
tel | Phone | |
gsm | Additional phone | |
position | Job title | |
archivedAt | Login disabled and user deleted | An archived contact can no longer sign in. |
| - | Role | On first import the contact receives the Guest role. If you change it afterwards in EoD, your change is kept. |
A Guest only sees a dashboard
The Guest role gives a contact access to the dashboard and nothing else: no object tree, no alarm settings. If the contact needs to follow up on their installation and set alarm values, assign the Responsible role instead. See Users for what each role is allowed to do.
Contacts are read from the customer, not from the project
The integration reads contacts only from the customer in Robaws. Contacts attached to a project in Robaws are not retrieved.
A contact is therefore linked to the company in Eye on Data, and a company link grants access to all projects of that company. To limit someone to a single site, link that person manually to the site through Access on the project page, and do not add them as a contact on the customer in Robaws.
Note the reverse direction as well: the synchronisation never revokes access. If you remove a contact from a customer in Robaws, that person keeps their access in Eye on Data until you remove the link there manually.
# Sales orders β Services
| Robaws | Eye on Data | Note |
|---|---|---|
logicId | Name | Without a value the default name is used. |
title | Description | |
distance | Distance | Used for the mileage allowance when a work order is sent. |
clientId | Company | The matching company must already be synchronised, otherwise an error follows. |
# Projects β Projects (sites)
| Robaws | Eye on Data | Note |
|---|---|---|
planningName | Name | If empty, logicId is used as the name. |
logicId | Description | |
clientId | Company | The matching company must already be synchronised. |
date | Start date | |
siteAddress | Installation location | See the warning below. |
archivedAt / deletedAt | Deleted | |
| - | Availability | A new project is set to "always available" by default. |
An empty site address in Robaws overwrites the location in EoD
On every synchronisation the project location is taken from the site address in Robaws. If there is no street and number, the location in Eye on Data is cleared.
As a result the project and the assets underneath it disappear from the map and from the main dashboard, even though the devices keep measuring and raising alarms. This mainly affects projects that exist in Robaws only for a sale or an order and therefore have no site address. In that case fill in the site address in Robaws, or give the assets their own coordinates.
# Articles β Articles
| Robaws | Eye on Data | Note |
|---|---|---|
name | Name | Required. |
articleNumber | Description | |
articleGroup | Article type | Required. An article without an article group in Robaws is not imported. The group is created automatically as an article type. |
# Eye on Data β Robaws
When a work order is sent, a work order is created or updated in Robaws.
| Eye on Data | Robaws | Note |
|---|---|---|
| Workflow name | title | |
| Due date | date | |
| - | status | Always set to "EOD rapport verstuurd". |
| Company | companyId | Through the link ID of the company. |
| Project (site) | projectId | Required. Without a link ID on the project an error follows and nothing is sent. |
| Service | salesOrderId | |
| Consumed articles | lineItems | Quantity plus the Robaws article ID. An article without a link ID is reported and skipped. |
| Distance on the service | lineItems (mileage) and commuteEntries | Only when a distance is set on the service. |
| Time registrations | timeEntries | Start and end time, remark, and the work type as an article. |
| Measurements with a link ID | extraFields | Only measurements for which a Robaws field is linked. |
| Employees | employeeId on the time entry | Requires a manual link per employee. |
# What is not synchronised
- Assets, sensors and data connectors. You manage these entirely in Eye on Data; Robaws does not know about them.
- Measurements, alarms and dashboards.
- Project access of contacts. See the warning under Contacts.
- Employee links. These are not created automatically; you link them manually once.
# Conditions for correct synchronisation
- Every project in EoD must have a valid link ID matching the Robaws project. Without it no work order can be sent.
- Articles must belong to an article group in Robaws, and have a link ID in EoD.
- Work types used on time registrations must be linked to a Robaws article.
- Employees must be linked manually beforehand through their link ID.
- Only approved work orders are sent.
# Status indicators in the workflow
For every task that can be synchronised with Robaws, the sync status is shown visually:
- π‘ Waiting to be sent
- π’ Sent successfully
- π΄ Error occurred (check the mapping or the connection)
# Configuration
- Go to Organisation > Integrations > Robaws and click Connect. Sign in to Robaws and grant permission.
- Enable "Synchronise automatically with Robaws". Without this option nothing is retrieved.
- Fill in the link IDs for projects, employees, articles and work types.
- After the first synchronisation, check the logs for skipped customers, contacts or articles.
# Troubleshooting
Everything the integration does or skips ends up in the logs. Common messages:
| Message | Cause |
|---|---|
| Contact β¦ niet geΓ―mporteerd door leeg e-mailadres | The contact has no email address in Robaws. |
| Geen bedrijf gevonden voor project β¦ | The company of that project has not been synchronised yet. |
| Geen artikel groep gevonden voor β¦ | The article is not in an article group in Robaws. |
| Geen Robaws ID gevonden voor project | The project is missing its link ID; the work order was not sent. |
| Geen Robaws ID ingesteld voor artikel β¦ | The consumed article has no link ID and is not on the work order. |
# SMTP integration (your own mail server)
By default Eye on Data sends all outgoing email through its own mail server, using noreply@eyeondata.eu as the sender address and Eye on Data as the sender name. With the SMTP integration you route all of your organisation's mail through your own mail server, so messages come from your own domain.
The setting applies to the entire organisation and to all outgoing mail: alarm notifications, reports, work order submissions, platform invitations and reminders.
# Fields
| Field | Required | Meaning |
|---|---|---|
| Server | β | The hostname of your SMTP server, for example smtp.yourdomain.com. |
| Port | β | Usually 587 with TLS, or 465 for SSL. |
| TLS/SSL | Tick this when your server requires an encrypted connection. If you leave it off, the connection is unencrypted. | |
| Username | β | The login name on your mail server. |
| Password | β | The matching password. Prefer a dedicated account or an app password over a personal mailbox. |
| Email address | β | The address messages are sent from, and where replies arrive. |
| Name | The sender name the recipient sees. If you leave it empty, mail falls back to the default name. |
# Configuration
- Go to Organisation > Integrations > SMTP and open the settings.
- Fill in your mail server details and save.
- Enable the integration. As long as it is off, the default Eye on Data mail server keeps being used.
- Check that a test message arrives, for instance by inviting yourself or sending a report.
For each integration you can use Logs to review what was sent and which errors occurred.
Wrong details also silence your alarm notifications
Because all outgoing mail goes through this server, a wrong password or a blocked port means alarm notifications by email no longer arrive either. After every change, verify that mail actually goes out.
Also mind your own provider's limits: many mail servers cap the number of messages per hour. An organisation with many alarms can run into that.
# Spryng integration (SMS)
The Spryng integration lets Eye on Data send SMS messages for alarms. That is the only thing SMS is used for: reports, invitations and work orders always go by email.
# Fields
| Field | Required | Meaning |
|---|---|---|
| API key | β | The key of your Spryng account. |
# Conditions for a successful SMS
An SMS is only sent when all of these conditions are met:
- The integration is enabled and an API key is filled in.
- It concerns a production environment. No SMS messages are sent on test and staging environments, even with a valid key.
- The recipient has a phone number on their profile. Without a number, the SMS checkbox in their notifications cannot be ticked.
- The recipient has ticked SMS for the severity of that alarm, under Notifications > Alarms.
- The recipient is subscribed to the company, site or alarm rule in question.
# How the message is sent
| Sender | The alphanumeric name Eye on Data |
| Number | The phone number from the profile, with any + removed |
| Content | The alarm notification with asset, measurement value and time |
| Retries | If sending fails, two more attempts follow after 5 minutes and a last one after 30 minutes. After that nothing is retried until the alarm closes and triggers again. |
Enter phone numbers with a country code, for example +32478123456. The platform does not validate the number: a number without a country code is still submitted and rejected by Spryng.
# Configuration
- Go to Organisation > Integrations > Spryng and open the settings.
- Fill in the API key and save.
- Enable the integration.
- Make sure the users involved have a phone number on their profile and have ticked SMS for the severities they want.
There is no warning when your credit runs out
Eye on Data does not monitor the balance of your Spryng account. If your credit runs out, or if the sender name Eye on Data is no longer registered with your provider, Spryng rejects every SMS and no messages go out at all, without any further notice. Email notifications keep working.
When in doubt, check the Logs on the integration: a rejected SMS ends up there. Keep an eye on your Spryng balance yourself.