Actualizar detalles de campos desde Contactos en Ofertas en Zoho CRM

Actualizar detalles de campos desde Contactos en Ofertas en Zoho CRM

Escenario de negocio

El módulo de Ofertas en Zoho CRM rastrea oportunidades de negocio. Para asegurar un proceso adecuado de calificación de leads, es recomendable crear un lead, convertirlo en contacto y asociar una oferta con el contacto, manteniendo detalles mapeados. Sin embargo, crear una oferta puede suceder en una etapa posterior, lo que significa que los detalles actualizados en leads/contactos no se reflejan en la oferta automáticamente.

Función personalizada

Puedes añadir un botón en el módulo de Contactos que actualice automáticamente detalles desde los registros de contactos a las ofertas. Los campos que se pueden actualizar incluyen:

  • Nombre del Contacto
  • Nombre de la Cuenta
  • Título
  • Email
  • Teléfono
  • Móvil
  • Fuente del Lead
  • Optar por No Recibir Emails
  • Sitio Web
  • Información de Dirección
  • Descripción
  • Actividades Relacionadas

Cómo empezar

  1. Ve a Configuración > Personalización > Módulos y Campos > Selecciona el módulo 'Contactos' > Enlaces y Botones > + Nuevo Botón.
  2. Proporciona un nombre para el botón, por ejemplo: "Actualizar detalles de Contacto en Ofertas".
  3. Selecciona "Ver Página" del menú desplegable.
  4. Escoge "Escribir Función" del siguiente menú.
  5. Proporciona un nombre para la función personalizada.
  6. Copia el código proporcionado.
  7. Haz clic en "Editar Argumentos".
  8. Introduce el nombre como contId y selecciona el valor como Id del Contacto.
  9. Guarda los cambios y el botón.

Código



contDetails = zoho.crm.getRecordById("Contacts", input.contId.toLong());
mp=map();
mp.put("Deal_Name",ifnull(contDetails.get("Full_Name"),""));
mp.put("Owner",ifnull(contDetails.get("Owner"),"").get("id"));
mp.put("Contact_Name",input.contId);
mp.put("Account_Name",ifnull(contDetails.get("Account_Name"),"").get("id"));
mp.put("Title",ifnull(contDetails.get("Title"),""));
mp.put("Email",ifnull(contDetails.get("Email"),""));
mp.put("Phone",ifnull(contDetails.get("Phone"),""));
mp.put("Mobile",ifnull(contDetails.get("Mobile"),""));
mp.put("Lead_Source",ifnull(contDetails.get("Lead_Source"),""));
mp.put("Email_Opt_Out",ifnull(contDetails.get("Email_Opt_Out"),""));
mp.put("Website",ifnull(contDetails.get("Website"),""));
mp.put("Mailing_Street",ifnull(contDetails.get("Mailing_Street"),""));
mp.put("Mailing_City",ifnull(contDetails.get("Mailing_City"),""));
mp.put("Mailing_State",ifnull(contDetails.get("Mailing_State"),""));
mp.put("Mailing_Zip",ifnull(contDetails.get("Mailing_Zip"),""));
mp.put("Mailing_Country",ifnull(contDetails.get("Mailing_Country"),""));
mp.put("Description",ifnull(contDetails.get("Description"),""));
create = zoho.crm.create("Deals", mp);
info create;
TaskDetails = zoho.crm.getRelatedRecords("Tasks","Contacts", input.contId.toLong());
for each task in TaskDetails
{
taskmap = Map();
 taskmap.put("What_Id",create.get("id"));
 taskmap.put("$se_module","Deals");
 updatetask = zoho.crm.update("Tasks",task.get("id"),taskmap);
 info updatetask;
}
EventDetails = zoho.crm.getRelatedRecords("Events","Contacts", input.contId.toLong());
for each events in EventDetails
{
eventmap = Map();
 eventmap.put("What_Id",create.get("id"));
 eventmap.put("$se_module","Deals");
 updateevent = zoho.crm.update("Events",events.get("id"),eventmap);
 info updateevent;
}
CallDetails = zoho.crm.getRelatedRecords("Calls","Contacts", input.contId.toLong());
for each call in CallDetails
{
callmap = Map();
callmap.put("What_Id",create.get("id"));
callmap.put("$se_module","Deals");
updatecall = zoho.crm.update("Calls",call.get("id"),callmap); 
info updatecall;
}
return "Success";


El código detalla cómo obtener y mapear los detalles del contacto a la oferta.

Para más detalles y el código completo, visita la página original aquí.