Retrieve subscription data (Multi-funds)

1. Purpose

Automatically sync subscription data from FundSub to the customer's Microsoft Dynamics 365 Sales CRM, eliminating manual work and ensuring CRM records reflect the source of truth.


2. Key Benefits & Features

  • Establishes the CRM as the central, authoritative repository for all information related to an investor. The Investor Relations (IR), Compliance, and Accounting teams know they can trust the CRM record, as it reflects the final, signed subscription agreement.
  • Eliminates repetitive administrative work and dramatically reduces the risk of costly mistakes.

3. Target Personas

  • Valuable for any FundSub customer using Microsoft Dynamics 365 Sales as their CRM
  • Especially useful for firms that need to sync high volumes of subscription data across multiple funds

4. Prerequisites

4.1 Third-party app requirements (Microsoft Dynamics 365)

  • App Registration (Azure AD / Entra ID)
    • Understand the concept: Defines how external applications (like Anduin) connect to Dynamics 365 via OAuth 2.0. Customers must register an app in the Azure portal (Entra ID), which generates the credentials needed for the integration.
    • Credentials: Customers must create a Connected App and provide the necessary credentials during setup.
    • Permissions: The registered app must be granted appropriate Dynamics CRM API permissions in Azure and assigned a security role in the Dynamics 365 environment.
    • Client Secret expiry: Azure AD client secrets have a maximum lifetime of 24 months. Customers must rotate secrets before expiry to avoid integration disruption.
  • Entity (Table) management: When configuring the integration, the table name entered in the Anduin Integration Hub becomes the Display Name in Dynamics 365. Anduin internally derives a Schema Name from this using a fixed naming convention. This is what the integration uses for all data operations. Once a table is created, its Schema Name is permanent and cannot be modified.
    • If a table with the matching Schema Name already exists in Dynamics 365, the integration will push data to that existing table. If no match is found, the integration will automatically create a new custom table.
    • ⚠️ Do not modify this table's column types after setup. The integration can only push text (string) columns. Changing column types (e.g., to integer, lookup, or choice) may break the sync.
  • Field name limit: Microsoft Dynamics 365 enforces a 50-character maximum on column names. If a field name in the export template exceeds 50 characters, Anduin will automatically hash the middle portion of the name to bring it within the limit. The resulting column name may therefore differ from the original template field name — this is expected behavior and does not affect data integrity. The full original field name will be preserved in the column's description for reference.

4.2 Anduin app requirements

  • Fund access — the user must either:
    • Have admin access to the intended funds, or
    • Know a team member with admin access who can grant the necessary permissions during setup
  • Data transfer
    • Data: Identify the list of data points customers want to retrieve
    • Export templates: depending on the exchanged data points, the corresponding export templates will be recommended:
      • Anduin Standard Alias (ASA)
      • Custom Template
      • Self-service Export Template
🚧

Note

⚠️

On Template Setup

  1. Single-Fund Integration
    ✅ No constraints — integration can proceed without special requirements.

  2. Multi-Fund Integration
    Depends on the chosen template method:

    • ASA Route
      ✅ No constraints — just ensure the ASA is mapped to all intended funds.

    • Custom Template
      🔹 All template names must be consistent across funds. This enables the correct picklist option in configuration.
      🔹 Each template must include the required data points for its respective fund.
      🔹 Templates do not have to be identical — content can vary, but the template name must match.

    • Self-Service Template
      🔹 Users must ensure consistent template names across all funds (for picklist visibility).
      🔹 Templates should reflect the relevant data points in each fund.
      🔹 Again, the template content can differ, but names must match.


⚙️

How the Integration Works

  • When triggered, the integration looks up the configured template name per fund.
  • It extracts subscription data based on each fund’s selected template.
    → In short, the template defines which data points are retrieved.
  • Data is pushed to Microsoft Dynamics 365 destination records:
    • If template content is identical across funds → Microsoft Dynamics 365 schema matches the template.
    • If template content differs → Microsoft Dynamics 365 schema becomes a union of all templates, ensuring compatibility across funds.

5. Pre-Setup Checklist

TaskOwnerNoteAnduin guide
App Registration — Create and retrieve credentials (Client ID, Client Secret, Token URL)CustomerGuided by Anduin to ensure correct inputsLink
App Registration — API permissions & security role setupCustomerConsulted by AnduinLink
App Registration — Aware of Client Secret expiryCustomerConsulted by AnduinAzure AD client secrets expire (max 24 months). Must be rotated before expiry to avoid sync failure.
Dynamics 365 table managementCustomerConsulted by Anduin⚠️ Do not modify column types after setup. The integration can only push text (string) columns. Changing column types may break the sync.
Fund accessCustomerConsulted by Anduin
DataAnduin
Export templateAnduin

6. Internal Step-By-Step Rollout Guide (Anduin Integration Hub)

6.1 Grant access to the Integration Hub

  • Customers should contact their Implementation Manager to ensure they have access to the Hub and the correct integration flow.

6.2 Locate the solution

  • In the Browse tab of the Integration Hub, the customer can locate the Microsoft Dynamics 365 (Data retrieval) solution.

6.3 Install the solution

  • Step 1: Click Install to begin setup. The initial configuration screen will show integration version, name, description, and labels.
  • Step 2: Name the integration
    • Recommend a clear and descriptive name (e.g., Microsoft Dynamics 365 (Data retrieval) - Fund Alpha)
    • Click Next to proceed to Authentication steps
  • Step 3: Grant integration permission to customer's intended objects (funds)
    • Step 3.1: A list of accessible Anduin objects (e.g., Funds) will appear
    • Step 3.2: Click Open next to the relevant fund
    • Step 3.3: In the permission module, find the integration name and click Add
    • Step 3.4: Return to the Integration Hub — the fund should now show a "Linked" tag
🚧

If the target fund is not listed, there are 2 options

  1. Customer needs to be added with admin role for that fund, then return to the step 3.2. Customer should be able to see the target fund there
  2. Customer requests their team member who has admin role in that fund to perform step 3.3 using Settings > Integrations in the FundSub app and they can continue with step 3.4

6.4 Configure the solution

The configuration wizard has 4 steps shown in the left-hand navigation:

Step 1 — Initial Configuration

  • Review and optionally rename the integration instance.

Step 2 — Getting Started: Authentication

The following connection must be authenticated:

  • Microsoft Dynamics 365 Connection
    • Web API URL (required): Your organization's Dynamics 365 Web API URL — Example: https://org06a6642b.crm.dynamics.com/
    • Token URL (required): Found in Azure portal under your app > Endpoints — Example: https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token
    • Scopes (required): Your Dynamics URL with /.default appended — Example: https://org06a6642b.crm.dynamics.com/.default
    • Client ID (required): Generated when you register an app in Azure portal
    • Client Secret Value (required): Generated when you register an app in Azure portal

Step 3 — Configuration: Select Anduin object (Fund)

  • Select the Anduin fund(s) this integration should work with.
  • Multi-select is supported — click Add value to add more funds.
  • Only funds the user has been granted integration permission for (Step 6.3) will appear here.

Step 4 — Configuration (con't): Data trigger & Data template

  • Subscription status: Select the status that triggers a data push (e.g., Complete). A data push will be triggered every time a subscription reaches this status.
  • Data template: Select the template that defines which data points are pushed. Options:
    • Anduin standard fields — limited set of standard data points
    • Self-service template — configure via FundSub dashboard UI. Refer to this instruction.
    • Custom template — complex computation as needed; requires collaboration with Anduin.
📝

Note (Multi-fund):

Since this is a multi-fund configuration, templates may be fund-specific. Only templates with names that exist in every selected fund will appear in the picklist.

  • Table Name: Enter the Display Name for the Dynamics 365 custom table that will store Anduin subscription data (e.g., Anduin Fund Subscription Data). Anduin internally derives a Schema Name from this using a fixed naming convention. If a table with the matching Schema Name already exists in Dynamics 365, data will be pushed to that existing table. If not, a new custom table will be created automatically.
  • Click Finish to complete setup.

6.5 Validate the solution

Once configuration is complete:

  1. The customer can verify the integration has created a new custom table in Dynamics 365 (or confirm data is being pushed to the existing table if the name already existed).
  2. The customer then creates a subscription in the target fund, fills out the data, and moves the subscription to the triggering status.
  3. This will initiate the integration, resulting in:
    • A new record being created in the target Dynamics 365 table
    • All mapped columns from the export template being populated

If the automation works end-to-end, the setup is successfully validated.