Programaciones, obtención de datos y flujos de trabajo iterativos en Shopify Flow
En la mayoría de los casos, puedes crear un flujo de trabajo vinculando varias condiciones y acciones a un activador que se ejecuta cuando ocurre un evento. En casos más complejos, quizá no exista un activador para lo que necesitas, necesites que se ejecute a una hora específica o debas trabajar con una lista de datos. En esos casos, puedes usar activadores de tiempo programado, acciones para obtener datos y bucles para crear flujos de trabajo avanzados.
Por ejemplo, supongamos que quieres obtener un resumen diario de los pedidos no preparados. Con este conjunto de funciones, puedes configurar un flujo de trabajo que se ejecute todos los días a una hora específica, obtenga esos pedidos y luego te envíe un resumen. Explora más ejemplos y plantillas que usan estos activadores y acciones.
En esta página
Activador de tiempo programado
En lugar de iniciar un flujo de trabajo por un evento, el activador hora programada lo inicia en la fecha y la hora que indiques. También puedes programarlo para que se repita cada hora, día, semana o mes. Como estos flujos se ejecutan según una programación, para usar datos como clientes, pedidos o productos debes usar una acción que obtenga esos datos. Para eso, utiliza las acciones de Obtener datos.
El activador de tiempo programado puede ejecutarse con una frecuencia de hasta cada 10 minutos.
Acciones para obtener datos
La mayoría de las acciones cambian algo en la tienda, por ejemplo, agregan etiquetas a un cliente o envían un comando a una app, como indicarle a una app que envíe una notificación automática a un cliente.
Las acciones de Obtener datos obtienen datos de la tienda para usarlos en Shopify Flow. Estas acciones ejecutan una consulta con un conjunto de filtros, por ejemplo, obtener solo lo actualizado el último día. La acción devuelve una lista de datos que cumplen esos criterios. Por ejemplo, la acción Obtener datos de pedidos llama a la consulta de pedidos en la Admin API y devuelve una lista de pedidos que coinciden con tu consulta.
Las acciones de Obtener datos solo se pueden ejecutar en listas de hasta 100 elementos.
Las siguientes acciones obtienen información de la tienda para que puedas usarla en tu flujo de trabajo. Consulta cada acción para ver cómo filtrar los datos y qué datos devuelve:
- Obtener datos de sesiones de seguimiento de transacciones en efectivo
- Obtener datos de colecciones
- Obtener datos de empresas
- Obtener datos de sucursales de la empresa
- Obtener datos de clientes
- Obtener datos de descuentos
- Obtener datos de pedidos preliminares
- Obtener datos de órdenes de preparación de pedido
- Obtener datos de tarjetas de regalo
- Obtener datos de sucursales
- Obtener entradas de metaobjeto
- Obtener entrada de metaobjeto
- Obtener datos de pedidos
- Obtener datos de productos
- Obtener datos de variantes de producto
- Obtener datos de grupos de planes de venta
- Obtener datos de intentos de cobro de suscripciones
- Obtener datos de contratos de suscripción
Etiquetas de Liquid en acciones de Obtener datos
Cuando usas una acción de Obtener datos con fechas, puedes usar las etiquetas de Liquid date_minus y date_plus para modificar las fechas de tu consulta. Por ejemplo, para calcular una fecha 5 días antes de la hora programada de ejecución de un flujo de trabajo, puedes usar el siguiente código Liquid:
{{ scheduledAt | date_minus: "5 days" }}Para más detalles sobre cómo usar estas etiquetas, consulta la documentación de Liquid variables.
Bucles para cada
Cuando usas una acción de Obtener datos, obtienes una lista de datos que coincide con tu consulta. Puedes usar la acción Bucle para cada (iterar) para recorrer esa lista. En un bucle Para cada, puedes usar condiciones y acciones que aplican solo a ese elemento.
Por ejemplo, creas un flujo de trabajo que se ejecuta todos los lunes. El flujo usa la acción Obtener datos de pedidos para recuperar los pedidos realizados durante esa semana. Luego, el bucle Para cada (iterar) aplica la etiqueta New order a cada pedido devuelto por la lista getOrderData. Cuando todos los pedidos de la lista están etiquetados, se envía un correo electrónico interno indicando que el etiquetado se completó.

Acciones de agregación
Cuando trabajas con listas, quizá quieras contar la cantidad de elementos para usarla en condiciones y acciones posteriores. Por ejemplo, podrías querer comprobar si hay más de 0 resultados antes de enviar un correo electrónico. Flow incluye estas acciones para realizar cálculos sobre datos de listas en un flujo de trabajo:
- Contar devuelve la cantidad de elementos en una lista.
- Sumar suma los valores de los elementos de una lista.
Ejemplos de flujos de trabajo avanzados en Shopify Flow
Revisa algunos ejemplos de flujos de trabajo avanzados que puedes usar en Shopify Flow:
- Obtener un resumen diario de los pedidos que superan el plazo de preparación de 2 días.
- When a new order is created, check if the same customer placed other orders within the last 24 hours.
- Every day, get a summary email listing products that are out of stock.
- Once a day, find all orders associated with a chargeback and tag the customer.
- When a new order is created, find out how many orders the customer has made in the last six months.
- Every day, get a list of all open draft orders and send a Slack message.
Obtén un resumen diario de los pedidos que no se prepararon en un plazo de preparación de dos días
Este flujo de trabajo se puede usar para determinar si algún pedido no cumplió el plazo de garantía de envío y, de ser así, cuánto valen esos pedidos.
En este ejemplo, el flujo de trabajo se ejecuta todos los días a las 5:00 p. m. El flujo usa la acción Get order data para recuperar una lista de pedidos que no se prepararon dentro de un plazo de envío de dos días. Luego, la acción For each agrega una etiqueta a todos los pedidos atrasados. El flujo también usa la acción Count para determinar la cantidad de pedidos atrasados y la acción Sum para determinar el valor de esos pedidos. Las variables que crean las acciones Count y Sum se usan para enviar un correo electrónico que indica la cantidad de pedidos y su valor.

Install this workflow template in your store.
Cuando se crea un pedido nuevo, verifica si el mismo cliente hizo otros pedidos en las últimas 24 horas
Este flujo de trabajo se puede usar para determinar si el mismo cliente realizó varios pedidos el mismo día y, de ser así, poner en espera la preparación de pedidos para poder enviarlos juntos.
En este ejemplo, el flujo de trabajo se ejecuta cada vez que se crea un pedido nuevo. El flujo usa la acción Get order data para recuperar una lista de pedidos que el cliente realizó en el último día. Luego, la acción Count determina la cantidad de pedidos que realizó el cliente. Si el mismo cliente realizó dos o más pedidos en el mismo día, se pone en espera la preparación de los pedidos y se agregan etiquetas a esos pedidos.

Install this workflow template in your store.
Recibe un correo diario con un resumen de los productos agotados
Este flujo de trabajo se puede usar para generar una lista de todos los productos agotados y enviar un correo electrónico.
En este ejemplo, el flujo de trabajo se ejecuta todos los días a las 9:00 p. m. El flujo usa la acción Get product data para recuperar una lista de productos sin existencias. La acción Count determina la cantidad de artículos agotados. Las variables que crean las acciones Get order data y Count se usan para enviar un correo electrónico que indica la cantidad de productos y una lista de esos productos.

Install this workflow template in your store.
Una vez al día, busca todos los pedidos asociados a un contracargo y etiqueta al cliente
Este flujo de trabajo se puede usar para hacer seguimiento a clientes que iniciaron un contracargo.
En este ejemplo, el flujo de trabajo se ejecuta todos los días a las 10:00 a. m. El flujo usa la acción Get order data para recuperar una lista de pedidos con contracargos. Luego, la acción For each agrega una etiqueta a todos los clientes que hicieron esos pedidos.

Install this workflow template in your store.
Cuando se crea un pedido nuevo, averigua cuántos pedidos hizo el cliente en los últimos seis meses
Este flujo de trabajo se puede usar para determinar cuántos pedidos hizo un cliente en los últimos seis meses y agregar etiquetas de fidelidad.
En este ejemplo, el flujo de trabajo se ejecuta cada vez que se crea un pedido nuevo. El flujo usa la acción Get order data para recuperar una lista de pedidos que el cliente realizó en los últimos seis meses. Luego, la acción Count determina la cantidad de pedidos que realizó el cliente y la acción Sum determina el valor de esos pedidos. Se agrega una etiqueta al cliente si la cantidad de pedidos es igual o superior a cinco, y se agrega otra etiqueta si el valor de los pedidos es igual o superior a 100 $.

Install this workflow template in your store.
Obtén todos los días una lista de los pedidos preliminares abiertos y envía un mensaje de Slack
Este flujo de trabajo se puede usar para enviar un mensaje de Slack que indique si hay pedidos preliminares abiertos en la tienda y, de ser así, cuántos hay.
En este ejemplo, el flujo de trabajo se ejecuta todos los días a las 5:00 p. m. El flujo usa la acción Get draft order data para recuperar una lista de pedidos preliminares con el estado Open. Luego, la acción Count determina la cantidad de pedidos preliminares abiertos. La variable que crea la acción Count se usa para enviar un mensaje de Slack que indica la cantidad de pedidos preliminares abiertos.
