CONSEJO
Antes de entrar en el detalle de cada paso, conviene entender qué es un field (una variable) en GoChat. Te va a llevar un momento, pero es clave para entender el resto del sistema.
Un field, o variable, es un contenedor que guarda un valor.
Clasificación
Descripción
system field y custom field
el system field lo crea el sistema, con nombre y tipo predefinidos; el custom field lo defines tú
bot field y user field
el bot field es compartido por todo el bot, mientras que cada usuario tiene su propio conjunto de user fields
text field, number field, boolean field, date field, datetime field y JSON field
mira los tipos de variable
User field
El user field pertenece a cada usuario. Por ejemplo, cada persona tiene su nombre y su correo, así que “name” y “email” son user fields.
Bot field
El bot field pertenece al bot. Por ejemplo, el bot de un restaurante guarda la dirección y el teléfono del local, así que “restaurant_address” y “restaurant_contact” van como bot fields. No tendría sentido administrar una dirección distinta por cada usuario.
System field
El system field lo crea el sistema, con nombre y tipo de variable predefinidos. Hay system bot fields y system user fields.
Algunos system fields solo existen en ciertos canales. En esta tabla está cómo se edita cada uno:
| Nombre del field | Tipo de field | Tipo de variable | Descripción | Cómo se edita |
|---|---|---|---|---|
| User Ns | user field | text | identificación del usuario en GoChat | no editable |
| User Id* | user field | text | identificación del usuario en el canal | no editable |
| First Name | user field | text | dato de perfil | en Question Step o Action Step |
| Last Name | user field | text | dato de perfil | en Question Step o Action Step |
| User Name | user field | text | dato de perfil | en Action Step |
| Gender | user field | text | dato de perfil | en Action Step |
| user field | text | dato de perfil | en Question Step o Action Step | |
| Phone | user field | text | dato de perfil | en Question Step o Action Step |
| Profile Image | user field | text | dato de perfil | en Question Step |
| Locale | user field | text | dato de perfil | no editable |
| Timezone | user field | text | dato de perfil | no editable |
| Language | user field | text | dato de perfil | en Action Step |
| Subscribed | user field | datetime | momento de la suscripción | no editable |
| Last Text Input | user field | text | última entrada del usuario | lo edita el sistema |
| Last Interaction | user field | datetime | momento de la última acción | lo edita el sistema |
| Last Button Title | user field | text | último botón presionado | lo edita el sistema |
| Flow Ns | bot field | text | identificación del flow (bot) en GoChat | no editable |
| Sub Flow Ns | bot field | text | identificación del sub-flow en GoChat | no editable |
| Page Name | bot field | text | nombre de la página de Facebook conectada | no editable |
| Page Id | bot field | text | id de la página de Facebook conectada | no editable |
| Page User Name | bot field | text | nombre de usuario de la página en Facebook | no editable |
| Last FB Comment | user field | text | texto del último comentario del usuario en la página de Facebook | lo edita el sistema |
| Last FB Comment Post Id | user field | text | id de la publicación donde dejó el último comentario | lo edita el sistema |
| Last FB Comment total tagged users | user field | number | cantidad de usuarios etiquetados en el último comentario | lo edita el sistema |
| Last FB Comment total new tagged users | user field | number | cantidad de usuarios etiquetados que todavía no son suscriptores del bot | lo edita el sistema |
| Last FB Comment is existing users | user field | number | antes de este comentario, ¿ya era usuario? sí=1, no=0 | lo edita el sistema |
| Live Chat Url | user field | text | (para el agente) enlace para hablar con el usuario en el live chat | lo edita el sistema |
| NOW | user field | datetime | hora actual en la zona horaria del usuario* | lo edita el sistema |
| TODAY | user field | date | fecha actual en la zona horaria del usuario* | lo edita el sistema |
| BOT_CURRENT_TIME | bot field | datetime | fecha y hora actual en la zona horaria del workspace | lo edita el sistema |
| ITEM | user field | array (JSON) | cada elemento de un JSON | en el mensaje “For Each” |
| SELECT | user field | array (JSON) | elemento seleccionado | en el paso “Select” |
| SHOP | bot field | array (JSON) | información de la tienda | en la integración de e-commerce |
| CART | user field | array (JSON) | carrito del usuario | en Action Step |
| ORDER | user field | array (JSON) | último pedido del usuario | lo edita el sistema |
| User | user field | array (JSON) | perfil del usuario | lo edita el sistema según el resto de los datos de perfil |
| DialogFlow | user field | array (JSON) | respuesta de DialogFlow | lo edita el agente de DialogFlow |
*Nota
Si el canal no guarda la zona horaria en el perfil del usuario, o la guarda pero esa persona no tiene ninguna cargada, se usa la zona horaria del workspace.
El User Id en cada canal
| Canal | Qué significa | Valor de ejemplo |
|---|---|---|
| Id único en tu página de Facebook | 6288386817841812 | |
| Id único en tu bot de Instagram | 6570462892993643 | |
| Telegram | Id único en tu bot de Telegram | 1173717756 |
| Slack | Id único en tu workspace de Slack | U017MKNENH |
| Id único en tu cuenta de WeChat | oNzS3wpEjnA3tXmOcNxpqtAnBwWg | |
| Teléfono del usuario sin el + | 61412345678 | |
| SMS | Teléfono del usuario | +61412345678 |
| Voice | Teléfono del usuario | +61412345678 |
| Conversation Id de Google | 8095938e-90cf-4347-ab94-9224308672b0 | |
| Line | Id único en tu bot de Line | Ub02c77c69c59c5be5597d58ce2701ebe |
| Viber | Id único en tu bot de Viber | mdY9hOWdeQC6J/Sl19Qh8A== |
| Vk | Id único en tu bot de Vk | 705862439 |
Nota
Ese id único del canal es único dentro de tu página de Facebook, tu bot de Telegram, tu workspace de Slack o tu cuenta de WeChat, no dentro de todo Facebook o todo Slack.
Tipos de variable
En GoChat hay 6 tipos de variable:
| Tipo | Qué guarda | Ejemplo | Operaciones soportadas |
|---|---|---|---|
| Text | letras, palabras, oraciones | Hola, GoChat. | recortar, cambiar mayúsculas, codificar, decodificar |
| Number | números | 123.45 | + - x ÷, módulo, potencia, logaritmo, raíz, redondeo |
| Boolean | ”1” o “0”, verdadero o falso | 1 | asignar |
| Date | fecha | 2021-03-30 | dar formato, sumar meses, semanas o días |
| DateTime | fecha y hora | 2022-01-01T12:00:00+10:00 | dar formato, sumar meses, semanas, días, horas o minutos |
| JSON (array) | una serie de variables | {“name”:“Jack”, “age”:“20”} | cargar, obtener, actualizar, quitar, contar, sumar, promediar, ordenar, mezclar, invertir |
Valores booleanos
Con estos valores guardados en el field, el booleano devuelve falso. Con cualquier otro, verdadero:
- vacío
- null
- ‘false’
- false
- ‘no’
- 0
Crear un custom field
Con esto ya dominas el tema de los fields. Vamos a la práctica.
Hay 2 formas de crear variables:
| Dónde | Tipos soportados |
|---|---|
| en la sección Contents | user field y bot field |
| en cualquier lugar donde mapees un resultado a una variable: Question step, integraciones y demás | solo user field |
Crear un custom field desde la sección Contents

- ve a Contents en la barra lateral izquierda
- elige User Fields o Bot Fields
- usa carpetas para organizarlos si te hace falta

Haz clic en el botón azul + New User/Bot Field de la derecha para crear uno. El Field Name es obligatorio. Puedes separar las palabras con guion bajo o espacio. Conviene que el nombre sea lo más corto posible, para evitar problemas de visualización.
Después elige el tipo de variable. Si hace falta, agrega un valor por defecto o una descripción (el valor por defecto es solo para bot fields).
Las carpetas sirven para organizar variables. Cuando el flow crezca, las vas a necesitar.
Crear un custom field en un Question Step o un Action Step
Para crear un field nuevo, por ejemplo en un question step:

Escribe el nombre de la variable nueva en el cuadro Enter Field Name y haz clic en él dentro del desplegable. Elige el tipo de variable y listo.

Otro ejemplo, creándolo desde una integración:
