Skip to main content

Programmers reference for Microsoft Dynamics 365 Reader

In TQL, you specify the reader type by providing its fully qualified name. To use this reader, specify Global.MicrosoftDynamics365Reader when creating a source. This identifies the specific reader implementation to use and allows you to configure its connection and behavior through the available properties.

Microsoft Dynamics 365 Reader properties

Property

Type

Default value

Notes

Connection properties

ADFS Server

String

Specifies the ADFS server value. This property applies only for FinOps On-Premise.

You can retrieve the ADFS Server value for FinOps On-Premise by checking the System Parameters in the System Administration module.

Client ID

String

Specifies the OAuth application's client ID.

Client Secret

Password

Specifies the OAuth application's client secret.

Connection Pool Size

Integer

20

Maximum number of active connections.

Connection Profile Name

String

Name of the Dynamics 365 connection profile to use.

Edition

String

The edition of Microsoft Dynamics 365 being used.

Organization URL

String

To find your Microsoft Dynamics 365 organization's URL, sign in at https://m365.cloud.microsoft/ with your credentials. After logging in, you'll be directed to the Dynamics 365 home page.

The organization’s URL will appear in the browser’s address bar and will look like: https://<yourorgname>.crm.dynamics.com/. The <yourorgname> part is a unique identifier specific to your organization.

Refresh Token

Password

OAuth refresh token.

Tenant ID

String

Specifies a tenant ID. This value is the directory ID in the Azure Portal > Azure Active Directory > Properties.

Thread Pool Count

Integer

10

Number of threads for data ingestion. Should not exceed connection pool size.

When the value of the thread pool counter is higher than the connection pool size, large data ingestion operations can cause the app to halt. Since best performance is achieved when using one thread for each table being synced, increasing the size of the connection pool to match the number of threads in use is a performance best practice.

Use Connection Profile

Boolean

False

Set to true to use a connection profile instead of individual properties.

Scheming and data handling

Fetch Size

Integer

5000

Specifies the maximum number of results to return from Microsoft Dynamics 365 in a single fetch.

Incremental Load Marker

String

ModifiedOn

Name of the column used for incremental loads. Must be numeric or timestamp and strictly increasing.

Specify the name of the column that contains the start position value. This column must meet the following criteria:

  • It should have an integer or timestamp data type (for example, a creation timestamp or an employee ID).

  • The values must be unique and continuously increasing to ensure proper incremental reading.

Migrate Schema

Boolean

True

Enables schema migration during initial or automated load.

Mode

Select list

  • Automated mode

  • Initial load

  • Incremental load

Automated

Data load mode: Automated, Initial load, or Incremental load.

Polling Interval

Integer

5m

How often to poll the source. Format: integer + d/h/m/s.

Start Position

String

%=-1

Where to begin reading from the check column. Use %-wildcard or timestamp format yyyy-mm-dd hh:mm:ss[.fffffffff].

Striim will read rows where the check column (Incremental Load Marker) is greater than or equal to the specified value and skip all earlier rows.

If the check column spans multiple tables, you must provide a corresponding table name or use a wildcard for each value.

% is a wildcard character that represents all tables configured for reading.

-1 is a special value indicating that the adapter should start reading from the current point forward, capturing all new data from that moment on.

To specify an exact start position, use a timestamp in the format yyyy-mm-dd hh:mm:ss[.fffffffff].

Data selection

Tables

String

Semicolon-delimited list of tables to include. Supports wildcard %.

Excluded Tables

String

Tables to exclude when using wildcards in the Tables property.

Filtering Query

String

Table-specific filtering conditions. Format: tableName={condition};

Use the format: tableName1={condition1};tableName2={condition2}

Example: DimensionSetLines={parentType = 'Sales_x0020_Order'};Customer={dateOfPurchase >= '2025-01-01'}

Additional properties

Connection Timeout

String

300

API timeout in seconds.

Datatype support

Striim type

Dynamics 365 data type

String

Single Line of Text

String

Multiple Lines of Text

String

Option Set

String

MultiSelect Option Set

boolean

Two Options

String

Status

String

Status Reason

Long

Whole Number

Double

Floating Point Number

Double

Decimal Number

Double

Currency

org.joda.time.DateTime

Date and Time

String

Lookup

String

Owner

String

Unique Identifier

java.lang.Object

Image

String

Customer

String

Owner

Sample objects supported by each edition

  • Customer Service: Cases, Activities, Users, Entitlements, Queues, SocialPosts, etc.

  • Field Service: WorkOrders, Resources, ServiceBookings, Agreements, Inventory, Products, ServiceCalls, etc.

  • FinOpsOnline (Dynamics 365 Supply Chain Management): Products, Purchase Orders, SalesOrders, Invoices, Inventory, Warehouses, Costing, Procurement, Transactions, etc.

  • FinOpsOnPremise (Dynamics 365 Supply Chain Management): Same as FinOpsOnline, but specifically for on-premise deployments.

  • Human Resources: Employees, Positions, Compensation, Benefits, Requests, Requisitions, AbsenceManagement, Statements, Recruiting, etc.

  • Marketing: Campaigns, Segments, Leads, MarketingLists, Forms, Events, Emails, Posts, etc.

  • Project Operations: Projects, Tasks, Milestones, Budgets, Invoices, Entries, Resources, Contracts, etc.

  • Sales: Accounts, Contacts, Opportunities, Leads, Competitors, Quotes, Orders, Invoices, etc.

  • Commerce: Products, Carts, Orders, Payments, Customers, Stores, Catalogs, Price Lists, Transactions, Categories, etc.