OrganizationConnection
The OrganizationConnection entity links two organizations inside the same CXTMS instance. The platform stores only the pair and an application-defined ConnectionType; what a type means (which contacts to create, what data to exchange) is up to the application that owns the link, through entity workflows triggered in the owner organization.
Connections are the gate for cross-organization Transmissions: an outbound transmission addressed to a partner contact whose custom values name a connection is mirrored into the other organization only while the connection exists and is enabled.
Fields
| Field Name | Type | Max Length | Required | Default | Description |
|---|---|---|---|---|---|
| OrganizationConnectionId | Int32 | — | Auto | Auto-increment | Primary key |
| OrganizationId | Int32 | — | Yes | — | Owner organization: where the link was created and where its entity workflows fire (normally System Administration) |
| SourceOrganizationId | Int32 | — | Yes | — | First linked organization |
| TargetOrganizationId | Int32 | — | Yes | — | Second linked organization |
| ConnectionType | String | 50 | Yes | — | Application-defined type of the link, e.g. poolPointCustomer |
| IsEnabled | Boolean | — | Yes | true | Disabled connections reject every transmission delivery with ConnectionDisabled |
| EdiRoutingId | String? | — | No | — | EDI routing identifier (ISA06/ISA08). Reserved, not set by the platform |
| Created | DateTime | — | Auto | — | Created timestamp |
| CreatedBy | String | 36 | Auto | — | Created by user ID |
| LastModified | DateTime | — | Auto | — | Last modified timestamp |
| LastModifiedBy | String | 36 | Auto | — | Last modified by user ID |
Rules
- Both linked organizations must be regular organizations; an organization cannot be linked to itself.
- One connection per pair and
ConnectionType, whichever side is first (unique index onSourceOrganizationId,TargetOrganizationId,ConnectionType). - Linking and unlinking require membership in the System Administration organization.
- Delivery of a transmission accepts the sender as either side of the connection; the other side is the receiver.
Relationships
| Relationship | Target Entity | Type | Description |
|---|---|---|---|
| Organization | Organization | Many-to-One | Owner organization |
| SourceOrganization | Organization | Many-to-One | First linked organization |
| TargetOrganization | Organization | Many-to-One | Second linked organization |
Workflow Triggers
OrganizationConnection fires entity triggers in the owner organization for Added, Modified and Deleted, at Before and After positions. The entity variable carries organizationConnectionId, organizationId, sourceOrganizationId, targetOrganizationId, connectionType, isEnabled and ediRoutingId. A Before / Deleted workflow that throws vetoes the unlink.
triggers:
- type: Entity
entityName: OrganizationConnection
eventType: Added
position: After
conditions:
- expression: "[entity.connectionType] = 'poolPointCustomer'"
GraphQL
| Operation | Description |
|---|---|
linkOrganizations(input: { organizationId, sourceOrganizationId, targetOrganizationId, connectionType }) | Creates the connection (system administrators only) |
unlinkOrganizations(input: { organizationConnectionId }) | Deletes the connection (system administrators only) |
organizationConnections(organizationId, filter, search, orderBy, take, skip) | Lists connections owned by the organization; search matches either organization's name |
Related
- Organization Connections and Transmissions — end-to-end guide
- Transmission — the message rows that cross a connection
- Workflow Triggers