カスタム活動

Dynamics 365 Customer Engagement (on-premises) でカスタム活動を作成し、インスタント メッセージング (IM) やショート メッセージ サービス (SMS) などの業務上の通信ニーズをサポートできます。 Customer Engagement でカスタム活動を作成するには、ユーザー定義エンティティを作成し、EntityMetadata.IsActivityプロパティを使用してこのエンティティを活動エンティティとして指定します。

ただし、他のユーザー定義エンティティと異なり、ユーザー定義活動には主属性を指定できません。これは、ユーザー定義活動の主属性は既定で "Subject" という名前にする必要があるためです。

カスタム活動エンティティを作成すると、activitypointer エンティティのすべてのプロパティと特権がカスタム活動に継承されます。 また、すべての活動関係者の種類をカスタム活動に使用できるようになり、その結果として対応するプロパティも継承されます。

他の活動と同じように、カスタム活動にも 1 対多 (1:N) の関連付けを作成できます。また、既存の関連付けを更新できます。

特権およびアクセス権

カスタム活動を操作するには、ユーザー定義エンティティを操作する場合と同じ、Customer Engagement の権限とアクセス権のセットが必要です。 ユーザー定義エンティティの詳細については、エンティティ メタデータのカスタマイズ を参照してください。

ユーザー定義の活動の作成

カスタム活動エンティティを作成するには、以下の表に示すプロパティの値を設定します。

プロパティ名 注意
EntityMetadataIsActivity true ユーザー定義エンティティをカスタム活動として指定します。
EntityMetadataIsAvailableOffline true カスタム活動エンティティをオフラインで使用できるようにする必要があります。
EntityMetadataIsMailMergeEnabled false カスタム活動エンティティの差し込み印刷を有効にすることはできません。
EntityMetadataOwnershipType OwnershipTypes。 TeamOwned
または
OwnershipTypes。 ユーザーによる所有
カスタム活動エンティティはチーム所有またはユーザー所有にすることができます。
EntityMetadataActivityTypeMask 0 - なし
または
1 – 通信活動
(任意) カスタム活動を Web アプリケーションの活動メニューに表示するかどうかを指定します。

- 活動メニューに表示しない場合は 0 (なし) を指定します。 カスタム活動は関連する (関連付けがある) エンティティのみの関連グリッドに表示されます。
- 活動メニューに表示する場合は 1 (通信活動) を指定します。

このプロパティを指定しない場合、カスタム活動は既定のプロパティ値 (1) で作成されます。 つまり、カスタム活動は活動メニューに表示されます。 また、ActivityTypeMask は活動の作成時にのみ設定できます。一度設定したら、変更はできません。
CreateEntityRequestHasActivities false カスタム活動エンティティには活動との関連付けを設定できません。
CreateEntityRequestHasNotes true カスタム活動エンティティにはメモへの関連付けを設定する必要があります。
CreateEntityRequestPrimaryAttribute SchemaNameは "Subject" です。 すべての活動の PrimaryAttribute のスキーマ名を "Subject" にする必要があります。

次のサンプルはユーザー定義の活動を作成する方法を示します。



String prefix = "new_";

String customEntityName = prefix + "instantmessage";

// Create the custom activity entity.
CreateEntityRequest request = new CreateEntityRequest
{
    HasNotes = true,
    HasActivities = false,
    PrimaryAttribute = new StringAttributeMetadata
    {
        SchemaName = "Subject",
        RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
        MaxLength = 100,
        DisplayName = new Label("Subject", 1033)
    },
    Entity = new EntityMetadata
    {
        IsActivity = true,
        SchemaName = customEntityName,
        DisplayName = new Label("Instant Message", 1033),
        DisplayCollectionName = new Label("Instant Messages", 1033),
        OwnershipType = OwnershipTypes.UserOwned,
        IsAvailableOffline = true,

    }
};

_serviceProxy.Execute(request);

//Entity must be published

関連項目

活動エンティティ
ActivityPointer (活動) エンティティ
サンプル: カスタム活動の作成
サンプル: エンティティ メタデータの作成と更新