The DJI FlightHub 2 integration connects your DJI FlightHub 2 account to Birdi so that media captured on your flights is sent to Birdi automatically. Once it's set up, there's no need to pull SD cards or upload files manually — your imagery flows through to Birdi and is ready to process into maps.
The integration lets you:
Sync flight media from DJI FlightHub 2 into Birdi automatically
Store that media in a dedicated, secure cloud storage bucket that's yours
Control which projects sync, so only the data you want lands in Birdi
Keep data separated by workspace, so different clients, sites or regions stay tidy
Before you start
You'll need both of these in place:
A Birdi account with access to the Admin dashboard (you'll need admin permissions to set up an integration).
A paid DJI FlightHub 2 plan — the third-party cloud sync features used here require a Business plan or higher. Free or trial tiers won't expose the settings you need.
A supported device and camera from DJI
Docks: DJI Dock 3, DJI Dock 2, DJI Dock.
Drones: Matrice 400, Matrice 350 RTK, Matrice 30 Series, Matrice 4 Series, Matrice 4D Series, Mavic 3 Enterprise Series (excluding Mavic 3 Multispectral), and others.
Payloads: Zenmuse H30 Series, Zenmuse H20 Series, Zenmuse S1, Zenmuse V1.
Tip: Set up your DJI project and fly a test task before you begin, so you have something to sync when you check the connection.
Setting up for an organisation vs. sub-workspaces
The DJI FlightHub 2 integration can be configured per workspace. How you approach it depends on how your account is structured:
A single organisation (one workspace) | An organisation with multiple sub-workspaces |
Set the integration up once, in that workspace. All synced flights land in the one storage bucket and appear in the one workspace.
This is the simplest path — one bucket, one set of credentials, everything in one place. The trade-off is that every flight is aggregated together, so it's harder to keep different clients or sites separate, and you would need to move the map into the sub workspace upon completion. | Set the integration up separately in each sub-workspace you want to sync (for example, one per client, site or regional branch).
Each sub-workspace gets its own storage bucket and connection details, so data stays isolated and access stays clean. The trade-off is more setup — you repeat the steps below for every sub-workspace, and manage a separate bucket and credentials for each.
You will need to view the integration page from within the sub-workspace as this will have their unique setup codes required for steps 5 & 6 below. |
Tip: If you're not sure which structure suits you, start with the workspace your day-to-day maps already live in.
Step-by-step: setting up the integration
1. Open the integration in Birdi
Go to your profile icon
Select Administration
Open Integrations.
Find the DJI FlightHub 2 integration and start the self-serve setup.
Birdi generates the pieces DJI needs to connect: a dedicated storage bucket, the authentication details, and an API endpoint (the address DJI sends notifications to).
2. Copy your connection details
Once setup completes, Birdi shows a set of client-specific values.
You will need to copy each line item to your clipboard and you'll paste them into DJI FlightHub 2 in the next steps.
Tip: Keep this tab open so you can copy each value as you go.
3. Open your organisation settings in DJI FlightHub 2
In DJI FlightHub 2, click your profile button (top right).
Select My Organization from the dropdown.
Click the settings cog.
4. Add Birdi as a third-party cloud service
Under FlightHub Sync, click + Add Third-Party Cloud Service.
5. Configure file synchronisation
Under Livestream & Data Management:
Click File Synchronization.
Fill in the Bucket storage configuration using the details copy each field from Birdi.
Click Connectivity check to confirm DJI can reach the bucket.
Click Save Configuration
Tip: If the connectivity check fails, re-check each value against Birdi — a single mistyped or partially copied character is the usual cause.
6. Set your project sync rules
Still under Livestream & Data Management:
Open Project Sync Rules.
Add a Rule Name, an example of this might be Birdi Sync or per workspace name
Select a Destination Storage Configuration, this is you bucket name prev added in step 5.
Ensure the media files sync is toggled to on
Depending on your setup will depend what project(s) you want to sync to your workspace.
If you are working with a single integration into your main workspace you may want to select multiple folders to sync and create maps from all projects.
If you are working with sub workspaces you may want to setup each integration independently and link only one folder here.
Note: This has to be done for each project individually — there's no option to sync every project automatically. Remember to come back and set the rule whenever you add a new project.
7. Set up event notifications
Select back to return to the previous screen
Under System and Information:
Click Event API Event Notification.
Next to Notification Rule Configuration, click Create.
Enter the details, including the receiving address (the API endpoint Birdi generated).
Select the projects you want notifications for.
Tick File Sync Notification, then confirm.
This lets Birdi know when new media has synced, so it can pick it up and process it.
8. Check it's working
Trigger a sync (or fly a test task) on a project you've enabled.
Confirm the media appears in your Birdi workspace in a map.
Best practice tips
Set sync rules as you create projects. Because there's no "sync everything" option, make setting the Project Sync Rules part of your routine each time a new project is created in DJI.
Redact secrets before sharing. If you screenshot your setup for a colleague, cover any credentials or secret values.
Use sub-workspaces to keep clients separate. If you manage multiple clients or sites, a per-workspace integration keeps each one's data in its own bucket.
Run the connectivity check before you rely on it. Confirm the connection is green before your first real flight, not after.












