Customer onboarding supported by telemetry

Onboarding de cliente soportado por la telemetría

#DirectionsEMEA2023

La medición a través de la telemetría estas operaciones permite a los implementadores identificar el grado de avance de los usuarios, y en base a los resultados ejecutar planes de acciones correspondientes para reforzar o redireccionar las actividades.

Señales estándar

Se definen señales estándar que envía Business Central, son señales genéricas que se aplican en la gran mayoría de negocios.

  • Cuando se inicializa una empresa, se inicia el onboarding (Onboarding Started)
  • Habilitación del módulo de ventas de productos y servicios (Sales Invoice Signal). Se emite la señal una vez registrada 5 facturas de venta (TB 112, sales invoice header).
  • Habilitación del módulo de compras de productos y servicios (Purchase Invoice Signal). Se emite la señal una vez registrada 5 facturas de compra (TB 122, purch. inv. header).
  • Habilitación del módulo de cobros (Customer Payment Signal). Se emite la señal cuando se registra 5 cobros a clientes. (TB 21, cust. ledger entry, tipo de documento = Payment).
  • Habilitación del módulo de pagos (Vendor Payment Signal). Se emite la señal cuando se registra 5 pagos a proveedor. (TB 25, vendor ledger entry, tipo de documento = Payment).

La señal se emite una sola, una vez completado el criterio, una rutina diariamente verifica que se haya completado el criterio.

Señales personalizadas

Podemos agregar una señal que controle la cantidad de registros en la tabla de los movimientos de IVA, de Contabilidad o de Activos Fijos, así como también en la cantidad de productos, clientes registrados.

La funcionalidad está diseñada bajo la figura de interfaces, por lo que los pasos serían:

  • Extender el enum «Onboarding Signal Type» agregando una nueva señal de onboarding.
  • Implementar otra señal de onboarding implementando la interfaz «Onboarding Signal».
  • Registrar la nueva señal de onboarding por ejemplo en el momento del registro de la extensión que crearemos.
enumextension 50100 "GL Entry Onboarding Signal" extends "Onboarding Signal Type"

{
value(50100; "GL Entry Signal")
{
Implementation = "Onboarding Signal" = "GL Entry Signal";
}
}
codeunit 50100 "GL Entry Signal" implements "Onboarding Signal"

{
Access = Internal;
Permissions = tabledata "G/L Entry" = r;

procedure IsOnboarded(): Boolean
var
GLEntry: Record "G/L Entry";
OnboardingThreshold: Integer;
begin
OnboardingThreshold := 1000;

exit(GLEntry.Count() >= OnboardingThreshold);
end;
}
codeunit 50100 "Register Onboarding Signals"

{
Access = Internal;
Subtype = Install;

trigger OnInstallAppPerCompany()
begin
RegisterOnboardingSignals();
end;

internal procedure RegisterOnboardingSignals()
var
Company: Record Company;
OnboardingSignal: Codeunit "Onboarding Signal";
EnvironmentInfo: Codeunit "Environment Information";
OnboardingSignalType: Enum "Onboarding Signal Type";
begin
if not Company.Get(CompanyName()) then
exit;

if Company."Evaluation Company" then
exit;

if EnvironmentInfo.IsSandbox() then
exit;

OnboardingSignal.RegisterNewOnboardingSignal(Company.Name, OnboardingSignalType::"GL Entry Signal");
end;
}

Señales y Telemetría

Se utilizan estos ID de eventos en la telemetría.

  • 0000EIW: Se inicia en una empresa el Onboarding de un criterio.
  • 0000EIV: Cuando se cumplen los criterios de los procesos en seguimiento se emite una señal. La señal del cumplimiento de un proceso se emite una sola vez. Las nuevas señales agregadas también se registran con este código.

Objetos AL

Para cubrir la funcionalidad se han creado varios objetos nuevos AL, entre ellos los que vemos a continuación:

  • Una interfaz «Onboarding Signal» con una función IsOnboarded
  • Una Codeunit 7581 «Company Signal» que implementa la interfaz
  • Un Enum extendible 7580 «Onboarding Signal Type» que implementa la interfaz y que contiene un valor denomiando compañía y referencia a la Codeunit 7581
  • Una Codeunit 7580 «Onboarding Signal» con funciones que validan si la empresa se ha inicializado en onboarding, así como también permite registrar nuevas señales o borrar el detalle de las tablas de señales luego de la eliminación de la empresa.
  • Una Codeunit 7582 «Register Company Signal» que registra la señal de inicialización de onboarding en la empresa.
  • Una Tabla 5490 «Onboarding Signal» en donde se registran las señales y su estado.
  • Una Tabla temporal 5491 «Onboarding Signal Buffer» que permite obtener las señales con acceso de lectura.
  • Una rutina diaria comprueba si se cumplen los criterios para cada uno de los procesos de negocio, esta se encuentra en la Codeunit 1351 «Telemetry Subscribers».

Como hemos podido observar se nos ofrece una herramienta extendible que permite asegurar un adecuado onboarding de los usuarios en cada una de los procesos que merezcan un seguimiento desde el punto de vista de la implementación del negocio.

Espero que esta información te ayude.


Customer onboarding supported by telemetry

#DirectionsEMEA2023

Measuring these operations through telemetry allows the implementers to identify the degree of progress of the users and, based on the results, to execute corresponding action plans to reinforce or redirect activities.

Standard signals

Standard signals sent by Business Central are defined as generic signals that apply to the vast majority of businesses.

  • When a company is initialized, onboarding begins. (Onboarding Started)
  • Enabling the sales module for items and services. (Sales Invoice Signal). The signal is emitted after 5 sales invoices have been posted. (TB 112, sales invoice header).
  • Enabling the purchase module for items and services. (Purchase Invoice Signal). Signal is emitted after 5 purchase invoices have been posted. (TB 122, purch. inv. header).
  • Enabling the receivables module (Customer Payment Signal). The signal is emitted when 5 customer payments are posted. (TB 21, cust. ledger entry, tipo de documento = Payment).
  • Enabling the payment module. (Vendor Payment Signal).Signal is emitted when 5 vendor payments are posted. (TB 25, vendor ledger entry, tipo de documento = Payment).

The signal is emitted only once, once the criterion is completed, a daily routine verifies that the criterion has been completed.

Customized signals

We can add a signal that controls the number of posted records in the table of VAT, G/L or Fixed Assets entries, as well as the number of items, customers.

The functionality is designed under the figure of interfaces, so the steps would be:

  • Extend the «Onboarding Signal Type» enum by adding a new onboarding signal.
  • Implement another onboarding signal by implementing the «Onboarding Signal» interface.
  • Register the new onboarding signal for example at the time of the installation of the new created extension.
enumextension 50100 "GL Entry Onboarding Signal" extends "Onboarding Signal Type"

{
value(50100; "GL Entry Signal")
{
Implementation = "Onboarding Signal" = "GL Entry Signal";
}
}
codeunit 50100 "GL Entry Signal" implements "Onboarding Signal"

{
Access = Internal;
Permissions = tabledata "G/L Entry" = r;

procedure IsOnboarded(): Boolean
var
GLEntry: Record "G/L Entry";
OnboardingThreshold: Integer;
begin
OnboardingThreshold := 1000;

exit(GLEntry.Count() >= OnboardingThreshold);
end;
}
codeunit 50100 "Register Onboarding Signals"

{
Access = Internal;
Subtype = Install;

trigger OnInstallAppPerCompany()
begin
RegisterOnboardingSignals();
end;

internal procedure RegisterOnboardingSignals()
var
Company: Record Company;
OnboardingSignal: Codeunit "Onboarding Signal";
EnvironmentInfo: Codeunit "Environment Information";
OnboardingSignalType: Enum "Onboarding Signal Type";
begin
if not Company.Get(CompanyName()) then
exit;

if Company."Evaluation Company" then
exit;

if EnvironmentInfo.IsSandbox() then
exit;

OnboardingSignal.RegisterNewOnboardingSignal(Company.Name, OnboardingSignalType::"GL Entry Signal");
end;
}

Signals and Telemetry

These event IDs are used in telemetry:

  • 0000EIW: Onboarding of a criterion is initiated in a company.
  • 0000EIV: When the criteria of the processes being monitored are met, a signal is emitted. The signal of the fulfillment of a process is emitted only once. New custom signals added are also recorded with this code.

AL Objects

To cover the functionality, several new AL objects have been created, including the ones shown below:

  • An «Onboarding Signal» interface with an IsOnboarded function.
  • A Codeunit 7581 «Company Signal» implementing the interface
  • An extendable Enum 7580 «Onboarding Signal Type» that implements the interface and contains a value naming company and reference to Codeunit 7581.
  • A Codeunit 7580 «Onboarding Signal» with functions to validate whether the company has been initialized in onboarding, as well as to register new signals or delete the detail of the signal tables after deletion of the company.
  • A Codeunit 7582 «Register Company Signal» that registers the onboarding initialization signal in the company.
  • A Table 5490 «Onboarding Signal» where the signals and their status are recorded.
  • A temporary Table 5491 «Onboarding Signal Buffer» that allows to obtain the signals with read access.
  • A daily routine checks if the criteria are met for each of the business processes, this is found in Codeunit 1351 «Telemetry Subscribers».

As we have seen, we are offered an extensible tool that allows us to ensure adequate onboarding of users in each of the processes that deserve monitoring from the point of view of business implementation.

I hope this information helps you.


Más información / More information:

Una respuesta a “Customer onboarding supported by telemetry”

  1. […] comentado acerca del soporte de la telemetría en el proceso de onboarding de los clientes anteriormente, en la misma línea me gustaría comentar de una manera rápida como también nos permite darle un […]

    Me gusta

Deja un comentario