Ir al contenido

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.

  • 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.

Descarga la skill de este sitio en tu proyecto:

Ventana de terminal
mkdir -p .claude/skills/afp
curl -fsSL https://docs.afp.monster/skills/afp/SKILL.md -o .claude/skills/afp/SKILL.md

Esa 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.

Ventana de terminal
curl -fsSL https://docs.afp.monster/skills/afp/SKILL.md -o afp-skill.md

Confirma 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.

Cuatro superficies, todas generadas del mismo Markdown que las páginas mismas.

URLQué contieneÚsala para
https://docs.afp.monster/llms.txtUn índice de cada página con su descripciónDejar que un agente elija qué leer
https://docs.afp.monster/llms-full.txtEl texto completo de cada página en un solo archivoCargar todo el producto en una sola solicitud
https://docs.afp.monster/llms-small.txtEl mismo texto con los espacios en blanco colapsadosUna ventana de contexto más pequeña
Cualquier URL de página con .md agregadoEsa página como Markdown limpioLeer 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.

Antepón https://docs.afp.monster a cada dirección.

PáginaDirecció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ónOrden de nodosÚsalo cuando
Palabra clave en comentario a MDtrigger_commentconditionreply_commentsend_dmstopUna publicación pide a la gente comentar una palabra para recibir algo
Responder y calificartrigger_dmconditionsend_dmconditionadd_tagsend_dmstopUn MD entrante necesita una respuesta y una pregunta de seguimiento
Moderar y respondertrigger_commentconditionhide_comment en Coincidencia, reply_comment en Sin coincidenciaLos 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.

trigger_commentpost_scope allconditionkeyword_listreply_commentsend_dmstopstop Coincidencia, salida 0 Sin coincidencia, salida 1

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.

trigger_dmconditionmatch_type anysend_dmhace una preguntaconditionmatch_type containswait_for_replyadd_tagsend_dmstopsend_dmalternativastop salida 0 Coincidencia, salida 0 Sin coincidencia, salida 1

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á.

trigger_commentconditionkeyword_listhide_commentstopreply_commentstop Coincidencia, salida 0 Sin coincidencia, salida 1

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?»
  1. Una activación, y es el único nodo sin conexión entrante. Cada otro nodo tiene una, o la activación falla.
  2. La activación se conecta solo a una condition, y una condition nunca se conecta a otra condition.
  3. Cada nodo acepta una conexión entrante, y cada mango de salida lleva una conexión saliente.
  4. Sin ciclos. Una ejecución que alcanza un nodo que ya visitó termina con un error de ciclo.
  5. Las acciones de comentario no están disponibles cuando la activación es trigger_dm, y reply_comment y hide_comment se rechazan después de un delete_comment.
  6. 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é asumen los modelosQué hace AFPQué le da la skill al modelo en su lugar
Existe una API REST para crear campañasNo 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_dmUna activación se conecta solo a una conditionLas reglas de conexión, con esta nombrada como el grafo inválido más común
Cualquier tipo de nodo del runtime puede usarseSolo los tipos de la paleta tienen panel de configuración, así que solo esos pueden configurarseLa lista de la paleta, más los nombres de tipo que nunca deben usarse
Dos ramas pueden fusionarse de vuelta en un nodoUn nodo acepta una conexión entranteUna regla para duplicar el nodo final en lugar de fusionar
Las palabras clave se escriben dentro de la condición mismaUna condición coincide con su propio text, o referencia una lista de palabras clave que guardaste por separado, por identificadorLos 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 fijoLos límites vienen del plan de la cuentaUna instrucción para nunca indicar un número de límite
Un MD puede enviarse a cualquiera en cualquier momentoEl primer MD responde al evento que inició la ejecución; los mensajes posteriores alcanzan la cuenta de la persona una vez que ha respondidoUna 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 cursoGuardar 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” encajanEl vocabulario es campaña, nodo, condición, ejecuciónEse 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_comment necesita su propio post_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 delay dentro 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?»
  1. 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.
  2. Corrige cualquier nodo que el lienzo marque. Guardar campaña permanece deshabilitado mientras un nodo tenga un error de configuración.
  3. 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.
  4. 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íntomaCausaSolución
El agente escribe código que publica en un endpoint de AFPLa skill no está cargada en esta sesiónConfirma 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ónEl agente está diseñando desde conocimiento genérico de chatbotsPí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ónLa lista de nodos vino de algún lugar distinto de la skillReemplázalo: una condition cubre la ramificación, un delay cubre la espera
El agente cita un límite de campaña o páginaLos límites son configuración del plan, no valores fijosQuita el número y enlaza Límites de plan en su lugar
Dos ramas terminan en el mismo nodoLa fusión se ve bien en un diagrama, y el lienzo la rechazaDuplica los nodos finales en cada rama
Los campos descritos no existen en el panel de configuraciónLa skill es anterior a un cambio en la superficieVuelve a descargar el archivo y compara su campo version
Las tablas del sitio vuelven mal formadas, o no se obtuvo nadaEl agente leyó la página HTML, o no tiene acceso a la redDale la dirección .md o /llms-full.txt, o guarda esos archivos en el repositorio junto a la skill