ChatGPT Actions: conectando GPTs con APIs externas

By Carlos Montiel | Especialista en IA Empresarial
Publicado: 2026-07-28 | Por: Carlos Montiel | Lectura: ~4 minutos

Un GPT que solo responde con texto es un chatbot. Un GPT con Actions puede consultar tu inventario, crear un ticket o programar una cita real. Así se diseñan Actions que funcionan de forma segura en producción.

Qué son las Actions y cómo decide el modelo usarlas

Una Action es la conexión entre un GPT y una API HTTP externa, definida mediante un esquema OpenAPI (3.0 o 3.1) que describe endpoints, parámetros y respuestas esperadas. Cuando el usuario escribe algo en la conversación, el modelo evalúa si alguna de las operaciones disponibles es relevante, construye los parámetros necesarios a partir del contexto, hace la llamada HTTP real, y usa la respuesta para formular su contestación final.

Es el mismo mecanismo conceptual que function calling en la API, pero con una capa de configuración visual (GPT Builder) en vez de código explícito, y con la restricción de que solo funciona dentro del entorno de ChatGPT.

Anatomía de un esquema OpenAPI para Actions

El esquema debe ser preciso: descripciones claras en cada `operationId` y parámetro, porque el modelo las usa como guía semántica para decidir cuándo invocar cada endpoint. Un esquema con descripciones vagas produce invocaciones incorrectas o el modelo simplemente ignora la Action disponible.

{ "openapi": "3.1.0", "info": {"title": "API Soporte Guatemalia", "version": "1.0.0"}, "servers": [{"url": "https://api.guatemalia.com/v1"}], "paths": { "/tickets": { "post": { "operationId": "crearTicketSoporte", "description": "Crea un ticket de soporte técnico con prioridad y categoría.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "titulo": {"type": "string"}, "prioridad": {"type": "string", "enum": ["baja","media","alta"]}, "descripcion": {"type": "string"} }, "required": ["titulo", "descripcion"] } } } }, "responses": {"200": {"description": "Ticket creado"}} } } } }

Autenticación: API key, OAuth y el riesgo de exponer credenciales

Las Actions soportan tres modos de autenticación: sin autenticación (endpoints públicos), API key (enviada como header, configurada una sola vez por quien crea el GPT), y OAuth 2.0 (donde cada usuario autoriza su propia sesión, ideal cuando la acción debe ejecutarse "como" ese usuario específico, no con una credencial compartida).

Para operaciones sensibles (crear registros, modificar datos, procesar pagos), OAuth por usuario es la opción correcta porque permite auditoría individual y revocación granular. Usar una única API key compartida para todo el GPT significa que, desde la perspectiva de tu backend, todas las acciones parecen venir del mismo "usuario", lo cual complica la trazabilidad.

Diseño defensivo: nunca expongas tu API de producción directamente

La práctica recomendada es no apuntar la Action directamente a tu API interna de producción, sino a una capa intermedia (un API gateway o microservicio dedicado) que: valide y sanitice los parámetros recibidos (el modelo puede generar valores inesperados o mal formados), aplique rate limiting específico para tráfico proveniente de ChatGPT, exponga solo operaciones explícitamente permitidas (idealmente de solo lectura para casos de consulta), y registre cada llamada con el contexto de qué GPT y qué conversación la originó, cuando sea posible.

# Middleware conceptual entre el GPT Action y el sistema real @app.post("/gpt-actions/tickets") def crear_ticket_desde_gpt(payload: TicketSchema): if not payload.titulo or len(payload.descripcion) < 10: raise HTTPException(400, "Datos insuficientes") ticket = sistema_interno.crear_ticket( titulo=payload.titulo, descripcion=payload.descripcion, origen="chatgpt-action", ) log_auditoria(ticket.id, origen="gpt-action") return {"id": ticket.id, "estado": "creado"}

Privacy policy y requisitos de publicación

Si el GPT se publica en el GPT Store público, OpenAI exige una URL de política de privacidad válida para cualquier Action que envíe o reciba datos de usuario. Para GPTs de uso interno (workspace privado en Team/Enterprise) este requisito es más laxo, pero sigue siendo buena práctica documentar qué datos se envían a sistemas externos.

Límites prácticos a considerar

El modelo puede encadenar múltiples llamadas a Actions distintas dentro de una misma respuesta, pero cada llamada añade latencia perceptible para el usuario (varios segundos por request HTTP externo), así que Actions con muchas dependencias secuenciales se sienten lentas. Además, el tamaño de la respuesta que la Action devuelve está limitado — respuestas muy grandes (dumps completos de bases de datos) deben paginarse o resumirse en el propio endpoint antes de devolverse al modelo.

Carlos Montiel
Arquitecto de Soluciones IA Empresarial
Especialista en LLMs, Agentes y Orquestación
guatemalia.com/#contacto · info@guatemalia.com

¿Necesitas implementar IA en tu empresa?

Carlos Montiel es arquitecto de soluciones IA empresarial. Implementa LLMs, Agentes, RAG y orquestadores en empresas de Guatemala y Latinoamérica. Contáctalo para una consultoría.

Contactar a Carlos Montiel

info@guatemalia.com