CallForge - 01 - Filtrar llamadas de Gong por etapa de oportunidad y sincronizar con Salesforce

Intermedio

Este es unSales, Product, AIflujo de automatización del dominio deautomatización que contiene 11 nodos.Utiliza principalmente nodos como If, Set, Gong, Sort, Salesforce, combinando tecnología de inteligencia artificial para lograr automatización inteligente. CallForge - 01 - Filtración de llamadas de Gong por etapa de oportunidad y sincronización con Salesforce

Requisitos previos
  • Credenciales OAuth de Salesforce
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "meta": {
    "instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"
  },
  "nodes": [
    {
      "id": "692e2883-0d1b-4162-8472-6d15c12c8b43",
      "name": "Al hacer clic en 'Probar flujo de trabajo'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "1b226699-d463-42c9-aab0-e328afdb73b9",
      "name": "Verificar si la Oportunidad Principal contiene valor",
      "type": "n8n-nodes-base.if",
      "position": [
        900,
        -60
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "e5aed92c-9a3e-4e05-8ce2-9a707abc3115",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.Gong__Primary_Opportunity__c }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "1ebe8eba-5a86-4d17-a629-aa8d2e932693",
      "name": "Verificar si la Etapa de Oportunidad es 'Meeting Booked' o 'Discovery'",
      "type": "n8n-nodes-base.if",
      "position": [
        660,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "8c39be67-f158-4d26-a1e9-cfdba686e272",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.Gong__Opp_Stage_Time_Of_Call__c }}",
              "rightValue": "Discovery"
            },
            {
              "id": "4cacf9be-3d86-49d6-b7f6-672a57025f0e",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.Gong__Opp_Stage_Time_Of_Call__c }}",
              "rightValue": "Meeting Booked"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "ee00437a-8586-449c-ab4f-04b91d5f247b",
      "name": "Nota adhesiva5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -440,
        -360
      ],
      "parameters": {
        "width": 340,
        "height": 820,
        "content": "![Callforge](https://uploads.n8n.io/templates/callforgeshadow.png)\n## CallForge\nCallForge allows you to extract important information for different departments from your Sales Gong Calls. \n\n### Salesforce Trigger\nThis workflow triggers the AI agent to run, processing calls every hour. It uses the Gong/Salesforce integration to look for new conversation objects in Salesforce which indicate that a new recording has synced to Salesforce. This allows us to filter calls based on internal milestones and metrics ensuring only calls that meet a certain criteria are processed. "
      },
      "typeVersion": 1
    },
    {
      "id": "2906d433-070d-4240-ba2f-a1669ce5ccc1",
      "name": "Nota adhesiva4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -360
      ],
      "parameters": {
        "color": 7,
        "width": 1940,
        "height": 820,
        "content": "## Get Gong Transcript and Call Details\nThe transcript is to pass into the AI prompt, but needs to be transformed first. The Call details provide the Prompt with metadata."
      },
      "typeVersion": 1
    },
    {
      "id": "96cb8746-3605-4723-b8b5-33bbe8841eaa",
      "name": "Formatear llamada al objeto JSON correcto",
      "type": "n8n-nodes-base.set",
      "position": [
        1360,
        -140
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "881fab8b-2f6e-474e-a913-c4bde2b6bd2e",
              "name": "id",
              "type": "string",
              "value": "={{ $json.metaData.id }}"
            },
            {
              "id": "29aad399-1bb7-49e3-8fc9-cf8a6353536a",
              "name": "url",
              "type": "string",
              "value": "={{ $json.metaData.url }}"
            },
            {
              "id": "709d029e-6843-42e1-94cc-d01857918617",
              "name": "title",
              "type": "string",
              "value": "={{ $json.metaData.title }}"
            },
            {
              "id": "39de0391-207b-46ec-9230-cf83667c42b8",
              "name": "scheduled",
              "type": "string",
              "value": "={{ $json.metaData.scheduled }}"
            },
            {
              "id": "05e3a4a5-12a4-4e14-a8bf-4231e4b2c5b1",
              "name": "started",
              "type": "string",
              "value": "={{ $json.metaData.started }}"
            },
            {
              "id": "19de15be-56e5-4935-807c-9530cb1da5a8",
              "name": "duration",
              "type": "number",
              "value": "={{ $json.metaData.duration }}"
            },
            {
              "id": "5a15284b-7c7f-4174-ae6a-82a0dade0542",
              "name": "primaryUserId",
              "type": "string",
              "value": "={{ $json.metaData.primaryUserId }}"
            },
            {
              "id": "aa58e20b-ddaa-4ed1-a0e2-06125103216f",
              "name": "direction",
              "type": "string",
              "value": "={{ $json.metaData.direction }}"
            },
            {
              "id": "0f877bb4-a75f-4691-92b0-8b29b939a5b4",
              "name": "system",
              "type": "string",
              "value": "={{ $json.metaData.system }}"
            },
            {
              "id": "05b3cb81-244d-4f42-a681-13aca1c1df0d",
              "name": "scope",
              "type": "string",
              "value": "={{ $json.metaData.scope }}"
            },
            {
              "id": "2f9b87d1-e0bd-4170-88da-6966c00c7a2b",
              "name": "media",
              "type": "string",
              "value": "={{ $json.metaData.media }}"
            },
            {
              "id": "86282040-ceea-4a88-ae47-d5e3fa7cb1a7",
              "name": "language",
              "type": "string",
              "value": "={{ $json.metaData.language }}"
            },
            {
              "id": "6d8e4e35-5b84-4a1b-a2c1-605ea5e08e66",
              "name": "workspaceId",
              "type": "string",
              "value": "={{ $json.metaData.workspaceId }}"
            },
            {
              "id": "85f50bb3-306e-4fb3-921b-ff0f61acecbd",
              "name": "sdrDisposition",
              "type": "string",
              "value": "={{ $json.metaData.sdrDisposition }}"
            },
            {
              "id": "a779d6e8-0d07-4159-8b56-b3c2e49d1c19",
              "name": "clientUniqueId",
              "type": "string",
              "value": "={{ $json.metaData.clientUniqueId }}"
            },
            {
              "id": "14718f26-69e1-4e4b-90b5-dd059af6459e",
              "name": "customData",
              "type": "string",
              "value": "={{ $json.metaData.customData }}"
            },
            {
              "id": "4741d29d-0ad6-471d-8432-e7158daeb224",
              "name": "purpose",
              "type": "string",
              "value": "={{ $json.metaData.purpose }}"
            },
            {
              "id": "7e390036-376e-430d-bd28-43d52ae8794b",
              "name": "meetingUrl",
              "type": "string",
              "value": "={{ $json.metaData.meetingUrl }}"
            },
            {
              "id": "1ea1f639-8327-4e76-bb3b-f08182fdb87a",
              "name": "isPrivate",
              "type": "boolean",
              "value": "={{ $json.metaData.isPrivate }}"
            },
            {
              "id": "855ceef1-6bae-44ea-b2af-cc4aa38d6a37",
              "name": "calendarEventId",
              "type": "string",
              "value": "={{ $json.metaData.calendarEventId }}"
            },
            {
              "id": "f7c11074-70bb-46de-8e7b-2c6d095033c4",
              "name": "sfOpp",
              "type": "string",
              "value": "={{ $('Get all custom Salesforce Gong Objects').item.json.Gong__Primary_Opportunity__c }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "5b5eb2c1-7f80-4211-b835-5188376c6df2",
      "name": "Pasar al Preprocesador de llamadas de Gong",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        1580,
        -140
      ],
      "parameters": {
        "options": {},
        "workflowId": {
          "__rl": true,
          "mode": "list",
          "value": "6mL5jWOJfuzkpjzx",
          "cachedResultName": "Gong Call Preprocessor Demo"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "025d3ed7-2bd8-4a88-8834-034036c533c6",
      "name": "Obtener llamada de Gong",
      "type": "n8n-nodes-base.gong",
      "position": [
        1140,
        -140
      ],
      "parameters": {
        "call": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.Gong__Call_ID__c }}"
        },
        "options": {},
        "operation": "get",
        "requestOptions": {}
      },
      "credentials": {
        "gongApi": {
          "id": "EchfvOC4rjw8MUkr",
          "name": "Liam Gong Cred"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a4f63c5c-a23e-400f-9fa4-40c61756c321",
      "name": "Ordenar por fecha",
      "type": "n8n-nodes-base.sort",
      "position": [
        440,
        0
      ],
      "parameters": {
        "options": {},
        "sortFieldsUi": {
          "sortField": [
            {
              "order": "descending",
              "fieldName": "CreatedDate"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "aa24b82b-3d65-4d1e-be04-7e7d5e439587",
      "name": "Obtener todos los objetos Gong personalizados Salesforce",
      "type": "n8n-nodes-base.salesforce",
      "position": [
        220,
        0
      ],
      "parameters": {
        "options": {
          "fields": [
            "CreatedDate",
            "LastActivityDate",
            "Name",
            "Gong__Call_ID__c",
            "Gong__Talk_Time_Us__c",
            "Gong__Talk_Time_Them__c",
            "Gong__Title__c",
            "Gong__View_call__c",
            "Gong__Primary_Opportunity__c",
            "Gong__Opp_Stage_Time_Of_Call__c"
          ],
          "conditionsUi": {
            "conditionValues": [
              {
                "field": "CreatedDate",
                "value": "={{ $now.minus(4, 'hours') }}",
                "operation": ">="
              }
            ]
          }
        },
        "resource": "customObject",
        "operation": "getAll",
        "customObject": "Gong__Gong_Call__c"
      },
      "credentials": {
        "salesforceOAuth2Api": {
          "id": "Ykybxuyh0jK0o3qH",
          "name": "Angel SF Creds v3"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c46f7b03-8ce0-468d-ac84-fae9ae5b2466",
      "name": "Ejecutar cada hora",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        -160
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours"
            }
          ]
        }
      },
      "typeVersion": 1.2
    }
  ],
  "pinData": {},
  "connections": {
    "c46f7b03-8ce0-468d-ac84-fae9ae5b2466": {
      "main": [
        [
          {
            "node": "aa24b82b-3d65-4d1e-be04-7e7d5e439587",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a4f63c5c-a23e-400f-9fa4-40c61756c321": {
      "main": [
        [
          {
            "node": "1ebe8eba-5a86-4d17-a629-aa8d2e932693",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "025d3ed7-2bd8-4a88-8834-034036c533c6": {
      "main": [
        [
          {
            "node": "96cb8746-3605-4723-b8b5-33bbe8841eaa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "692e2883-0d1b-4162-8472-6d15c12c8b43": {
      "main": [
        [
          {
            "node": "aa24b82b-3d65-4d1e-be04-7e7d5e439587",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "96cb8746-3605-4723-b8b5-33bbe8841eaa": {
      "main": [
        [
          {
            "node": "5b5eb2c1-7f80-4211-b835-5188376c6df2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "aa24b82b-3d65-4d1e-be04-7e7d5e439587": {
      "main": [
        [
          {
            "node": "a4f63c5c-a23e-400f-9fa4-40c61756c321",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1b226699-d463-42c9-aab0-e328afdb73b9": {
      "main": [
        [
          {
            "node": "025d3ed7-2bd8-4a88-8834-034036c533c6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1ebe8eba-5a86-4d17-a629-aa8d2e932693": {
      "main": [
        [
          {
            "node": "1b226699-d463-42c9-aab0-e328afdb73b9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Intermedio - Ventas, Producto, Inteligencia Artificial

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos11
Categoría3
Tipos de nodos9
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Autor
Angel Menendez

Angel Menendez

@djangelic

Angel Menendez is a Staff Developer Advocate at n8n.io, specializing in low-code tools for cybersecurity workflows. From Puerto Rico, Angel's tech journey began by helping his father translate technical books. He later started a web development business and transitioned from a career as a flight attendant to cybersecurity engineering. His workflows have saved companies significant time. Outside work, Angel enjoys time with his two sons, riding electric bikes, reading, and exploring new places.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34