Smart Ingest lets you pull data stored in your Microsoft Fabric data warehouse and import to Iterable. This allows you to sync data into Iterable for use in your marketing campaigns, segmentation, and analytics. With Smart Ingest, you can easily connect to your Microsoft Fabric instance and start syncing data in just a few steps. Smart Ingest handles the heavy lifting by automatically tracking changes to your data and syncing only the incremental changes, ensuring your data in Iterable is always fresh!
NOTE
Contact your Iterable customer success manager to discuss adding Smart Ingest to your plan.
Smart Ingest can only import data from Microsoft Fabric.
# In this article
# Connection requirements
To connect Microsoft Fabric to Iterable, you need to set up a few things in Microsoft Entra, Microsoft Fabric, and Iterable. You also need to decide on the sync engine you want to use.
Your Microsoft administrator can follow the steps below to set up a service principal for Microsoft Fabric, and may optionally need to allowlist Smart Ingest IPs or provide additional permissions for the Lightning sync engine.
Then, the Iterable user with the Manage Integrations project permission can connect Microsoft Fabric to Iterable with the following details:
# Microsoft Fabric connection details
Host – The hostname or IP address of your Microsoft Fabric instance. If using the hostname, make sure to only insert the hostname and not the full URL (remove the leading
http://
and the final/
).Port – The port number of your Microsoft Fabric instance. The default is
1433
, but yours may be different.Database – The name of the database in your Microsoft Fabric instance. Smart Ingest queries the data from this database.
Request timeout duration (optional) - The time in seconds that Smart Ingest waits for a response from Microsoft Fabric before timing out. The default is 30 seconds.
Trust server certificate (optional) - Whether to trust the Microsoft Fabric server certificate. The default is false. Use this setting for self-signed certificates not signed by a trusted certificate authority. If you set this to true, Smart Ingest will trust the server certificate without validating it.
# Microsoft service principal credentials
- Tenant ID (or Directory ID)
- Client ID (or Application ID)
- Client secret
The Microsoft service principal needs permissions to access Microsoft Fabric, which depend on your sync engine choice:
- Basic sync engine: Read all data using SQL (ReadData)
- Lightning sync engine: Read all data using SQL (ReadData) and additional permissions granted using a SQL script provided in the Smart Ingest sync setup.
NOTE
To learn more about the differences between the Basic and Lightning sync engines, read Optimizing Smart Ingest Sync Performance.
# Connecting Microsoft Fabric to Smart Ingest
In Microsoft Entra, you need to create a service principal. Then, you'll need to grant it access to your Fabric resource. You may also need to allow Smart Ingest IPs if your organization has a firewall in place.
After that, you can connect Microsoft Fabric to Iterable.
# Step 1: Create a service principal in Microsoft Entra
First, create a service principal. These are the credentials Smart Ingest will use to access your Microsoft Fabric resources.
- Sign in to the Microsoft Entra admin center.
- Go to Identity > Applications > App registrations and click New registration.
- Enter a name for your application, and select Accounts in this organizational directory only as the supported account type.
- Click Register.
- Note the registration's Application (client) ID and Directory (tenant) ID.
- Click Add a certificate or secret and then New client secret.
- Name your client secret and select an expiration date.
- Note your client secret Value.
For more detailed instructions on service principal creation, see Microsoft's documentation: Register a Microsoft Entra app and create a service principal.
IMPORTANT
To maintain Smart Ingest's connection to Microsoft Fabric, remember to refresh your client secret prior to its expiration. Smart Ingest does not provide a reminder or notification for this.
# Step 2: Configure Microsoft Fabric
Microsoft Fabric may not be accessible via service principal by default. To connect, take the following steps:
- Sign in to Microsoft Fabric.
- Go to Synapse Data Engineering.
- Go to Settings > Governance and insights > Admin portal.
- On the sidebar, select Tenant settings.
- Scroll down to find Developer settings, and select Service principals can use Fabric APIs so that the toggle is set to Enabled.
- Next go to OneLake settings and select Users can access data stored in OneLake with apps external to Fabric so that the toggle is also Enabled.
# Step 3: Attach your service principal to your Fabric warehouse
- Sign in to Microsoft Fabric.
- Open the workspace that contains your warehouse.
- Hover over your warehouse, click on the overflow menu (three dots), and select Manage permissions.
- On the next page, click on Add user.
- Enter the name of your service principal, and select Read all data using SQL (ReadData).
- Click Grant.
This provides read permission to the service principal.
# Step 3.1: Granting additional permissions for Lightning sync engine (optional)
If you're using the Lightning sync engine, you'll also need to run the SQL script provided by Hightouch to grant additional permissions. This script is available in the Iterable Smart Ingest UI when you select the Lightning sync engine.
NOTE
Smart Ingest is co-developed by Iterable and Hightouch. Hightouch is a data processor for this feature. Smart Ingest data operations and schemas may contain the Hightouch name, but the feature is fully supported by Iterable.
# Step 4: Allow Smart Ingest IPs in Microsoft Entra
Entra can protect your data by preventing unknown external IP addresses from connecting to your Fabric database. Regardless of how you're authenticating, your Entra administrator may need to add Smart Ingest IP addresses as part of your trusted network. This is a one-time setup.
To allowlist Smart Ingest IPs in Entra, ask your Entra administrator to allowlist the Smart Ingest IPs for your region by updating the conditional access policies in the Microsoft Entra admin center.
To learn more about conditional access network policies, see the Microsoft Entra documentation on Conditional Access: Network Assignment.
# Step 5: Connect Microsoft Fabric to Smart Ingest
To connect Smart Ingest to Microsoft Fabric:
Log in to Iterable as a user with the Manage Integrations project permission and open the project you’re working on.
Go to Integrations > Smart Ingest.
Click Connect a New Source.
Select Microsoft Fabric and click Continue.
Enter your Microsoft Fabric instance details: Host, Port, and Database. Optionally, you can also enter Request timeout duration and Trust server certification.
-
Select the sync engine you want to use: Basic or Lightning.
- If you select Basic, you can switch to Lightning later.
- If you select Lightning:
- Additional permissions are required. When you select the Lightning sync in this step, Smart Ingest reveals a SQL script provided by Hightouch that will grant the minimum permissions needed to use the Lightning sync engine. Provide your Microsoft Fabric administrator this SQL query, or use the Basic sync if permissions cannot be granted.
- To change the sync engine back to Basic, create a new connection to Microsoft Fabric.
-
Enter your Microsoft Fabric credentials:
- Tenant ID (or Directory ID)
- Client ID (or Application ID)
- Client secret
Click Continue. Smart Ingest automatically tests the connection.
When the connection test is successful, click Continue. (If there are problems connecting, click Back and review the connection details for accuracy.)
Add a name for your data source to display in Iterable.
Click Finish.
# Next steps
You've now connected your data warehouse to Smart Ingest. The next thing you can do is create a sync.
# Troubleshooting
Most issues with the Microsoft Fabric source can be resolved by verifying that your Microsoft Fabric configuration is correct. It must allow external connections via service principal.