ShipStation Connector
Description
ShipStation is an e-commerce shipping and order fulfillment platform. This component allows you to manage orders, shipments, and carriers in ShipStation.
API Documentation
This component was built using the ShipStation API.
Documentation for the Axios client used in this component is available at the Axios GitHub Repository.
A frequent integration pattern is to list orders or shipments from ShipStation and perform actions on the array of orders or shipments returned.
Connections
API Key
key: shipStationApiKeyTo authenticate with ShipStation, an API Key and API Secret are required.
Prerequisites
- A ShipStation account with API access enabled
Setup Steps
- Navigate to the ShipStation account settings
- Navigate to the API Settings section
- Click Generate New Keys to create a new API Key and API Secret pair
- Copy both the API Key and API Secret values
Configure the Connection
Create a connection of type API Key and enter:
- API Key: The API Key from the ShipStation account settings
- API Secret: The API Secret from the ShipStation account settings
The API key must have the correct permissions to interact with the ShipStation API resources being accessed.
| Input | Notes | Example |
|---|---|---|
| API Key | The API key from the ShipStation account settings. | |
| API Secret | The API secret from the ShipStation account settings. |
Triggers
Manual Webhook
Receive and validate webhook requests from ShipStation for manually configured webhook subscriptions. | key: shipStationWebhookTrigger
New and Updated Orders
Retrieves existing and ongoing orders for a specified ShipStation account. Load history once, check for changes on a schedule, or both. | key: pollOrders
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Look-back Date | The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each record on or after this date once. | 2026-01-01 |
This trigger polls ShipStation for new and updated orders on a configured schedule.
How It Works
- The trigger runs on the configured schedule (e.g., every 5 minutes)
- It asks ShipStation for orders modified on or after its stored position and no later than one minute before the recurrence began, oldest first, in pages of 500 orders
- Records are categorized as "new" or "updated": an order is new when its
createDateis after the stored position, and updated otherwise - The trigger stores its new position, which is the
modifyDateof the newest order it delivered (cut to whole seconds), and reports no changes when nothing new came back
The position comes from the orders' own modifyDate, not from the time the recurrence ran. ShipStation records modifyDate with sub-second precision but filters by whole seconds, and does not document whether modifyDateStart includes the boundary. So the trigger asks from one second before its position, remembers which orders it already delivered at that second, and skips them, along with anything older than the position. An order is delivered again only when it is modified again. Orders modified within the last minute are left for a later recurrence, so an order that is committed late with an earlier modifyDate is not skipped.
With batching off, each recurrence reads at most 20 pages (10,000 orders). When that limit is reached, the trigger keeps its place in the backlog and the next recurrence continues from there, so no order is skipped; the stored position moves forward only once the backlog is drained. With batching on, the platform requests one page at a time until the backlog is drained within the same run.
Too many orders in one second
ShipStation offers no way to page past more than 500 orders that share the same modifyDate second: there is no secondary sort key and no filter to exclude orders already seen. If a full page of 500 orders all fall in the second the trigger is positioned at, it cannot advance, so it stops with an error naming that second instead of repeating the same page silently. Nothing is skipped: orders before that second are still delivered first, the trigger keeps its position, and it stops at the same point on every following poll until fewer orders fill that second (for example, because some of them are modified again). A bulk import that stamps thousands of orders with the same second is the realistic way to hit this.
Initial Sync
An initial sync seeds a starting state of existing orders. It begins on the first recurrence, when the trigger has no stored position and a Look-back Date (YYYY-MM-DD) is set, and delivers every order created or modified on or after 00:00:00 UTC on that date exactly once. Left empty, there is no sync and the trigger starts from its first recurrence. This trigger has no inputs that narrow the orders it reports, so the sync ignores none of them.
A larger history is read in the same way as any backlog, so with batching off it spans several recurrences, 10,000 orders at a time, and with batching on it drains within one run. An order changed while the sync runs is picked up at its new position in the sequence. Nothing in the payload marks the handoff from the sync to the schedule.
ShipStation does not document whether modifyDateStart is inclusive, so the sync asks for a window one day earlier than the Look-back Date and then keeps only orders whose createDate or modifyDate is on or after the Look-back Date. Orders created on or after the date are delivered as created, and orders created earlier but modified on or after it are delivered as updated.
Time zone
ShipStation's documentation is inconsistent about the zone of its date parameters, and its timestamps carry no zone. The trigger treats every ShipStation timestamp as UTC: it reads modifyDate as UTC and sends its date filters as UTC times.
Batching
Batching is enabled per flow on this trigger: each changed order is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to ShipStation.
To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.
With batching off, a downstream step reads body.data.created and body.data.updated. With batching on, those fields do not exist: each execution receives one { "changeType": "created" | "updated", "record": <record> } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled. Because batching is enabled per flow, the change is scoped to that flow rather than to the component or to other flows using the same trigger.
Batching splits the changed orders across executions. It also lets a backlog drain within one run, one page of 500 orders per request, instead of across scheduled recurrences.
Returned Data
The trigger returns an object containing created and updated arrays. Fields shown are representative. The full response object includes additional properties.
Example Response
{
"data": {
"created": [
{
"orderId": 123456789,
"orderNumber": "TEST-001",
"orderStatus": "awaiting_shipment",
"createDate": "2024-01-15T10:30:00.0000000",
"modifyDate": "2024-01-15T10:30:00.0000000"
}
],
"updated": [
{
"orderId": 987654321,
"orderNumber": "TEST-002",
"orderStatus": "shipped",
"createDate": "2024-01-10T09:00:00.0000000",
"modifyDate": "2024-01-16T14:22:00.0000000"
}
]
}
}
With batching on, each execution receives one item per changed order, or an array of items when the batch size is greater than 1.
Example Response (Batched)
{
"changeType": "created",
"record": {
"orderId": 123456789,
"orderNumber": "TEST-001",
"orderStatus": "awaiting_shipment",
"createDate": "2024-01-15T10:30:00.0000000",
"modifyDate": "2024-01-15T10:30:00.0000000"
}
}
New and Updated Products
Retrieves existing and ongoing products for a specified ShipStation account. Load history once, check for changes on a schedule, or both. | key: pollProducts
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Look-back Date | The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each record on or after this date once. | 2026-01-01 |
This trigger polls ShipStation for new and updated products on a configured schedule.
How It Works
- The trigger runs on the configured schedule (e.g., every 5 minutes)
- It queries ShipStation for products using the
startDatefilter, set to the stored position - Records are categorized as "new" or "updated" based on their
createDateandmodifyDatetimestamps - The trigger updates its internal state to track the last successful poll time
Initial Sync
An initial sync seeds a starting state of existing products. It begins on the first recurrence, when the trigger has no stored position and a Look-back Date (YYYY-MM-DD) is set, and delivers every product ShipStation returns for a startDate filter at 00:00:00 UTC on that date exactly once. Left empty, there is no sync and the trigger starts from its first recurrence. This trigger has no inputs that narrow the products it reports, so the sync ignores none of them.
The window has no fixed upper bound, so a product changed while the sync is fetching can be delivered by the sync and again by the next recurrence. The first recurrence stores the time it began as the position, and the next recurrence resumes from exactly there. Nothing in the payload marks the handoff. The sync fetches every page, 500 per request, within the first recurrence, whether batching is on or off.
ShipStation does not document the semantics of startDate on the products endpoint, and the product inputs elsewhere in this component describe it as a creation-date filter. The Look-back Date therefore promises only that products the endpoint returns for that filter, and whose createDate or modifyDate is on or after the date, are delivered once; it does not promise that products created earlier and modified since are included. To avoid losing a product at the boundary, the sync asks for a window one day earlier and then keeps only products whose createDate or modifyDate is on or after the Look-back Date. ShipStation timestamps carry no time zone, and they are read as UTC.
Batching
Batching is enabled per flow on this trigger: each changed product is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to ShipStation.
To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.
With batching off, a downstream step reads body.data.created and body.data.updated. With batching on, those fields do not exist: each execution receives one { "changeType": "created" | "updated", "record": <record> } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled. Because batching is enabled per flow, the change is scoped to that flow rather than to the component or to other flows using the same trigger.
Batching splits the changed products across executions and does not change what is fetched: every page is still retrieved in one recurrence.
Returned Data
The trigger returns an object containing created and updated arrays. Fields shown are representative. The full response object includes additional properties.
Example Response
{
"data": {
"created": [
{
"productId": 123456789,
"sku": "PROD-001",
"name": "Example Product",
"createDate": "2024-01-15T10:30:00.0000000",
"modifyDate": "2024-01-15T10:30:00.0000000"
}
],
"updated": [
{
"productId": 987654321,
"sku": "PROD-002",
"name": "Updated Product",
"createDate": "2024-01-10T09:00:00.0000000",
"modifyDate": "2024-01-16T14:22:00.0000000"
}
]
}
}
With batching on, each execution receives one item per changed product, or an array of items when the batch size is greater than 1.
Example Response (Batched)
{
"changeType": "created",
"record": {
"productId": 123456789,
"sku": "PROD-001",
"name": "Example Product",
"createDate": "2024-01-15T10:30:00.0000000",
"modifyDate": "2024-01-15T10:30:00.0000000"
}
}
New and Updated Shipments
Retrieves existing and ongoing shipments for a specified ShipStation account. Load history once, check for changes on a schedule, or both. | key: pollShipments
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Look-back Date | The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each record on or after this date once. | 2026-01-01 |
This trigger polls ShipStation for new and updated shipments on a configured schedule.
How It Works
- The trigger runs on the configured schedule (e.g., every 5 minutes)
- It queries ShipStation for shipments created on or after the stored position, using the
createDateStartfilter - Records are categorized as "new" or "updated" based on their
createDateandmodifyDatetimestamps - The trigger updates its internal state to track the last successful poll time
Initial Sync
An initial sync seeds a starting state of existing shipments. It begins on the first recurrence, when the trigger has no stored position and a Look-back Date (YYYY-MM-DD) is set, and delivers every shipment created on or after 00:00:00 UTC on that date exactly once. Left empty, there is no sync and the trigger starts from its first recurrence. This trigger has no inputs that narrow the shipments it reports, so the sync ignores none of them.
The window has no fixed upper bound, so a shipment changed while the sync is fetching can be delivered by the sync and again by the next recurrence. The first recurrence stores the time it began as the position, and the next recurrence resumes from exactly there. Nothing in the payload marks the handoff. The sync fetches every page, 500 per request, within the first recurrence, whether batching is on or off.
ShipStation documents createDateStart as returning shipments created on or after the specified date, and the filter applies to creation only. The Look-back Date therefore seeds shipments created on or after it, and cannot seed a shipment that was created earlier and modified since. To avoid losing a shipment created exactly on the Look-back Date, the sync asks for a window one day earlier and then keeps only shipments whose createDate or modifyDate is on or after the Look-back Date. A shipment created in that extra day and modified on or after the Look-back Date is therefore delivered as updated. ShipStation timestamps carry no time zone, and they are read as UTC.
Batching
Batching is enabled per flow on this trigger: each changed shipment is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to ShipStation.
To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.
With batching off, a downstream step reads body.data.created and body.data.updated. With batching on, those fields do not exist: each execution receives one { "changeType": "created" | "updated", "record": <record> } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled. Because batching is enabled per flow, the change is scoped to that flow rather than to the component or to other flows using the same trigger.
Batching splits the changed shipments across executions and does not change what is fetched: every page is still retrieved in one recurrence.
Returned Data
The trigger returns an object containing created and updated arrays. Fields shown are representative. The full response object includes additional properties.
Example Response
{
"data": {
"created": [
{
"shipmentId": 123456789,
"orderId": 987654321,
"orderNumber": "TEST-001",
"createDate": "2024-01-15T10:30:00.0000000",
"modifyDate": "2024-01-15T10:30:00.0000000"
}
],
"updated": [
{
"shipmentId": 111222333,
"orderId": 444555666,
"orderNumber": "TEST-002",
"createDate": "2024-01-10T09:00:00.0000000",
"modifyDate": "2024-01-16T14:22:00.0000000"
}
]
}
}
With batching on, each execution receives one item per changed shipment, or an array of items when the batch size is greater than 1.
Example Response (Batched)
{
"changeType": "created",
"record": {
"shipmentId": 123456789,
"orderId": 987654321,
"orderNumber": "TEST-001",
"createDate": "2024-01-15T10:30:00.0000000",
"modifyDate": "2024-01-15T10:30:00.0000000"
}
}
Webhook Event Subscription
Receive webhook event notifications from ShipStation. Automatically creates and manages a webhook subscription for the selected event type when the instance is deployed, and removes the subscription when the instance is deleted. | key: webhookEventSubscription
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Friendly Name | A descriptive label to identify the webhook in the dashboard. | |
| Store ID | The store ID to filter webhook triggers. When provided, webhooks will only trigger for this store. | |
| Webhook Event | The event type to subscribe to for webhook notifications. |
This trigger receives webhook event notifications from ShipStation. It automatically creates and manages a webhook subscription for the selected event type when the instance is deployed, and removes the subscription when the instance is deleted.
How It Works
When this trigger is used in a flow:
- On Instance Deploy: The trigger automatically creates a webhook subscription in ShipStation pointing to the instance's unique webhook URL. If a webhook with the same configuration already exists, it reuses the existing subscription.
- On Instance Deletion: The trigger automatically removes the webhook subscription from ShipStation.
If the event type or store ID configuration changes between deployments, the trigger deletes the existing webhook and creates a new one with the updated settings.
Configuration
Configure the following inputs:
- Webhook Event: The event type to subscribe to for webhook notifications
- Store ID: (Optional) Limits webhook notifications to a specific store. When omitted, notifications are sent for all stores.
- Friendly Name: (Optional) A descriptive label to identify the webhook
Event Types
Available Events (6)
| Event | Description |
|---|---|
ORDER_NOTIFY | Triggers when a new order is created |
ITEM_ORDER_NOTIFY | Triggers when a new order item is created |
SHIP_NOTIFY | Triggers when a shipment is created |
ITEM_SHIP_NOTIFY | Triggers when a shipment item is created |
FULFILLMENT_SHIPPED | Triggers when a fulfillment is shipped |
FULFILLMENT_REJECTED | Triggers when a fulfillment is rejected |
Refer to the ShipStation Webhooks documentation for the complete and up-to-date list.
Returned Data
The trigger returns the raw webhook payload sent by ShipStation via HTTP POST.
Example Payload
{
"resource_url": "https://ssapi.shipstation.com/orders?importBatch=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"resource_type": "ORDER_NOTIFY"
}
Data Sources
Select Carrier
A picklist of carriers connected to the ShipStation account. | key: selectCarriers | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. |
Select Customer
A picklist of customers in the ShipStation account. | key: selectCustomers | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Country Code | The two-letter ISO country code to filter customers. | |
| Marketplace ID | The unique identifier for the marketplace to filter results by. | |
| Page | The page number to retrieve (starts at 1). | |
| Page Size | The maximum number of results to return per page. Maximum: 500. | |
| Sort By | The API field name used to sort the returned results. | |
| Sort Direction | The direction to sort results (asc or desc). | |
| State Code | The two-letter state or province abbreviation for the customer address. | |
| Tag ID | The unique identifier for the tag to filter results by. |
Select Fulfillment
A picklist of fulfillments in the ShipStation account. | key: selectFulfillments | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. |
Example Payload for Select Fulfillment⤓
Select Order
A picklist of orders in the ShipStation account. | key: selectOrders | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Customer Name | The full name associated with the customer record. | John Smith |
| Order Status | The order status to filter results (e.g., awaiting_payment, awaiting_shipment, shipped). | awaiting_shipment |
| Page | The page number to retrieve (starts at 1). | 1 |
| Page Size | The maximum number of results to return per page. Maximum: 500. | 100 |
Select Package
A picklist of packages provided by the specified carrier. | key: selectPackages | type: picklist
| Input | Notes | Example |
|---|---|---|
| Carrier Code | The carrier code for the shipping label. | |
| Connection | The ShipStation connection to use. |
Select Product
A picklist of products in the ShipStation account. | key: selectProducts | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| End Date | The end date to filter products by creation date in YYYY-MM-DD format. | 2014-05-04 |
| Page | The page number to retrieve (starts at 1). | |
| Page Size | The maximum number of results to return per page. Maximum: 500. | |
| Product Category ID | The unique identifier for the category grouping the product. | |
| Product Name | The display name of the product to search for. | |
| Product Type ID | The unique identifier for the product type classification. | |
| Show Inactive | When true, includes inactive stores in the results. | false |
| SKU | The stock keeping unit code assigned to the product. | |
| Sort By | The API field name used to sort the returned results. | |
| Sort Direction | The direction to sort results (asc or desc). | |
| Start Date | The start date to filter products by creation date in YYYY-MM-DD format. | 2014-04-03 |
| Tag ID | The unique identifier for the tag to filter results by. |
Select Service
A picklist of services provided by the specified carrier. | key: selectServices | type: picklist
| Input | Notes | Example |
|---|---|---|
| Carrier Code | The carrier code for the shipping label. | |
| Connection | The ShipStation connection to use. |
Select Store
A picklist of installed stores in the ShipStation account. | key: selectStores | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Marketplace ID | The unique identifier for the marketplace to filter results by. | |
| Show Inactive | When true, includes inactive stores in the results. | false |
Select User
A picklist of users in the ShipStation account. | key: selectUsers | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Show Inactive Users | When true, includes inactive users in the results. | false |
Select Warehouse
A picklist of Ship From Locations (warehouses) in the ShipStation account. | key: selectWarehouses | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. |
Select Webhook
A picklist of registered webhooks in the ShipStation account. | key: selectWebhooks | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. |
Example Payload for Select Webhook⤓
Actions
Create Label for Order
Creates a shipping label for a specified order. | key: createLabelForOrder
| Input | Notes | Example |
|---|---|---|
| Additional Fields | A list of additional fields to include in the label for order. | weight: {value: 2, units: 'pounds'} |
| Carrier Code | The carrier code for the shipping label. | |
| Confirmation | The delivery confirmation type (e.g., none, delivery, signature, adult_signature, direct_signature). | none, delivery, signature, adult_signature, direct_signature |
| Connection | The ShipStation connection to use. | |
| Order ID | The unique identifier for the order. | 18324102 |
| Service Code | The shipping service code for the label. | |
| Ship Date | The date the order should be shipped in YYYY-MM-DD format. | 2014-04-03 |
| Test Label | When true, creates a test label. | false |
Example Payload for Create Label for Order⤓
Create or Update Multiple Orders
Creates or updates multiple orders in one request. | key: createOrUpdateMultipleOrders
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Orders Array | Provide an array of order objects to create or update multiple orders. |
Example Payload for Create or Update Multiple Orders⤓
Create or Update Order
Creates a new order or updates an existing one. | key: createOrUpdateOrder
| Input | Notes | Example |
|---|---|---|
| Additional Fields | A list of additional fields to include in the order. | paymentMethod: Credit Card |
| Billing Address | Provide the billing address in JSON format. | |
| Connection | The ShipStation connection to use. | |
| Order Date | The date the order was placed. Format: ISO 8601 (e.g., 2023-09-08T12:34:56.000Z). | 2023-09-08T12:34:56.000Z |
| Order Key | The unique order key. If provided, the create order method will either create a new order if the key is not found, or update the existing order if found. | 0f6bec18-3e89-4881-83aa-f392d84f4c74 |
| Order Number | The user-defined order number to identify the order. | TEST-ORDER-API-DOCS |
| Order Status | The order status to filter results (e.g., awaiting_payment, awaiting_shipment, shipped). | awaiting_shipment |
| Shipping Address | Provide the shipping address in JSON format. |
Example Payload for Create or Update Order⤓
Create Shipment Label
Creates a shipping label. | key: createShipmentLabel
| Input | Notes | Example |
|---|---|---|
| Additional Fields | A list of additional fields to include in the shipment. | testLabel: false |
| Carrier Code | The carrier code for the shipping label. | |
| Connection | The ShipStation connection to use. | |
| Package Code | The package type code for the label. | |
| Service Code | The shipping service code for the label. | |
| Ship Date | The date the order should be shipped in YYYY-MM-DD format. | 2014-04-03 |
| Origin Address | Provide the origin address in JSON format. | |
| Shipping Address | Provide the shipping address in JSON format. | |
| Shipment's Weight | The weight of the shipment, following the Weight model. Note: WeightUnits is read-only. |
Example Payload for Create Shipment Label⤓
Create Warehouse
Creates a Ship From Location (warehouse) in the ShipStation account. | key: createWarehouse
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Is Default Warehouse | When true, sets this as the default ship from location. | false |
| Origin Address | The origin address. Shipping rates will be calculated from this address. | |
| Return Address | The return address. If not specified, the origin address will be used. | |
| Warehouse Name | A descriptive label for the ship-from location. |
Example Payload for Create Warehouse⤓
Deactivate Store
Deactivates the specified store. | key: deactivateStore
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Store ID | The unique identifier for the store. |
Example Payload for Deactivate Store⤓
Delete Instanced Webhooks
Deletes all webhooks that point to a flow in this instance. | key: deleteInstancedWebhooks
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. |
Example Payload for Delete Instanced Webhooks⤓
Delete Order
Deletes an order from the database by setting it to inactive. | key: deleteOrder
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Order ID | The unique identifier for the order. | 18324102 |
Example Payload for Delete Order⤓
Delete Warehouse
Deletes a warehouse (Ship From Location) by setting it to inactive status. | key: deleteWarehouse
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Warehouse ID | The unique identifier for the warehouse. |
Example Payload for Delete Warehouse⤓
Get Customer
Retrieves a specific customer by their system-generated identifier. | key: getCustomer
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Customer ID | The unique identifier for the customer. |
Example Payload for Get Customer⤓
Get Order
Retrieves a single order from the database. | key: getOrder
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Order ID | The unique identifier for the order. | 18324102 |
Example Payload for Get Order⤓
Get Product
Retrieves a specific product from the database by its ID. | key: getProduct
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Product ID | The unique identifier for the product. |
Example Payload for Get Product⤓
Get Store
Retrieves detailed information about a specific store. | key: getStore
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Store ID | The unique identifier for the store. |
Example Payload for Get Store⤓
Get Warehouse
Retrieves detailed information about a specific Ship From Location (warehouse). | key: getWarehouse
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Warehouse ID | The unique identifier for the warehouse. |
Example Payload for Get Warehouse⤓
List Carriers
Lists all shipping providers connected to the ShipStation account. | key: listCarriers
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. |
Example Payload for List Carriers⤓
List Customers
Retrieves a list of customers based on specified criteria. | key: listCustomers
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Country Code | The two-letter ISO country code to filter customers. | |
| Marketplace ID | The unique identifier for the marketplace to filter results by. | |
| Pagination | Page number and page size controls for the returned results. | |
| Sorting | Field and direction to sort results by. | |
| State Code | The two-letter state or province abbreviation for the customer address. | |
| Tag ID | The unique identifier for the tag to filter results by. |
Example Payload for List Customers⤓
List Fulfillments
Retrieves a list of fulfillments based on specified criteria. | key: listFulfillments
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Fulfillment ID | The unique identifier for the fulfillment. | |
| Order ID | The unique identifier for the order. | 18324102 |
| Page | The page number to retrieve (starts at 1). | 1 |
| Page Size | The maximum number of results to return per page. Maximum: 500. | 100 |
Example Payload for List Fulfillments⤓
List Orders
Retrieves a list of orders based on specified criteria. | key: listOrders
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Customer Name | The full name associated with the customer record. | John Smith |
| Order Status | The order status to filter results (e.g., awaiting_payment, awaiting_shipment, shipped). | awaiting_shipment |
| Page | The page number to retrieve (starts at 1). | 1 |
| Page Size | The maximum number of results to return per page. Maximum: 500. | 100 |
Example Payload for List Orders⤓
List Packages
Retrieves a list of packages for the specified carrier. | key: listPackages
| Input | Notes | Example |
|---|---|---|
| Carrier Code | The carrier code for the shipping label. | |
| Connection | The ShipStation connection to use. |
Example Payload for List Packages⤓
List Products
Retrieves a list of products that match the specified criteria. | key: listProducts
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| End Date | The end date to filter products by creation date in YYYY-MM-DD format. | 2014-05-04 |
| Pagination | Page number and page size controls for the returned results. | |
| Product Category ID | The unique identifier for the category grouping the product. | |
| Product Name | The display name of the product to search for. | |
| Product Type ID | The unique identifier for the product type classification. | |
| Show Inactive | When true, includes inactive stores in the results. | false |
| SKU | The stock keeping unit code assigned to the product. | |
| Sorting | Field and direction to sort results by. | |
| Start Date | The start date to filter products by creation date in YYYY-MM-DD format. | 2014-04-03 |
| Tag ID | The unique identifier for the tag to filter results by. |
Example Payload for List Products⤓
List Services
Retrieves the list of available shipping services for the specified carrier. | key: listServices
| Input | Notes | Example |
|---|---|---|
| Carrier Code | The carrier code for the shipping label. | |
| Connection | The ShipStation connection to use. |
Example Payload for List Services⤓
List Shipments
Retrieves a list of shipments that match the specified criteria. | key: listShipments
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Date Range Filters | Create date and ship date ranges to filter results by. | |
| Pagination | Page number and page size controls for the returned results. | |
| Shipment Filters | Tracking number, recipient name, and recipient country code to filter results by. |
Example Payload for List Shipments⤓
List Stores
Retrieves the list of installed stores on the account. | key: listStores
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Marketplace ID | The marketplace ID to filter stores. | |
| Show Inactive | When true, includes inactive stores in the results. | false |
Example Payload for List Stores⤓
List Users
Retrieves the list of users on the account. | key: listUsers
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Show Inactive Users | When true, includes inactive users in the results. | false |
Example Payload for List Users⤓
List Warehouses
Retrieves a list of Ship From Locations (warehouses) in the account. | key: listWarehouses
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. |
Example Payload for List Warehouses⤓
List Webhooks
Retrieves a list of registered webhooks for the account. | key: listWebhooks
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. |
Example Payload for List Webhooks⤓
Raw Request
Sends a raw HTTP request to the ShipStation API. | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | This is the URL to call. | /stores |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
Example Payload for Raw Request⤓
Subscribe to Webhook
Subscribes to a specific type of webhook in ShipStation. | key: subscribeToWebhook
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Event | The webhook event type to subscribe to. | |
| Friendly Name | A descriptive label to identify the webhook in the dashboard. | |
| Store ID | The store ID to filter webhook triggers. When provided, webhooks will only trigger for this store. | |
| Target URL | The URL where webhook events will be sent. |
Example Payload for Subscribe to Webhook⤓
Unsubscribe from Webhook
Unsubscribes from a specific type of webhook in ShipStation. | key: unsubscribeToWebhook
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Webhook ID | The unique identifier for the webhook. |
Example Payload for Unsubscribe from Webhook⤓
Update Product
Updates an existing product. | key: updateProduct
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Product Data | The complete data for updating the product. This call does not support partial updates. | |
| Product ID | The unique identifier for the product. |
Example Payload for Update Product⤓
Update Store
Updates an existing store. | key: updateStore
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Store ID | The unique identifier for the store. | |
| Store Update Data | All the data needed to update an existing store. Must provide the entire resource. |
Example Payload for Update Store⤓
Update Warehouse
Updates an existing Ship From Location (warehouse). | key: updateWarehouse
| Input | Notes | Example |
|---|---|---|
| Connection | The ShipStation connection to use. | |
| Warehouse Update Data | All the data needed to update an existing Ship From Location. Must provide the entire resource. |
Example Payload for Update Warehouse⤓
Changelog
2026-11-03
Updated spectral to 10.34.1
2026-10-19
- Added an optional Look-back Date input to the New and Updated Orders, New and Updated Products, and New and Updated Shipments triggers for performing an initial sync of orders, products, and shipments. The initial sync begins on the first recurrence and backfills every record on or after the specified date, seeding each once; recurrences after the sync completes are unaffected. Leave it empty to start from the first recurrence with no backfill
- Added opt-in batching to the New and Updated Orders trigger, dispatching each changed record individually or in configured batches so large backlogs drain in one recurrence; enabling it changes the shape a downstream step receives
- Added opt-in batching to the New and Updated Products and New and Updated Shipments triggers, dispatching each changed record individually or in configured batches; enabling it changes the shape a downstream step receives
2026-07-16
Grouped related list-action inputs into structured objects for clearer configuration
- List Products: grouped inputs into Pagination and Sorting structured objects
- List Customers: grouped inputs into Pagination and Sorting structured objects
- List Shipments: grouped inputs into Pagination, Date Range Filters, and Shipment Filters structured objects
2026-04-30
Updated spectral version
2026-03-31
Various modernizations and documentation updates
2026-03-20
Added new triggers for webhook and polling-based integrations:
- Webhook Event Subscription - Automatically creates and manages webhook subscriptions on deploy and removes them on instance deletion
- New and Updated Orders - Polling trigger that checks for new and updated orders on a configured schedule
- New and Updated Products - Polling trigger that checks for new and updated products on a configured schedule
- New and Updated Shipments - Polling trigger that checks for new and updated shipments on a configured schedule
2026-03-05
Added data sources:
- Select Webhook for selecting registered webhooks from the ShipStation account
- Select Fulfillment for selecting fulfillments from the ShipStation account
2026-02-24
Added data sources:
- Select Carrier for selecting carriers
- Select Service for selecting shipping services
- Select Package for selecting package types
- Select Customer for selecting customers
- Select Store for selecting stores
- Select User for selecting users
- Select Order for selecting orders
- Select Product for selecting products
- Select Warehouse for selecting warehouses
2024-03-29
Added orderKey input to the Create/Update Order action for specifying a custom order key
2023-09-28
Initial release of the ShipStation component