Connect FedEx to Syncaut to automate shipping, generate labels, get rate quotes, track shipments, validate addresses, and cancel bookings — all from within your workflows.
Before adding a FedEx node to your workflow, you need three things from your FedEx Developer account:
An API Key
An API Secret (called "Secret Key" in the FedEx portal)
A FedEx Account Number
All three are required. The node will fail to authenticate if any of them are missing.
Go to the FedEx Developer Portal at developer.fedex.com
Sign in or create a FedEx developer account
Go to My Projects → Create a Project
Select the APIs you need — at minimum enable:
Ship API (for creating and cancelling shipments)
Rate API (for getting rate quotes)
Track API (for tracking shipments)
Address Validation API (for validating addresses)
Complete the project setup — FedEx will generate your credentials
Once your project is created, go to your project dashboard:
API Key — shown on the project overview page
Secret Key — this is your API Secret. It is shown once when the project is created. If you did not copy it, you will need to regenerate it.
Account Number — your FedEx shipping account number, found under My Account or on your FedEx invoices
⚠️ Important: The Secret Key is only shown once. Copy it immediately and store it safely. If you lose it, you must regenerate it from the FedEx Developer Portal, which will invalidate the old one.
FedEx credentials are stored as a JSON object containing all three values. This is different from integrations that store a single token.
In Syncaut, go to your Workspace → Credentials
Click Add Credential
Select FedEx as the type
In the credential value field, paste the following JSON — replacing the placeholder values with your actual credentials:
{
"apiKey": "your_api_key_here",
"apiSecret": "your_secret_key_here",
"accountNumber": "your_account_number_here"
}
Give it a recognisable name (e.g. "Client Shipping — FedEx")
Save
⚠️ The credential must be valid JSON with all three fields —
apiKey,apiSecret, andaccountNumber— or the node will throw an error and refuse to run. Double-check for typos, missing quotes, or trailing commas before saving.
Your credentials are encrypted at rest and never exposed after saving.
When adding a FedEx node to your workflow, you go through three steps:
Step name — a variable name used to reference this node's output in later steps (e.g. getRates). Must start with a letter or underscore, no spaces.
Credential — select the FedEx credential you added above
Choose what you want this node to do:
Get rates — Quote shipping costs for a package between two addresses
Create shipment — Book a shipment and generate a shipping label
Track shipment — Get the current tracking status of a shipment
Validate address — Verify that a shipping address is deliverable
Cancel shipment — Cancel a previously booked shipment
Each action comes with a pre-loaded JSON template. Replace the {{placeholders}} with actual values or reference outputs from previous workflow steps using {{stepName.data}}.
Returns available shipping services and prices for a given origin, destination, and package weight.
Key payload fields:
shipper.address.postalCode — origin postal code
recipient.address.postalCode — destination postal code
requestedPackageLineItems[0].weight.value — package weight in pounds
serviceType — e.g. FEDEX_GROUND, FEDEX_2_DAY, PRIORITY_OVERNIGHT
The rates are available on the output as {{stepName.rates}}.
Books a shipment and generates a shipping label. Returns a tracking number and a label URL.
Key payload fields:
requestedShipment.shipper — sender contact and address details
requestedShipment.recipients — recipient contact and address details
requestedShipment.shipDatestamp — ship date in YYYY-MM-DD format
requestedShipment.serviceType — shipping service (e.g. FEDEX_GROUND)
requestedShipment.requestedPackageLineItems — weight and dimensions of the package
labelSpecification.imageType — PDF or PNG
labelSpecification.labelStockType — e.g. PAPER_4X6
After the node runs, the tracking number is available as {{stepName.trackingNumber}} and the label download URL as {{stepName.labelUrl}}.
Returns the current status and scan history for a tracking number.
Key payload fields:
trackingInfo[0].trackingNumberInfo.trackingNumber — the FedEx tracking number to look up
Set includeDetailedScans to true to get the full scan history.
Checks whether a shipping address is valid and deliverable. Useful to run before creating a shipment to avoid failed deliveries.
Key payload fields:
addressesToValidate[0].address.streetLines — street address as an array
city, stateOrProvinceCode, postalCode, countryCode
Cancels a previously booked shipment using its tracking number.
Key payload fields:
trackingNumber — the tracking number of the shipment to cancel
emailShipment — set to true to send a cancellation email, false to skip
You can reference outputs from previous workflow steps anywhere inside the payload using Handlebars syntax:
{{stepName.data}}
For example, if a previous step named getOrder fetched an order with a recipient address, you could reference it as:
{{getOrder.data.shipping_address.zip}}
Use the variable picker (+ variable) above the payload editor to insert common variables without typing them manually.
Every FedEx node stores its result under the step name you provide. The full output structure is:
{
"data": {},
"action": "create_shipment",
"trackingNumber": "123456789012",
"labelUrl": "https://...",
"rates": []
}
{{stepName.data}} — the full raw FedEx API response
{{stepName.trackingNumber}} — extracted tracking number (create shipment only)
{{stepName.labelUrl}} — label download URL (create shipment only)
{{stepName.rates}} — array of rate options (get rates only)
FedEx has a sandbox environment for testing. Syncaut uses the sandbox by default unless the FEDEX_ENV environment variable is set to production.
When testing, use FedEx sandbox credentials from your developer project. Sandbox shipments do not generate real labels or charges.
FedEx credentials missing required fields Your credential JSON is missing one or more of apiKey, apiSecret, or accountNumber. Edit the credential in Workspace → Credentials and make sure all three fields are present and correctly formatted as JSON.
401 Unauthorized Your API Key or Secret Key is incorrect or has been regenerated. Go to the FedEx Developer Portal, check your project credentials, and update the credential in Syncaut.
403 Forbidden Your FedEx project does not have the API enabled for the action you are trying to perform. Go to your FedEx Developer project and add the missing API (Ship, Rate, Track, or Address Validation).
Invalid JSON payload The payload contains a syntax error. Common causes are missing commas, unmatched braces, or an unresolved {{variable}} that returned an unexpected value. Check the payload in the node editor before running.
Credential not found The credential attached to the node was deleted. Re-add it under Workspace → Credentials and update the node.
Could not parse error response FedEx returned an error that could not be read. This is usually a temporary issue. Check the FedEx Developer Portal status page and retry.
Navigate