Soleran Destination

The Soleran Destination connector pushes Work Orders from the Mapped graph into Soleran CMMS (eAppTrack). When Work Orders are created or updated in Mapped from any connector or application, this connector automatically creates or updates the corresponding records in Soleran. It supports configurable field mapping, enum value translation, and manual backfill of historical Work Orders.
Use Cases
- Bi-directional Work Order sync: Pair with the Soleran Source connector to enable round-trip Work Order management. Work Orders created in other connected systems flow into Mapped and are automatically pushed to Soleran for execution by facilities teams.
- Centralized Work Order dispatch: Use Mapped as a central hub where Work Orders from multiple sources (BMS alerts, IoT platforms, service requests) are normalized and forwarded to Soleran for tracking and completion.
- Backfill and historical sync: Use the backfill feature to push a batch of existing Mapped Work Orders to Soleran by date range or specific IDs, useful during initial setup or data migration.
Configuration
Import from Soleran Source
If you already have a Soleran Source connector configured in the same organization, you can import its authentication and module settings with one click. This avoids re-entering API credentials and module IDs.
The import copies:
- API URL
- Username and password (vault references — credentials are not exposed)
- Work Order Module ID
- Field mappings (the same field map used by the source connector)
Auth Requirements
Important: The credentials must have write permissions in Soleran. Read-only accounts will cause Work Order creation to fail. The following is required:
- API URL: Soleran eAppTrack API base URL, usually https://basic.eapptrack.com/api. Your Soleran administrator can confirm the correct URL for your instance.
- Username: Soleran API username provided by your Soleran administrator. This is the same username used to log in to the eAppTrack web portal.
- Password: Soleran API password, provided by your Soleran administrator.
Module Configuration
Select the Soleran module that contains Work Orders. The dropdown is populated from your Soleran instance after authentication.
| Field | Required | Description |
|---|---|---|
| Work Order Module | Yes | The Soleran module that contains your Work Order records. |
After saving the module selection, the connector runs provisioning to fetch the available fields from that module. These fields are used in the Field Mapping and Enum Mapping sections.
Field Mapping
The field mapping table shows all fields available in your Soleran Work Order module. For each field, you select which Mapped Work Order property should be written to it.
Note: If you imported configuration from a Soleran Source connector, field mappings are pre-populated and ready to use.
| Mapped Property | Description | Example Soleran Field |
|---|---|---|
| Description | Work Order description text | descriptionx |
| Subject | Short subject/title | subject |
| Due Date | Target completion date | duedatex or availabledatex |
| Status | Work Order status | statusx |
| Priority | Priority level | priorityx |
| Job Type | Type of work (Corrective, Preventative, etc.) | typex |
| Location | Location reference | locationx |
| Requestor Name | Name of the person who requested the work | requesternamex |
| Requestor Email | Email of the requestor | requesteremailx |
Relationship fields (like Request Type or Category) may require a numeric ID rather than a text value. The connector automatically coerces enum values to integers when writing to Relationship or Numeric field types.
Formula fields (read-only computed values in Soleran) are automatically skipped during writes to prevent API errors.
Enum Mapping
Enum mapping translates Mapped Work Order values to Soleran-specific values. This is useful when the two systems use different terminology for the same concept.
Five enum fields are supported:
| Enum Field | Description | Example |
|---|---|---|
| Work Order Status | Maps Mapped statuses to Soleran statuses | OPEN → Active, CLOSED → Completed |
| Work Order Priority | Maps priority levels | HIGH → Priority 1, LOW → Priority 4 |
| Work Order Type | Maps work types | CORRECTIVE → Corrective, PREVENTATIVE → Preventative |
| Work Order Sub-Status | Maps sub-status values | Optional — configure only if your Soleran uses sub-statuses |
| Work Order Sector | Maps sector/department values | Optional |
For each enum field, you can:
- Enable/disable enum mapping: When disabled, the raw Mapped value is passed through unchanged.
- Set a default value: Applied when a Mapped value has no configured mapping.
- Configure "undefined only" mode: The default value is only used for values that have no mapping; explicitly mapped values are always used.
The connector normalizes all values to SCREAMING_SNAKE_CASE before lookup (e.g., "In Progress" → "IN_PROGRESS"), so mappings are case-insensitive.
Backfill
The Backfill section lets you manually trigger a resync of Work Orders that were created before the connector was set up, or to re-push specific Work Orders.
Two modes are available:
| Mode | Description |
|---|---|
| Date Range | Syncs all Mapped Work Orders created or updated within a specified date window. |
| By IDs | Syncs specific Mapped Work Orders by entering their IDs. |
The backfill uses the same create/update logic as regular polling, so it will not create duplicates for Work Orders that already exist in Soleran.
Mapped Concepts
Entities
The Soleran Destination connector does not create entities in the Mapped graph. Instead, it reads Work Orders from the graph and writes them to Soleran. The only graph modification it makes is adding external identity URNs to track which Work Orders have been synced.
External Identities
After creating a Work Order in Soleran, the connector writes an identity back to the Mapped graph:
| Identity Format | Example | Purpose |
|---|---|---|
| urn:soleran-destination:workorder🆔<RecordId> | urn:soleran-destination:workorder🆔2527589 | Tracks which Mapped WOs have been synced to Soleran and prevents duplicate creation. |
Idempotency
The connector uses a two-level identity check to prevent duplicate records:
1: Destination identity: If the Work Order already has a urn:soleran-destination:workorder🆔* identity, the connector knows it previously created this record and takes the update path.
2: Source identity: If the Work Order has a urn:soleran:workorder🆔* identity (from the Soleran Source connector), the connector recognizes it already exists in Soleran and updates the existing record instead of creating a duplicate.
When updating, the connector fetches the current record from Soleran and compares only the fields it intends to write. If nothing has changed, the update is skipped entirely -- no unnecessary API calls.
Polling & Sync Behavior
| Function | Frequency | Description |
|---|---|---|
| Work Order Poll | Every 2 minutes | Queries the Mapped graph for Work Orders created or updated since the last poll. Creates or updates corresponding records in Soleran. On first run, looks back 7 days. |
| Provision | On module selection | Fetches field metadata from the selected Soleran module and stores it for use by the field mapping and enum mapping UIs. |
| Resync (Backfill) | On-demand | Manually triggered from the Backfill UI. Supports by-date-range and by-ID modes. Uses the same create/update logic as polling. |
| Deprovision | On connector removal | Clears internal action state to prevent stale status after re-provisioning. |
Requirements for Work Order Syncing
- The Work Order Module Id must be selected in Module Configuration.
Sample Code
Find Work Orders that have been synced to Soleran
Look for identities containing urn:soleran-destination:workorder🆔 to identify synced records.
{
workOrders {
id
name
jobStatus
jobPriority
description
identities {
__typename
... on ExternalIdentity {
value
scope
}
}
}
}
Data Flow
