Ship24 Order Tracking for Airtable
Introduction
Ship24 AI Order Tracking for Airtable is an Airtable extension that lets you create shipment trackers and retrieve delivery updates from Ship24 directly inside your Airtable base. Tracking data is written back to your records automatically, keeping your base up to date without switching between tools.
Ship24 supports tracking across 2500+ couriers and marketplaces worldwide, giving you visibility across all your shipments in one place.
The extension is designed for teams that manage orders or shipments in Airtable and want to retrieve tracking updates in bulk, monitor delivery progress, and optionally receive real-time updates through Airtable Automations.

In this article
- What does the extension do?
- Requirements
- Installation
- Setup
- Field reference
- Syncing shipments
- Courier Search
- Webhook setup
- Sync behaviour reference
- Limits and safeguards
- Troubleshooting
What does the extension do?
The Ship24 AI Order Tracking extension allows you to manage shipment tracking directly from your Airtable base.
With Ship24 AI Order Tracking, you can:
- Create shipment trackers from tracking numbers stored in your Airtable table
- Retrieve the latest shipment status, milestone, and tracking events
- Automatically set up the required fields in your table with the correct types and options
- Map tracking data to your existing fields
- Search across 2500+ supported couriers to find the correct courier code
- Receive real-time tracking updates via webhook using Airtable Automations
All sync actions are triggered manually from within the extension. Automatic real-time updates can be configured separately using the built-in webhook guide.
Requirements
Before using the extension, you will need:
- A valid Ship24 Per-shipment plan and API key
- An Airtable account with permission to install extensions
- A table in your base containing shipment tracking numbers
You can access your Ship24 API key from your dashboard:
https://dashboard.ship24.com/integrations/api-keys
Important: The Ship24 AI Order Tracking extension requires a Per-shipment plan API key. Per-call plan keys are not compatible with this integration.
Installation
The Ship24 AI Order Tracking extension is installed directly from the Airtable Marketplace.
- Open your Airtable base.
- Click Extensions in the top-right corner.
- Click Add an extension.
- Search for Ship24 AI Order Tracking.
- Click Add extension.
The extension will appear in your extensions panel and is ready to configure.
[IMAGE: Screenshot showing the Airtable Marketplace with Ship24 AI Order Tracking extension listing]
Setup
When you first open the extension, the Settings screen will load automatically. On return visits you can access it via the settings icon in the top right of the dashboard.
Step 1 - Select your table
At the top of the Settings screen is a Shipments table dropdown. Select the table in your base that contains your tracking numbers. All field mapping dropdowns below it will update to show the fields available in that table.
Step 2 - Set up your fields
The TABLE SETUP section is where you connect your table columns to the extension.
If you are starting with a new table, click Add required fields. The extension will create the following columns automatically with the correct types and pre-filled options:
- Tracking Number (Single line text)
- Milestone / Status (Single select with all 8 Ship24 milestones, colour coded)
- Tracker ID (Single line text)
- Last Event (Single line text)
- Last Event Date (Date and time)
- Last Checked At (Date and time)
- API Status (Single select with created, synced, and error options)
If any of these columns already exist in your table, the extension will reuse them rather than creating duplicates.

If you have an existing table, use the field mapping dropdowns to assign each Ship24 field to the matching column in your table. All 7 fields in the Required section must be mapped before you can save settings. Without them the extension will not have the full picture it needs to sync, track cooldowns, and write results back correctly.
The fields in the "Sent to Ship24" section are optional but improve how accurately Ship24 can identify and track your shipments.
Step 3 - Set the cooldown
In the SYNC SETTINGS section, use the Re-check cooldown dropdown to choose how much time must pass before a shipment is eligible to be refreshed again. The default is 2 hours and the range is 30 minutes to 24 hours.
Records checked more recently than this window will be skipped automatically when you run a Refresh Status sync. This prevents unnecessary API calls for shipments that were updated recently.

Step 4 - Add your API key
In the API KEY section, enter your Ship24 API key and click Save API key. The extension will validate it against Ship24 before saving.
A Per-shipment plan API key is required. Per-call plan keys are not compatible with this extension. You can find your API key at https://dashboard.ship24.com/integrations/api-keys.
Once saved, the section will show "API key connected" with options to change or remove it at any time.

Step 5 - Save settings
Click Save settings at the bottom of the screen. This saves your table selection and field mapping and takes you to the main dashboard, where you can start syncing shipments.
Field reference
The table below describes each field and how it is used.
Field | Direction | Notes |
|---|---|---|
Tracking Number | Read | Required. The shipment tracking number. |
Milestone / Status | Write | Required. Updated on Refresh Status only, not on Create. Single select — see milestones below. |
Tracker ID (Ship24) | Read / Write | Required. Written when a tracker is created. Used to identify existing trackers on refresh. |
Last Event Description | Write | Required. The most recent tracking event description returned by Ship24. |
Last Event Date | Write | Required. Timestamp of the most recent tracking event. |
Last Checked At | Write | Required. Timestamp of the last successful refresh. Drives the cooldown logic. |
API Status | Write | Required. |
Courier Code | Read → Ship24 | Sent to Ship24 to improve tracking accuracy. Use the Courier Search tool to find the correct code. (Strongly recommended) |
Courier Name | Read → Ship24 | Sent to Ship24 alongside the courier code. |
Destination Country | Read → Ship24 | Two-letter ISO 3166 country code, for example US, GB, DE. Recommended for international shipments. |
Destination Post Code | Read → Ship24 | Required by certain couriers to retrieve tracking events. |
Shipping Date | Read → Ship24 | The shipment dispatch date. Should closely match the actual shipping date. |
Origin Country | Read → Ship24 | Two-letter ISO 3166 country code of the shipment origin. |
Shipment Reference | Read → Ship24 | Your internal reference for the shipment, such as an order ID. |
Order Number | Read → Ship24 | Your internal order number. |
Shipment Title | Read → Ship24 | A label for the shipment (max 100 characters). |
Tracking URL | Read → Ship24 | A direct tracking URL for the shipment. |
Recipient Email | Read → Ship24 | Recipient email address. |
Recipient Name | Read → Ship24 | Recipient name. |
Milestone values
Ship24 uses the following milestone values:
Milestone | Meaning |
|---|---|
pending | Tracker created, no events yet received |
info_received | Shipment information received by carrier |
in_transit | Shipment is on its way |
out_for_delivery | Shipment is out for delivery |
available_for_pickup | Shipment is available for collection |
failed_attempt | Delivery was attempted but failed |
exception | An issue has occurred with the shipment |
delivered | Shipment has been delivered |
Syncing shipments
The extension dashboard shows a summary of all records in your selected table, grouped by milestone. Two sync actions are available.
[IMAGE: Screenshot of the dashboard showing stat cards for each milestone and the Create Trackers / Refresh Status buttons]
Create Trackers
Use this action to register new tracking numbers with Ship24. The extension will find all records that have a tracking number but no Tracker ID and create a tracker for each one.
After creating a tracker:
- The Tracker ID field is populated
- The API Status field is set to
created - No milestone is written at this stage — the first milestone update will come from a Refresh Status run or a webhook event
The Create Trackers button is disabled when there are no eligible records.
Refresh Status
Use this action to retrieve the latest tracking events and milestone for records that already have a Tracker ID.
After a successful refresh:
- The Milestone / Status field is updated
- The Last Event Description and Last Event Date fields are updated
- The Last Checked At field is updated
- The API Status field is set to
synced
Records within the cooldown window are skipped automatically. Records with apiStatus = created bypass the cooldown on their first refresh, ensuring newly registered trackers are checked immediately.
The Refresh Status button is disabled when there are no eligible records.
Progress is shown per record during both operations, for example: Creating — 12 / 100 or Refreshing — 5 / 40.
![]()
Courier Search
The Courier Search screen lets you look up the correct Ship24 courier code for any carrier. Using the right courier code improves tracking accuracy by ensuring Ship24 routes the shipment to the correct carrier.
To open Courier Search, click Search couriers in the top right of the dashboard.
The extension loads the full Ship24 courier list (2500+ carriers). Type a carrier name or code into the search field to filter results.
To use a courier code:
- Locate the courier in the results list.
- Click the code field on the right to select it.
- Press Ctrl+C (or Cmd+C on Mac) to copy it.
- Paste it into the Courier Code field in your Airtable table.

Webhook setup
Airtable Automations can be used to receive real-time tracking updates from Ship24 via webhook. When a shipment event occurs, Ship24 will send the update directly to your Airtable automation, which can then update the corresponding record immediately.
The extension includes a built-in step-by-step webhook guide. To open it, click Webhook setup on the dashboard.
Webhooks let Ship24 push tracking updates to your Airtable base automatically with no manual syncing required. Complete this setup once.
Note: Airtable limits the "When webhook received" trigger to 5 requests per second. If you add many trackers with existing events at the same time, Ship24 may briefly exceed this limit. Ship24 handles this automatically by retrying failed deliveries, so all updates will eventually arrive. You may just see a short delay before everything populates.
1. Create an Airtable automation
- In your Airtable base, open the Automations tab and click Create new automation.
- Choose "When webhook received" as the trigger. Airtable will generate a unique webhook URL.
- Copy that webhook URL. You will paste it into Ship24 in the next step.
2. Configure and test in Ship24
- In your Ship24 dashboard, go to Developers → Webhooks.
- Paste the Airtable webhook URL into the Test Webhook URL field and enter any tracking number into the Test tracking number field.
- Click Send a test message. Ship24 should confirm: Test message successfully sent. HTTP code 200 received from your endpoint.
- Still in Ship24, click Edit next to the Webhook URL field, paste your Airtable webhook URL, and save. This permanently registers it so Ship24 sends all future tracking updates to Airtable.
- Back in Airtable, check the RESULTS section of your automation. It should show the test webhook payload that was just received.
Ship24 echoes your Airtable record ID back in every payload, which is how the automation finds the right row to update.
3. Configure the automation action
- Back in Airtable, add a new action to your automation and choose Update record.
- For the Record ID field, click + to open the data picker and navigate through the webhook payload to:
body → trackings → tracker → clientTrackerId - For each field to update, click +, then click the settings cog and select Dynamic so you can map from the payload. Navigate each path:
- Milestone / Status —
body → trackings → shipment → statusMilestone - Last Event —
body → trackings → events → status - Last Event Date —
body → trackings → events → occurrenceDatetime - Tracker ID (Ship24) —
body → trackings → tracker → trackerId
- Click Generate a preview to verify the mapping. You may see an error on Record ID. This is expected because the test payload used a dummy tracking number rather than a real Airtable record ID. You can still check the **Input **section in the Results section to see the test data is mapped as expected.
- In the top left of the Automations screen, turn the toggle to On to enable webhook automation.
4. Live test
- Add a tracking number to your table that you know already has results, then use the extension's Create Trackers button to register it as a tracker in Ship24.
- Once Ship24 has results for that tracker, it will push them back via webhook. Check that Milestone, Last Event, and Event Date populate in your Airtable row automatically.
- Click 'Mark as configured' to confirm the webhook setup flow is complete.
Sync behaviour reference
Record state | Create Trackers | Refresh Status |
|---|---|---|
No tracking number | Skipped | Skipped |
Has tracking number, no Tracker ID | Eligible | Skipped |
Has Tracker ID, milestone = delivered | Skipped | Skipped |
Has Tracker ID, within cooldown | Skipped | Skipped |
Has Tracker ID, apiStatus = created | Skipped | Eligible (cooldown bypassed) |
Has Tracker ID, outside cooldown | Skipped | Eligible |
Limits and safeguards
- Batch size: Trackers are created in batches of 100 per API call. There is no cap on the total number of records you can sync in one run. Larger sets are simply processed across multiple calls automatically.
- Delivered shipments: Records with a milestone of
deliveredare automatically skipped during both Create and Refresh operations. - Cooldown: Records refreshed within the configured cooldown window (default 2 hours) are skipped to avoid unnecessary API calls.
- New tracker bypass: Records with
apiStatus = createdskip the cooldown on their first Refresh Status run, ensuring new trackers receive their first status update promptly. - Per-record writes: Tracking results are written to each record immediately as they are processed. This prevents conflicts when webhook updates and manual syncs occur close together.
- Auth errors: If Ship24 returns a 401 or 403 during a sync, the operation is aborted immediately with a message directing you to check your API key in Settings.
- Rate limit errors: If Ship24 returns a 429 rate limit response, the operation is aborted with a message to wait and retry.
- Webhook rate limit: Airtable enforces a limit of 5 requests per second on the "When webhook received" trigger. If you register many trackers at once and they all have existing events, Ship24 may exceed this briefly. Ship24 handles this automatically with retries if a delivery attempt is not accepted, it will be resent. No action is required on your part, though there may be a short delay before all updates appear in your base.
Troubleshooting
API key error
- Open Settings and confirm your Ship24 API key is saved and validated.
- Ensure you are using a Per-shipment plan key. Per-call plan keys are not supported by this extension.
Create Trackers button is disabled
- Confirm that your table contains records with a tracking number and no Tracker ID.
- Check that the Tracking Number and Tracker ID fields are correctly mapped in Settings.
Refresh Status button is disabled
- Confirm that your table contains records with a Tracker ID that are not delivered and are outside the cooldown window.
Tracking data not updating
Check that:
- The Tracker ID field contains a valid value
- The shipment has not already been marked as delivered
- The cooldown window has passed since the last refresh
- The Tracking Number and Milestone / Status fields are correctly mapped in Settings
Fields are missing after using Add required fields
- If the button reports that fields were created but they do not appear in your table, refresh the Airtable page and reopen the extension.
- Confirm you have editor or higher permissions on the base.
Milestone is not updating after Create Trackers
This is expected behaviour. The milestone field is not written during tracker creation. Run Refresh Status after creating trackers to retrieve the initial milestone, or configure the webhook guide to receive milestone updates automatically.
Webhook not receiving updates
- Confirm the webhook URL is correctly stored in the Ship24 dashboard under Developers → Webhooks.
- Test the connection using Send a test message in the Ship24 dashboard and confirm HTTP 200 is returned.
- Check that your Airtable automation is enabled and the Update Record action is correctly configured.
If you continue experiencing issues, contact the Ship24 support team.
Updated on: 27/05/2026
Thank you!
