lunes, 2 de mayo de 2016

Calificar Leads desde workflows (Workflow Tools)

Buenas!

Después de unos días sin actualizar mi componentes, hoy he decidido que ya era hora…he estado probando cosas mas complejas, pero como no he conseguido que funcionen del todo bien por temas de seguridad que no he conseguido solventar, he preferido enfocarme en los Leads.

Todos conocemos los típicos procesos de ventas de cualificar un lead en oportunidad y demás, y uno de los temas que no se consiguen fácilmente es el de la conversión, el decidir si crear cuentas, contactos y oportunidades, o elegir que hacer.

Bien, hoy he añadido una actividad para cualificar Leads que he llamado “Qualify Lead”. Básicamente es una llamada al método “QualifyLeadRequest” de la SDK, pero he añadido todos los parámetros para que funcione de la forma mas genérica posible.

Como siempre, todo el código y la solución completa esta disponible en Codeplex: https://msdyncrmworkflowtools.codeplex.com/

Los pasos para utilizar esta acción son primero el de seleccionar la acción “Qualify Lead”:

SNAGHTMLdda596a

Y luego seleccionar los parámetros:

SNAGHTMLddaa662

Básicamente consiste en hacer lo mismo que se hace manualmente, pero de forma automatizada y en un Workflow Winking smile.

Espero les guste y les sirva esta nueva funcionalidad. La verdad que las ideas a veces me cuestan implementarlas, y por esto, os pido que recomendéis mas cosas y yo me encargaré de realizarlas siempre que pueda o sepa como…

Un abrazo!

@demian_rasko

domingo, 24 de abril de 2016

extremeCRM 2016 en Varsovia!

La pasada semana he tenido el placer de volver a poder disfrutar del que para mí es el MEJOR EVENTO DE CRM que hay, que es el extremeCRM: http://www.extremecrm.com/

Esta vez se ha celebrado en Varsovia, una ciudad muy bonita que además nos recibió con un clima genial.

Ha sido una semana genial, donde he podido compartir experiencias con otros partners y amigos de todo el mundo y tener contacto con otros MVPs con los que he compartido un par de sesiones.

Las sesiones han tenido un gran nivel, sobre todo porque partners comparten experiencias, mejoras prácticas y soluciones técnicas para que podamos adoptar las mejores decisiones al momento de enfocar proyectos de CRM.

En la primer jornada, he participado como “mentor” junto a otros MVPs en el Innovation Challenge, en donde se han construido una serie de soluciones durante todo el día, que han sido enseñadas el último día. Es una gran experiencia, sobre todo para aprender sobre tecnologías que uno no conoce, y para compartir conocimiento con otros como nosotros.

WP_20160418_09_14_29_Pro 1

WP_20160420_19_49_39_Pro

Por otra parte, ha participado activamente Microsoft, que en la Keynote a cargo de Jujhar Singh (CRM General Manager) y Param Khalon (General Manager Products, CRM) han presentado una serie de demos espectaculares y el enfoque de roadmap del producto para los próximos meses.

WP_20160419_11_56_07_Pro

Justo después de la Keynote, aprovechamos los MVPs para hacernos una foto con Jujhar Winking smile

IMG-20160419-WA0006

Foto con los MVPs despues de la sesión de pregunta a los expertos:

IMG-20160420-WA0084

Matt Barbour (responsable de plataforma en el equipo de producto) anunció la próxima disponibilidad del nuevo Developer Toolkit:

WP_20160420_09_49_18_Pro (1)

Parte de la delegación Española en Varsovia con la gente de Microsoft:

IMG-20160418-WA0004

Han sido unos días geniales en Varsovia, y sobre todo de volver a ver a viejos amigos y compartir experiencias del mundo de CRM. Sin duda el mejor evento de CRM para aprender, compartir y crecer!

un abrazo!

@demian_rasko

domingo, 10 de abril de 2016

Serialización de entidades en JSON desde procesos (Workflow Tools)

Buenas, sigo avanzando con las funcionalidades desde Workflows.

Hoy he realizado una actualización, en la que he añadido una nueva funcionalidad y adicionalmente he realizado unso cambios solicitados por la comunidad.

Los campos es el de cambiar los nombres para mostrar de las acciones, por nombre mas “User friendly”. Ahora al seleccionar una acción desde los workflows, los usuarios verán las acciones de forma mas simple.

Por otra parte, estoy empezando a pensar en añadir algo que pueda ayudar para realizar integraciones. Muchas veces las integraciones de datos, pasan por ser envíos de datos en formato JSON.

Entonces la funcionalidad de hoy, lo que hace simplemente es recorrer todos los datos de la entidad, y generar un “string” con el JSON de todos los valores de todos los campos. Este JSON puede ser utilizado con posterioridad en cualquier otra acción del workflow.

Explico simplemente como siempre como funciona. Lo primero es seleccionar la acción (notar que han cambiado los nombres de las actividades):

SNAGHTML74b1ed9

Luego seleccionamos el registro a serializar mediante la URL del mismo:

SNAGHTML74b7bdd

Luego podemos utilizar el JSON de salida en cualquier acción del Workflow:

SNAGHTML74c1d5d

Finalmente os dejo un ejemplo de un JSON serializado de una cuenta:

SNAGHTML74c8203

Espero a futuro poder añadir funcionalidad de integración, como por ejemplo a través de WebHooks para enviar estos JSONs.

un abrazo!

@demian_rasko

domingo, 3 de abril de 2016

Eliminación de registros desde Workflows (workflow Tools)

En los últimos días, me han contactado algunas personas reportando un par de incidencias en mi componente de Workflow Tools que comparto en Codeplex: https://msdyncrmworkflowtools.codeplex.com/

En concreto tenía dos “bugs” en la funcionalidad de Clonado relacionado con los estados de las Citas y con los activity party, y otro “bug” en el de “Check User in Role” cuando había roles en varias Unidades de Negocio. En fin, estos temas me los han reportado en la misma página de Codeplex, y ya los he resuelto.

Adicionalmente hoy he añadido una funcionalidad que misteriosamente no existe de forma “estandar” en Dynamics CRM. Es el tema de borrado de registros. El nuevo paso que añadí, permite eliminar registros desde un workflow de dos formas:

  • Desde la URL del registro
  • con el GUID y el tipo de registro

Como siempre, explico como funciona. Primero seleccionamos la actividad:

SNAGHTML4ffac40

y una vez seleccionado, tenemos dos opciones de borrado. Primero con la URL del registro:

SNAGHTML50020c4

y luego, con el GUID y el tipo de registro:

SNAGHTML5005f83

Los parámetros son entonces:

  • Delete Using Record URL: Para seleccionar el modo de eliminación
  • Record URL: Requerido si "Delete Using Record URL" es true
  • Entity Type Name: nombre de esquema (en minúsculas) del tipo de entidad a ser eliminado. Requerido si "Delete Using Record URL" es false
  • Entity Guid: Guid del registro a ser eliminado. Requerido si "Delete Using Record URL" es false

Esta historia sigue creciendo y creciendo!! cada vez mas cosas se pueden hacer sin abrir el Visual Studio!!! Winking smile

espero les guste, y como siempre, se acepta sugerencias de mejora!

un abrazo!

@demian_rasko

sábado, 2 de abril de 2016

MVP para 2016 por cuarto año consecutivo

Ayer he recibido el email de reconocimiento como MVP para el año 2016, como todos los años el 1 abril, y sobre la misma hora (por la tarde hora española):

SNAGHTML1c01dcec

Es un orgullo volver a ser reconocido por mis contribuciones en las comunidades, cosa que me motiva a hacer mas cosas. Así que otro año mas, compartiendo este apasionante mundo del Dynamics CRM!

Un abrazo!

@demian_rasko

domingo, 20 de marzo de 2016

Trabajo con Strings desde workflows (Workflow Tools)

Buenas! hoy he añadido nuevas funcionalidades a mi componente de Workflows, que creo que puede ser muy útil. Como siempre lo publico en mi Codeplex: https://msdyncrmworkflowtools.codeplex.com/ con todo el código abierto y compartido.

Muchas gracias a “carltoncolter” (https://manipulationlibrary.codeplex.com/) ya que me he inspirado en una solución que hizo para CRM 4.0 para añadir esta funcionalidad en mi componente.

Muchas veces en la ejecución de los workflows necesitamos hacer operaciones con campos de tipo texto, y estas son las funcionalidades que he añadido:

  • Texto con palabras en mayúsculas
  • Longitud del texto
  • Padding (completar con un carácter hasta un tamaño fijo)
  • Reemplazar textos
  • Substring (recortar un trozo del string)
  • Trimmed (quitar espacios por delante y detrás)

Como siempre, para utilizar esta actividad, descargar la nueva versión y utilizar la acción “String Functions”:

SNAGHTML30d8ab5

Y luego los parámetros:

SNAGHTML30dc9c1

Los parámetros de entrada del workflow son:

  • Input Text: texto de entrada a ser procesado
  • Capitalize All Words: para definir se si podrá la mayúscula solo a la primera palabra o a todas 
  • Padding: Pad Character: Definir el caracter de relleno
  • Padding: Pad on the Left: definir si el relleno es por la derecha o izquierda
  • Padding: Final Length: Longitud final del texto con el relleno
  • Replace: Old Value: Texto original a ser buscado para reemplazados
  • Replace: New Value: nuevo texto de reemplazo
  • Replace: Case Sensitive: definir si será sensible a mayúsculas o no el reemplazo
  • Substring: From Left to Right: define si el recorte, empieza por la derecha o izquierda
  • Substring: Start Index: Índice de inicio del recorte
  • Substring: Length: longitud del recorte

Los resultados de la ejecución de esta acción, devuelve todos los resultados, para que podamos utilizar lo que queramos:

SNAGHTML30f6e69

Espero les haya gustado, sigo buscando ideas….y seguiré evolucionando el componente!!!

un abrazo!

@demian_rasko

sábado, 12 de marzo de 2016

Actualizando los UserSettings de forma automática (Workflow Tools)

Las experiencias del día a día de los proyectos son una fuente inagotable de ideas para publicar cosas en mi blog.
Hoy he añadido una nueva “Tool” a mi ya conocida “Workflow Tools”, que comparto en Codeplex: https://msdyncrmworkflowtools.codeplex.com/
Hoy he añadido una cosilla que todo necesitamos en especial en aquellos proyectos que tienen muchos usuarios. La utilidad de hoy se llama “Set User Settings” y nos permitirá predefinir desde un Workflow, ciertos valores de los settings de usuario.
La funcionalidad es bastante simple, primero añadimos la acción:
SNAGHTMLd367c61
Y luego en los parámetros, podemos ir seleccionado los valores a introducir:
SNAGHTMLd36ecfd
La explicación de cada uno de los parámetros es la siguiente:
  • User: El usuario que se actualizará
  • PagingLimit: Registros por página en las vistas de CRM. los valores pueden ser: 25,50,75,100,250
  • AdvancedFindStartupMode: Determina la visualizacion predeterminada de las búsquedas avanzadas: 1:simple, 2: detalle.
  • TimeZoneCode: Determina la zona horaria del usuario. Si se pasa un “0” se ignora el valor. un ejemplo de todos los valores a introducir se puede ver aquí: http://www.powerobjects.com/2014/07/25/importing-values-time-zone-fields-dynamics-crm/
  • HelpLanguageId: Específica el código de idioma de la ayuda de CRM para el usuario. “0” para ignorar el valor.
  • UILanguageId: Especifica el idioma de la interfaz de usuario (UI) de CRM. “0” para ignorar el valor.
  • DefaultCalendarView: determina el valor predeterminado de la vista del calendario.
    • 0 para “día”
    • 2 para “mes”
    • 1 para “semana”
Pensar, en todas las posibilidad que nos puede dar esto, por ejemplo para iniciar todos estos “settings” de forma masiva, incluso para dejar un Workflow preparado para que futuros nuevos usuarios se inicien con estos valores, o utilizar un “dialogo”, para actualizar estos datos de usuarios…etc…
Espero les guste y lo encuentren útil!
un abrazo!
@demian_rasko