---
title: "Usar datos en una secuencia de voz"
description: "Define campos de entrada de llamada, asigna valores a los pasos de la secuencia y gestiona información opcional del llamante y ámbitos de datos nuevos tras una transferencia."
canonical: "https://bird.com/es-es/documentacion/guides/voice/sequences/data"
---

# Usar datos en una secuencia de voz

> **Advertencia:** Las secuencias de voz están en versión preliminar. Los pasos, los datos de entrada y el formato de definición de la secuencia pueden cambiar de formas que rompan las secuencias existentes y las solicitudes de API.

Define los datos que acepta una entrada de llamada y úsalos en los campos de paso compatibles. Un recordatorio podría aceptar el nombre del cliente y la hora de la cita desde la aplicación que inicia la llamada.

Usa el selector de campos para ver qué orígenes y modos de valor admite el paso seleccionado.

## Definir datos de entrada

1. Selecciona la entrada **Start call** en tu borrador.
2. Añade sus campos de datos y marca los obligatorios.
3. Selecciona un paso posterior y abre su editor expandido.
4. Elige un campo de **Available data** y previsualízalo con datos de entrada representativos.

El `sequence.trigger_data` de una llamada API debe ser un objeto que coincida con el esquema de la entrada seleccionada. Proporciona `{}` cuando la entrada no necesita datos. Una ruta de número entrante proporciona `{}`, así que su entrada debe aceptar un objeto vacío. Mantén los campos entrantes como opcionales y gestiona los valores ausentes en pasos posteriores.

Los datos de la aplicación son independientes de la identidad de la llamada. Un campo llamado `caller` proporcionado por tu aplicación no establece quién llama ni otorga permiso para usar un número.

## Asignar un valor o componer texto

Los campos compatibles ofrecen valores fijos, valores de pasos anteriores, texto con valores insertados o expresiones **fx**. Usa un valor directo para un campo tipado y texto con valores insertados para frases habladas. Una cadena que contiene dígitos sigue siendo texto.

Por ejemplo, define un campo de cadena obligatorio llamado `customer_name` en la entrada. En un campo de voz compatible, combina `Hello`, un espacio, el valor del campo y `, your appointment is confirmed.` Previsualiza con `{"customer_name":"Ada"}` para inspeccionar el texto preparado.

Las expresiones de voz leen los campos de entrada como `trigger.data.customer_name`. Las salidas anteriores elegibles usan `steps.<step_id>.output`. El selector de origen te ayuda a elegir el paso y el campo correctos.

## Gestionar datos ausentes y ramificaciones

Los campos opcionales pueden estar ausentes, ser nulos o estar vacíos. Previsualiza esos casos y elige un valor alternativo explícito cuando sea apropiado. Un paso en una ruta no tomada no tiene salida en esa ejecución.

Las observaciones de llamada se encuentran en `execution`. Por ejemplo, el número del llamante original puede estar ausente. Una expresión protegida lo lee de forma segura:

```text
execution.call.orig != null && has(execution.call.orig.address) ? execution.call.orig.address : ''
```

Estas observaciones describen extremos telefónicos; no autentican a una persona. La previsualización necesita una muestra de ejecución cuando una expresión alcanzada usa `execution`. Sin ella, la previsualización se detiene antes de evaluar ese paso. Proporciónala mediante **Advanced scenario JSON**, siguiendo la forma indicada por la validación.

Las observaciones privadas de teclado no están disponibles para orígenes de expresión posteriores ni para el detalle retenido del paso. No diseñes un campo de voz o resultado posterior basándote en dígitos privados.

## Pasar datos a través de una transferencia

Un **Transfer** local proporciona un objeto nuevo a la entrada de destino. Asigna los valores que esa entrada necesita y comprueba sus campos obligatorios.

El destino recibe `trigger.data` nuevos y las salidas de pasos anteriores se borran. La identidad de la llamada, el estado de grabación y los límites de ejecución continúan. Pasar un valor de forma explícita es necesario cuando la nueva entrada necesita información de la ruta anterior.

## Próximos pasos

- [Configura indicaciones y menús de teclado](/docs/guides/voice/sequences/media-and-keypad).
- [Marca y transfiere llamadas](/docs/guides/voice/sequences/dial-and-transfer).
- [Previsualiza y comprueba una secuencia](/docs/guides/voice/sequences/preview).
- [Crea una llamada a través de la API](/docs/guides/voice/create-calls).

## Related resources

- [Voice sequences](/docs/guides/voice/sequence-builder) (docs)
