Share via


Activités personnalisées

Dans Dynamics 365 Customer Engagement (on-premises), vous pouvez créer des activités personnalisées pour prendre en charge les besoins en communications d’une entreprise comme la messagerie instantanée (IM) et les SMS. Pour créer une activité personnalisée dans Customer Engagement, créez une entité personnalisée, puis spécifiez-la en tant qu’entité d’activité à l’aide de la propriété EntityMetadata.IsActivity

Toutefois, contrairement d’autres entités personnalisées, vous ne pouvez pas spécifier un attribut principal pour une activité personnalisée car, par défaut, chaque activité personnalisée doit avoir un attribut principal nommé « Subject ».

Lorsque vous créez une entité d’activité personnalisée, toutes les propriétés et tous les privilèges de l’entité activitypointer sont hérités par l’activité personnalisée. De plus, tous les types de groupes d’activité sont disponibles pour l’activité personnalisée et, par conséquent, les propriétés correspondantes sont également héritées.

Vous pouvez créer des relations 1 à plusieurs (1 à N) pour une activité personnalisée, comme pour n’importe quelle autre activité. En outre, vous pouvez mettre à jour les relations existantes.

Privilèges et droits d’accès

Vous devez disposer du même groupe de privilèges et de droits d’accès Customer Engagement pour utiliser des activités personnalisées que pour utiliser les entités personnalisées. Pour plus d’informations sur les entités personnalisées, voir Personnaliser les métadonnées d’entité.

Création d’une activité personnalisée

Pour créer une entité d’activité personnalisée, définissez les valeurs des propriétés listées dans le tableau suivant.

Nom de la propriété Valeur Notes
EntityMetadata.IsActivity true Spécifiez l’entité personnalisée comme entité d’activité.
EntityMetadata.IsAvailableOffline true Une entité d’activité personnalisée doit comporter la disponibilité hors connexion.
EntityMetadata.IsMailMergeEnabled false Le publipostage ne doit pas être activé sur une entité d’activité personnalisée.
EntityMetadata.OwnershipType OwnershipTypes. TeamOwned
ou
OwnershipTypes. UserOwned
Une entité d’activité personnalisée peut être détenue par un utilisateur ou une équipe.
EntityMetadata.ActivityTypeMask 0 - Aucun
ou
1 – Activité de communication
(Facultatif) Indiquez si une activité personnalisée doit figurer dans les menus d’activité dans l’application web.

- Spécifiez 0 (Aucun) pour l’empêcher de s’afficher dans les menus d’activité. L’activité personnalisée apparaît dans les grilles associées uniquement aux entités avec lesquelles elle est associée (elle a une relation).
- Spécifiez 1 (Activité de communication) pour la faire s’afficher dans les menus d’activité.

Si vous ne spécifiez pas cette propriété, l’activité personnalisée est créée avec la valeur de propriété par défaut 1. Cela signifie que l’activité personnalisée est disponible dans les menus d’activité. Par ailleurs, ActivityTypeMask peut être défini au moment de la création de l’activité uniquement et, une fois défini, ne peut pas être modifié.
CreateEntityRequest.HasActivities false Une entité d’activité personnalisée ne doit pas avoir une relation avec des activités.
CreateEntityRequest.HasNotes true Une entité d’activité personnalisée doit avoir une relation avec des notes.
CreateEntityRequest. PrimaryAttribute SchemaName est « Subject ». Le nom de schéma de PrimaryAttribute pour toutes les activités doit être « Subject ».

Exemple

L’exemple suivant explique comment créer une activité personnalisée.



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

Voir aussi

Entités d’activité
Entité (activité) ActivityPointer
Exemple : créer une activité personnalisée
Exemple : créer et mettre à jour des métadonnées d’entité