Usa AFP con agentes de codificación de IA
Instala la skill de agente de AFP en tu proyecto con un comando, luego deja que el agente lea este sitio como Markdown. La skill fija lo que un modelo no puede adivinar: AFP no tiene API para clientes, así que lo que un agente produce es un grafo de campaña, no código; qué tipos de nodo puede agregar realmente el lienzo; y qué conexiones rechaza el lienzo. Cada página aquí también se sirve como Markdown — agrega .md a cualquier URL de página — y /llms.txt indexa todas ellas.
Qué necesitas primero
Sección titulada «Qué necesitas primero»- Un agente que carga archivos de instrucciones desde tu proyecto: un directorio de skills, o un archivo de reglas que lee al iniciar.
- Una campaña en el lienzo donde construir el resultado. Un agente puede describir un grafo; solo el lienzo puede guardar uno. Ver Construir una campaña en el lienzo.
¿Cómo instalo la skill de agente?
Sección titulada «¿Cómo instalo la skill de agente?»Descarga la skill de este sitio en tu proyecto:
mkdir -p .claude/skills/afpcurl -fsSL https://docs.afp.monster/skills/afp/SKILL.md -o .claude/skills/afp/SKILL.mdEsa ruta es donde Claude Code busca una skill de proyecto. Un agente que en cambio lee un único archivo de reglas o instrucciones — Cursor y la mayoría de los asistentes de editor funcionan así — toma el mismo contenido: descárgalo junto a tus otras instrucciones de agente y referéncialo desde el archivo que tu herramienta carga al iniciar.
curl -fsSL https://docs.afp.monster/skills/afp/SKILL.md -o afp-skill.mdConfirma el archivo para que el agente de cada colaborador trabaje desde las mismas reglas. El campo version en la parte superior registra qué superficie de AFP describe el archivo — vuelve a descargarlo cuando esa versión cambie.
La skill lleva cinco cosas: el modelo de producto, cada tipo de nodo que el lienzo puede agregar con sus claves de configuración, las reglas de conexión que el lienzo aplica, un grafo completo como ejemplo trabajado, y una lista de verificación de los errores que los modelos cometen sobre AFP.
¿Qué URLs debería leer el agente?
Sección titulada «¿Qué URLs debería leer el agente?»Cuatro superficies, todas generadas del mismo Markdown que las páginas mismas.
| URL | Qué contiene | Úsala para |
|---|---|---|
https://docs.afp.monster/llms.txt | Un índice de cada página con su descripción | Dejar que un agente elija qué leer |
https://docs.afp.monster/llms-full.txt | El texto completo de cada página en un solo archivo | Cargar todo el producto en una sola solicitud |
https://docs.afp.monster/llms-small.txt | El mismo texto con los espacios en blanco colapsados | Una ventana de contexto más pequeña |
Cualquier URL de página con .md agregado | Esa página como Markdown limpio | Leer una página sin la navegación |
La regla .md se aplica a cada página, así que un agente puede construir la dirección que necesita a partir de la dirección en la que está: /es/reference/node-types se convierte en /es/reference/node-types.md.
Un gemelo en Markdown lleva el título de la página, su descripción, y el cuerpo — sin navegación, sin barra lateral, sin scripts. Los gemelos se sirven como text/markdown, se permiten lecturas de origen cruzado, y están marcados como no indexables para que nunca compitan con las páginas que reflejan.
Dirección Markdown de cada página
Sección titulada «Dirección Markdown de cada página»Antepón https://docs.afp.monster a cada dirección.
| Página | Dirección Markdown |
|---|---|
| Comenzar | /es/start.md |
| Crea tu cuenta | /es/start/create-your-account.md |
| Conectar una página | /es/start/connect-a-page.md |
| Envía tu primera respuesta automática | /es/start/first-auto-reply.md |
| ¿Por qué mi campaña no responde? | /es/start/troubleshooting.md |
| Construir una campaña en el lienzo | /es/guides/build-a-campaign.md |
| Enrutar comentarios a un MD | /es/guides/route-comments-to-dm.md |
| Probar y depurar una campaña | /es/guides/test-and-debug-campaigns.md |
| Coincidir comentarios con listas de palabras clave | /es/guides/keyword-lists.md |
| Segmentar contactos con etiquetas | /es/guides/tags.md |
| Trabajar con contactos | /es/guides/contacts.md |
| Manejar conversaciones en la bandeja de entrada | /es/guides/inbox.md |
| Moderar comentarios | /es/guides/comment-moderation.md |
| Eliminar comentarios en masa con el limpiador | /es/guides/cleaner.md |
| Gestionar páginas conectadas | /es/guides/connected-pages.md |
| Gestionar perfiles bajo una misma cuenta | /es/guides/profiles-and-master-accounts.md |
| Planes y facturación | /es/guides/plans-and-billing.md |
| Gana con referidos | /es/guides/referrals.md |
| Recibe notificaciones | /es/guides/notifications.md |
| Obtén ayuda | /es/guides/support-tickets.md |
| Usa AFP con agentes de codificación de IA (esta página) | /es/guides/ai-agent-skill.md |
| Tipos de nodo | /es/reference/node-types.md |
| Eventos de activación | /es/reference/trigger-events.md |
| Reglas de coincidencia de palabras clave | /es/reference/keyword-matching.md |
| Estados de ejecución | /es/reference/execution-states.md |
| Esquema del grafo de campaña | /es/reference/campaign-graph-schema.md |
| Campos de contacto | /es/reference/contact-fields.md |
| Permisos de página y tokens | /es/reference/page-permissions.md |
| Límites de plan | /es/reference/plans-and-quotas.md |
| Ciclo de vida de la suscripción | /es/reference/subscription-lifecycle.md |
| Catálogo de notificaciones | /es/reference/notifications.md |
| Glosario | /es/reference/glossary.md |
| AFP comparado con las alternativas | /es/compare.md |
| AFP vs ManyChat | /es/compare/afp-vs-manychat.md |
| AFP vs Chatfuel | /es/compare/afp-vs-chatfuel.md |
| AFP vs las automatizaciones integradas de Meta | /es/compare/afp-vs-meta-automations.md |
| Registro de cambios | /es/changelog.md (próximamente) |
Un agente que no puede alcanzar la red trabaja desde los mismos archivos sin conexión: obtén /llms-full.txt una vez y confírmalo junto a la skill.
¿Qué patrones de grafo de campaña debería seguir el agente?
Sección titulada «¿Qué patrones de grafo de campaña debería seguir el agente?»Tres formas cubren la mayor parte de lo que la gente pide a un agente que diseñe. Cada una satisface las reglas del lienzo, así que puede construirse nodo por nodo.
| Patrón | Orden de nodos | Úsalo cuando |
|---|---|---|
| Palabra clave en comentario a MD | trigger_comment → condition → reply_comment → send_dm → stop | Una publicación pide a la gente comentar una palabra para recibir algo |
| Responder y calificar | trigger_dm → condition → send_dm → condition → add_tag → send_dm → stop | Un MD entrante necesita una respuesta y una pregunta de seguimiento |
| Moderar y responder | trigger_comment → condition → hide_comment en Coincidencia, reply_comment en Sin coincidencia | Los comentarios no deseados se ocultan y todo lo demás recibe una respuesta pública |
Un agente que describe un grafo debería nombrar el tipo de cada nodo y sus claves de configuración, y la salida de origen de cada conexión. Son los mismos nombres que usa el grafo guardado — las conexiones llevan from_node_id, to_node_id, y output_index — así que un grafo descrito y uno guardado pueden compararse campo por campo. Esquema del grafo de campaña tiene la forma completa.
Palabra clave en comentario a MD
Sección titulada «Palabra clave en comentario a MD»El reply_comment público antes del send_dm es deliberado: le dice al comentarista que revise sus mensajes, y otros lectores ven que la página responde. Establece el match_type de la condición en keyword_list y dale el identificador de una lista guardada; los mensajes que coinciden salen por la salida 0 y todo lo demás sale por la salida 1.
Responder y calificar
Sección titulada «Responder y calificar»Una condition con wait_for_reply activado detiene la ejecución en ese nodo hasta que la persona responde, y la respuesta se compara entonces de la misma forma que un primer mensaje — incluyendo la etiqueta de un botón que tocó. Ambas ramas necesitan sus propios nodos finales, porque un nodo acepta una conexión entrante y dos ramas no pueden fusionarse.
Una condition establecida en match_type: any coincide con todo y tiene una sola salida: el lienzo elimina su salida Sin coincidencia y quita cualquier conexión que salía de ella. Un agente que dibuja una rama de Sin coincidencia desde una condición any está describiendo un grafo que el lienzo no conservará.
Moderar y responder
Sección titulada «Moderar y responder»Las acciones de comentario necesitan un comentario sobre el cual actuar, así que este patrón solo funciona bajo trigger_comment. Pon las palabras no deseadas en la lista de palabras clave y oculta la rama de Coincidencia, o establece reverse_keywords en la condición para que todo lo que la lista no coincide tome la rama de Coincidencia en su lugar.
¿Qué tiene que cumplir cada grafo generado?
Sección titulada «¿Qué tiene que cumplir cada grafo generado?»- Una activación, y es el único nodo sin conexión entrante. Cada otro nodo tiene una, o la activación falla.
- La activación se conecta solo a una
condition, y unaconditionnunca se conecta a otracondition. - Cada nodo acepta una conexión entrante, y cada mango de salida lleva una conexión saliente.
- Sin ciclos. Una ejecución que alcanza un nodo que ya visitó termina con un error de ciclo.
- Las acciones de comentario no están disponibles cuando la activación es
trigger_dm, yreply_commentyhide_commentse rechazan después de undelete_comment. - En una
condition, la salida 0 es Coincidencia y la salida 1 es Sin coincidencia.
Esquema del grafo de campaña da los nombres de campo exactos y un grafo completo en JSON; Tipos de nodo da cada clave de configuración que un agente puede escribir.
¿Qué entiende mal un agente sobre AFP?
Sección titulada «¿Qué entiende mal un agente sobre AFP?»| Qué asumen los modelos | Qué hace AFP | Qué le da la skill al modelo en su lugar |
|---|---|---|
| Existe una API REST para crear campañas | No hay API para clientes. Las campañas se crean en el lienzo y se guardan desde ahí | Una instrucción para decir eso, en lugar de escribir una solicitud contra un endpoint inventado |
Una activación puede ir directo a un send_dm | Una activación se conecta solo a una condition | Las reglas de conexión, con esta nombrada como el grafo inválido más común |
| Cualquier tipo de nodo del runtime puede usarse | Solo los tipos de la paleta tienen panel de configuración, así que solo esos pueden configurarse | La lista de la paleta, más los nombres de tipo que nunca deben usarse |
| Dos ramas pueden fusionarse de vuelta en un nodo | Un nodo acepta una conexión entrante | Una regla para duplicar el nodo final en lugar de fusionar |
| Las palabras clave se escriben dentro de la condición misma | Una condición coincide con su propio text, o referencia una lista de palabras clave que guardaste por separado, por identificador | Los cuatro tipos de coincidencia y qué clave lee cada uno |
| El límite de campañas o páginas de un plan es un número fijo | Los límites vienen del plan de la cuenta | Una instrucción para nunca indicar un número de límite |
| Un MD puede enviarse a cualquiera en cualquier momento | El primer MD responde al evento que inició la ejecución; los mensajes posteriores alcanzan la cuenta de la persona una vez que ha respondido | Una nota de que se aplican las ventanas de mensajería de la plataforma y AFP no las anula |
| Guardar pone una campaña en vivo, y editar cambia ejecuciones en curso | Guardar escribe una nueva versión y activar es una acción separada; una ejecución se queda en la versión en la que inició | Ambas reglas, junto al modelo |
| Es un constructor de chatbots, así que “flujo” y “bot” encajan | El vocabulario es campaña, nodo, condición, ejecución | Ese vocabulario, usado en todas partes |
Dos más que la skill no puede corregir por sí sola, porque solo aparecen una vez que un grafo se ejecuta:
send_commentnecesita su propiopost_id. No recae en la publicación en la que se disparó la activación, y sin uno no hace nada cuando la ejecución lo alcanza.- Una persona no puede tener dos ejecuciones de la misma campaña a la vez. Mientras su ejecución está activa, un segundo evento coincidente de ella se omite, así que un mensaje de seguimiento pertenece detrás de un
delaydentro del mismo grafo en lugar de depender de un segundo evento de la misma persona.
¿Cómo verifico el grafo que me da un agente?
Sección titulada «¿Cómo verifico el grafo que me da un agente?»- Constrúyelo en el lienzo. El lienzo valida mientras arrastras, así que un grafo que no puede construir falla en la primera conexión inválida en lugar de después de guardar.
- Corrige cualquier nodo que el lienzo marque. Guardar campaña permanece deshabilitado mientras un nodo tenga un error de configuración.
- Guarda, luego inicia una ejecución de prueba. Recorre el grafo guardado y registra lo que cada nodo habría hecho, sin enviar mensajes a nadie, tocar un comentario, o cambiar las etiquetas de un contacto. Ver Probar y depurar una campaña.
- Activa solo después de que la ruta de prueba coincida con la descripción del agente.
¿Por qué el agente sigue produciendo un grafo que el lienzo rechaza?
Sección titulada «¿Por qué el agente sigue produciendo un grafo que el lienzo rechaza?»| Síntoma | Causa | Solución |
|---|---|---|
| El agente escribe código que publica en un endpoint de AFP | La skill no está cargada en esta sesión | Confirma que el archivo está donde el agente busca instrucciones, luego inicia una nueva sesión |
| El grafo conecta una activación directo a una acción | El agente está diseñando desde conocimiento genérico de chatbots | Pídele que reformule las reglas de conexión antes de proponer un grafo de nuevo |
| El grafo usa un tipo de nodo sin panel de configuración | La lista de nodos vino de algún lugar distinto de la skill | Reemplázalo: una condition cubre la ramificación, un delay cubre la espera |
| El agente cita un límite de campaña o página | Los límites son configuración del plan, no valores fijos | Quita el número y enlaza Límites de plan en su lugar |
| Dos ramas terminan en el mismo nodo | La fusión se ve bien en un diagrama, y el lienzo la rechaza | Duplica los nodos finales en cada rama |
| Los campos descritos no existen en el panel de configuración | La skill es anterior a un cambio en la superficie | Vuelve a descargar el archivo y compara su campo version |
| Las tablas del sitio vuelven mal formadas, o no se obtuvo nada | El agente leyó la página HTML, o no tiene acceso a la red | Dale la dirección .md o /llms-full.txt, o guarda esos archivos en el repositorio junto a la skill |
Relacionado
Sección titulada «Relacionado»- Esquema del grafo de campaña — los nombres de campo y restricciones contra los que un agente tiene que escribir
- Tipos de nodo — cada nodo y cada clave de configuración
- Construir una campaña en el lienzo — convertir un grafo propuesto en uno guardado
- Probar y depurar una campaña — verificar lo que el grafo realmente hace
- Coincidir comentarios con listas de palabras clave — crear la lista que una condición referencia
- Glosario — el vocabulario al que la skill sujeta a un agente