Transmission Workflow Tasks
Transmission tasks are used to create, update, and delete Transmissions — records that track inbound and outbound message exchanges (EDI, API, webhooks, etc.) linked to orders.
Create Transmission
Creates a new transmission and links it to one or more orders.
task: "Transmission/Create@1"
name: createTransmission
inputs:
organizationId: "{{ organizationId }}"
transmission:
orderIds:
- "{{ orderId }}"
channel: "EDI"
direction: "Outbound"
messageType: "204"
sender: "SENDER_ID"
receiver: "RECEIVER_ID"
status: "Pending"
endpoint: "https://partner.example.com/edi"
protocol: "HTTPS"
customValues:
ediVersion: "5010"
outputs:
- name: transmission
mapping: "transmission"
Create Inputs
| Field | Type | Required | Description |
|---|---|---|---|
| organizationId | Int | Yes | Organization ID |
| transmission.contactId | Int | No | Partner contact in this organization. When its custom values carry a transmission block (type: "connection"), an outbound row is delivered to the partner organization. See Organization Connections and Transmissions |
| transmission.orderIds | Int[] | No | Order IDs to link. Supplied IDs must belong to the organization |
| transmission.channel | String | When no contact | Channel name (max 20 chars). With contactId, defaults to the contact's transmission.type upper-cased (CONNECTION) |
| transmission.direction | Enum | No | Inbound or Outbound (default Outbound) |
| transmission.payload | Any | No | Message body: JSON object, text, byte[] or Stream. Uploaded to storage; sets payloadRef, byteSize and headers["Content-Type"]. Mutually exclusive with payloadRef. A string is text unless payloadContentType names a binary type (then base64) |
| transmission.payloadContentType | String | No | Overrides the content type guessed from the payload shape (e.g. application/edi-x12) |
| transmission.attachments | Object[] | No | Attachment manifest entries: exactly one of attachmentId, attachmentGuid, url, data (bytes / stream / base64), plus fileName (required for url / data), contentType, metadata. Stored in customValues.attachments |
| transmission.messageType | String | No | Message type (max 50 chars) |
| transmission.sender | String | No | Sender identifier (max 100 chars) |
| transmission.receiver | String | No | Receiver identifier (max 100 chars) |
| transmission.correlationId | Guid | No | Correlation ID (auto-generated if omitted) |
| transmission.parentId | Int | No | Parent transmission ID for chaining |
| transmission.status | Enum | No | Initial status (see TransmissionStatus enum) |
| transmission.endpoint | String | No | Target endpoint URL (max 500 chars) |
| transmission.protocol | String | No | Protocol name (max 20 chars) |
| transmission.httpStatus | Int16 | No | HTTP response status code |
| transmission.byteSize | Int | No | Payload size in bytes |
| transmission.retryCount | Int16 | No | Current retry count (default: 0) |
| transmission.maxRetries | Int16 | No | Max retries (default: 3) |
| transmission.nextRetryAt | DateTime | No | Scheduled next retry time |
| transmission.errorCode | String | No | Error code (max 50 chars) |
| transmission.errorMessage | String | No | Error message |
| transmission.customValues | Map | No | Custom key-value metadata |
| transmission.headers | Map | No | Message headers |
| transmission.payloadRef | String | No | Reference to stored payload |
| transmission.scheduledAt | DateTime | No | Scheduled send time |
| transmission.startedAt | DateTime | No | Processing start time |
| transmission.completedAt | DateTime | No | Processing end time |
| transmission.durationMs | Int | No | Processing duration (ms) |
Create Outputs
| Variable | Type | Description |
|---|---|---|
| transmission | TransmissionDto | The created transmission object |
Publishing to a Connected Organization
With contactId pointing at a partner contact, the task becomes a publish: the row defaults to Pending, delivery is queued in the outbox, and the partner organization receives a mirrored Inbound row that fires its Transmission entity triggers. Rows created without a contact behave as before.
task: "Transmission/Create@1"
name: publish
inputs:
organizationId: "{{ organizationId }}"
transmission:
contactId: "{{ partnerContactId }}"
messageType: "order.created"
correlationId: "{{ correlationId }}" # optional; reuse to reply in-thread
orderIds:
- "{{ orderId }}"
payload: "{{ order }}"
attachments:
- attachmentId: "{{ bolAttachmentId }}"
metadata: { documentType: BOL }
outputs:
- name: transmission
mapping: "transmission"
Update Transmission
Updates an existing transmission using dynamic field mapping (only specified fields are changed).
task: "Transmission/Update@1"
name: updateTransmission
inputs:
organizationId: "{{ organizationId }}"
transmissionId: "{{ transmissionId }}"
transmission:
status: "Sent"
httpStatus: 200
completedAt: "{{ now }}"
durationMs: 1250
Update Inputs
| Field | Type | Required | Description |
|---|---|---|---|
| organizationId | Int | Yes | Organization ID |
| transmissionId | Int | Yes | Transmission ID to update |
| transmission | Map | Yes | Fields to update (same field names as Create). A contactId must belong to the organization; null clears it |
Delete Transmission
Soft-deletes a transmission (sets IsDeleted = true).
task: "Transmission/Delete@1"
name: deleteTransmission
inputs:
organizationId: "{{ organizationId }}"
transmissionId: "{{ transmissionId }}"
Delete Inputs
| Field | Type | Required | Description |
|---|---|---|---|
| organizationId | Int | Yes | Organization ID |
| transmissionId | Int | Yes | Transmission ID to delete |
Delete Outputs
| Variable | Type | Description |
|---|---|---|
| success | Boolean | true if deleted successfully |
TransmissionStatus Enum Values
| Value | Name |
|---|---|
| 0 | Pending |
| 1 | InProgress |
| 2 | Sent |
| 3 | Received |
| 4 | Delivered |
| 5 | Acknowledged |
| 6 | Rejected |
| 7 | Error |
| 8 | RetryScheduled |
| 9 | Cancelled |
| 10 | Expired |
Related
- Organization Connections and Transmissions — publishing, delivery and receiving across organizations
- Transmission Entity — Full entity reference
- Order Tasks — Order CRUD tasks