Link Type Definition

[This topic is pre-release documentation and is subject to change.]

A Link is typically used to establish an association between an Interaction and a Profile. Links enable continuous profiling based upon real-world interactions, for example, of customers based upon their purchase patterns. Links also extend KPIs in that when a KPI is created for an Interaction, an automatic association is created to linked Profiles. Links can also be used to initialize or update Profiles.


Property names appended with asterisks* are required.

LinkDefinition properties

Property JSON type Description
tenantId string Name of the owning hub (readonly)
linkName* string Name of the Link (readonly)
sourceInteractionType* string Name of the associated Interaction type, representing the source of the link
targetProfileType* string Name of the associated Profile type, representing the target of the link
displayName dictionary Localized display names for the link
description string Localized description of the link
provisioningState string ["Provisioning" | "Succeeded" | "Expiring" | "Deleting" | "HumanIntervention" | "Failed" ]
referenceOnly boolean True if is reference-only link. This flag is ignored if the Mappings are defined. If the mappings are not defined and it is set to true, links processing will not create or update profiles.
operationType string Determines whether the link is supposed to create or delete instances if NOT reference-only: ["Upsert" | "Delete"]
mappings TypePropertiesMapping[] Concrete links mapping metadata (see below)
participantPropertyReferences* ParticipantPropertyReference[ ] Concrete links participating property metadata (see below)

TypePropertiesMapping properties

Property JSON type Description
InteractionTypePropertyName string name of the Interaction property
ProfileTypePropertyName string Name of the matching Profile property
IsProfileTypeId string
LinkType string Link behavior type ["UpdateAlways" | "CopyIfNull"]

ParticipantPropertyReference properties

Property JSON type Description
InteractionPropertyName string Name of the Interaction property
ProfilePropertyName string Name of the Profile property

JSON example

    "provisioningState": "Provisioning",
    "sourceInteractionType": "testInteraction1949",
    "targetProfileType": "testProfile1446",
    "tenantId": "azsdktesthub",
    "referenceOnly": false
    "description": {
        "en-us": "Link Description"
    "displayName": {
        "en-us": "Link DisplayName"
    "mappings": [{
        "interactionTypePropertyName": "testInteraction1949",
        "isProfileTypeId": true,
        "linkType": "UpdateAlways",
        "profileTypePropertyName": "testProfile1446"
    "participantPropertyReferences": [{
        "interactionPropertyName": "testInteraction1949",
        "profilePropertyName": "ProfileId"