- Inicio
- Recursos
- Integraciones
- Affinity
Integración Affinity n8nAutomatiza Affinity con n8n.
La integración Affinity n8n saca la información de relaciones del CRM y la mete en un flujo de trabajo. El nodo reúne 16 operaciones en 4 recursos: listas, entradas de lista, organizaciones y personas. El trigger, el nodo que arranca un flujo, escucha 25 eventos en 9 familias.
Reseñas verificadas en Trustpilot · Agencia de IA, automatización y growth
¿Qué resuelve la integración Affinity n8n?
Affinity guarda la memoria de contactos de un equipo comercial o de inversión. El nodo de n8n entra en esa información por la API de Affinity: 16 operaciones repartidas en 4 recursos, listas, entradas de lista, organizaciones y personas. El Affinity Trigger cubre el sentido contrario, con 25 eventos agrupados en 9 familias, para que un cambio hecho dentro de Affinity arranque un proceso en lugar de esperar a que alguien se dé cuenta.
Casi todo arranca con una entrada de datos: una consultora recibe una solicitud, el flujo crea la empresa con organization.create y después la coloca en la lista de seguimiento con listEntry.create. El segundo nodo necesita el identificador que devolvió el primero, y ese identificador viaja en una expresión, una fórmula corta escrita como {{ $json.id }} que lee un campo del elemento que entra.
En sentido contrario, es el trigger el que avisa de que algo cambió. Salta con opportunity.updated o list_entry.created, el flujo recarga la ficha completa y el mensaje aparece donde el equipo mira de verdad. Para un equipo de ventas repartido entre ciudades, Slack funciona mejor que un correo que nadie abre hasta la tarde.
El informe y la sincronización van a un ritmo más lento pero mueven más fichas de golpe: person.getAll y organization.getAll, con Return All activado, vuelcan la agenda en Google Sheets para la reunión mensual, o la comparan con las fichas de HubSpot y Salesforce cuando marketing y ventas discuten sobre quién lleva una cuenta.
Hay dos cosas que conviene saber antes de montar nada. Return All encadena las páginas de la API hasta el último elemento; si lo dejas desactivado, Limit fija cuántos elementos devuelve el nodo, algo cómodo para probar y malo para exportar. Y si un endpoint de la API de Affinity queda fuera de esas 16 operaciones, el nodo HTTP Request lo llama directamente reutilizando el mismo credential de Affinity con su autenticación predefinida. Un nodo más, nada que volver a configurar.
Si la parte que falta es n8n y no Affinity, el Curso n8n cubre la lógica de nodos antes de tocar un CRM en producción.
¿Cómo se conecta Affinity con n8n?
- 01
Revisa el plan de Affinity
El acceso a la API depende de la suscripción. La documentación de credentials de n8n lo dice sin rodeos: hace falta una cuenta de Affinity en los niveles Scale, Advanced o Enterprise para que la clave llegue a existir. Confírmalo con quien gestione la cuenta antes de montar nada, porque ningún ajuste dentro de n8n compensa un plan que no abre la API.
- 02
Genera la clave API en Affinity
La clave se saca desde los ajustes de Affinity, y el artículo de ayuda
360032633992señala dónde encontrarla. Copia el valor una vez y guárdalo en un sitio seguro. El nodo Affinity y el Affinity Trigger se autentican con esa misma clave, así que no hay nada más que recoger del lado de Affinity. - 03
Crea el credential en n8n
Dentro de n8n, abre el menú Credentials y crea un credential de Affinity, es decir, unas credenciales guardadas una sola vez y reutilizables en todos los flujos. Pega el valor en el campo API Key y guarda. A partir de ahí cada nodo Affinity ofrece ese credential en su desplegable, y la clave ya no vuelve a escribirse dentro de un nodo.
¿Qué arranca un flujo desde Affinity ?
Affinity Trigger es el nodo que arranca un workflow cuando algo ocurre en Affinity. Escucha 25 eventos, listados abajo por familia. Eliges uno o varios, activas el workflow y n8n registra el webhook (la URL que Affinity llama) en tu cuenta.
Lo que ves en n8n
Todos los eventos, por familia
Una fila por objeto, un chip por acción. El evento que marcas en el nodo se escribe objeto.acción; pasa el cursor por un chip para leer cuándo se dispara.
field.*3field.createddeletedupdated
field_value.*3field_value. createddeletedupdated
list.*3list.createddeletedupdated
note.*3note.createddeletedupdated
opportunity.*3opportunity.createddeletedupdated
organization.*3organization.createddeletedupdated
person.*3person.createddeletedupdated
file.*2file.createddeleted
list_entry.*2list_entry. createddeleted
Notas de configuración
01Set up the Affinity Trigger
El Affinity Trigger, versión 1 del nodo, convierte la actividad dentro de Affinity en ejecuciones de flujo. Funciona por webhook: al activar el flujo, n8n registra una URL en Affinity, y Affinity llama a esa URL cada vez que ocurre algo. El evento llega al flujo en unos segundos, sin frecuencia que ajustar y sin nada consultando la API en bucle.
Parámetros clave
- Events: los eventos a los que se suscribe este flujo, elegidos entre los 25 disponibles. No existe un valor comodín, así que cada evento que te interese se marca por su nombre. Marcar varios no da problemas, y el elemento recibido indica cuál ha saltado.
02Person, organization and opportunity events
Tres familias cubren las fichas que un equipo toca a diario, 9 eventos en total. person.created, person.updated y person.deleted siguen a los contactos. organization.created, organization.updated y organization.deleted siguen a las empresas. opportunity.created, opportunity.updated y opportunity.deleted siguen a las oportunidades.
Parámetros clave
- Events: marca solo los tres valores de opportunity para vigilar el embudo, o combina los valores created de person y organization cuando quieras detectar todo lo que entra nuevo en el CRM.
03List and list entry events
Las listas son la forma de organizar el trabajo en Affinity, y 5 eventos de 2 familias informan sobre ellas. list.created, list.updated y list.deleted hablan de la lista en sí, de que exista y de cómo está configurada. list_entry.created y list_entry.deleted hablan de la pertenencia, o sea de una ficha que entra en una lista o que sale de ella.
Parámetros clave
- Events: la pareja de list entry es la más útil para automatizar un embudo, porque mover una empresa de una lista a otra suele ser lo que significa un cambio de etapa.
list_entry.created como una entrada de etapa y lanzar la lista de comprobación correspondiente. Combínalo con listEntry.get: el evento dice que algo cambió, la operación dice qué.04Field, note and file events
Las 4 familias restantes, 11 eventos, tratan del contenido pegado a las fichas más que de las fichas. field.created, field.updated y field.deleted hablan de la estructura, una columna añadida o renombrada. field_value.created, field_value.updated y field_value.deleted hablan de lo que alguien escribió de verdad. note.created, note.updated y note.deleted siguen las notas, y file.created y file.deleted siguen los archivos adjuntos.
Parámetros clave
- Events: los eventos de field value son ruidosos en un equipo activo. Mejor dedicarles un flujo aparte que mezclarlos con familias más tranquilas.
note.created es un buen enganche para un resumen dirigido a quien no pudo asistir. Los archivos van por otro camino: que aparezca un adjunto en una ficha es lo bastante raro como para archivarlo siempre.¿Qué sabe hacer el nodo Affinity ?
El nodo Affinity expone 16 operaciones en 4 recursos. Para cada una: el nodo tal como lo configuras en n8n, los campos obligatorios y nuestras notas de campo.
| Recurso | Create | Get | Get Many | Update | Delete |
|---|---|---|---|---|---|
| List | ✓ | ✓ | |||
| List Entry | ✓ | ✓ | ✓ | ✓ | |
| Organization | ✓ | ✓ | ✓ | ✓ | ✓ |
| Person | ✓ | ✓ | ✓ | ✓ | ✓ |
Índice de operaciones
List
2 operacionesGet a list
list.getLo que ves en n8n
Notas y casos de uso
Devuelve una lista de Affinity con sus datos, que es como un flujo comprueba que apunta a la lista correcta antes de escribir nada dentro.
Parámetros clave
- List ID: el identificador único de la lista que se quiere recuperar. Déjalo fijo si siempre es la misma, o pasa
{{ $json.listId }}cuando un nodo anterior haya decidido cuál.
Get many lists
list.getAllLo que ves en n8n
Notas y casos de uso
Recupera las listas de la cuenta, un elemento por lista, y con eso el flujo obtiene la correspondencia entre el nombre de una lista y su identificador.
Parámetros clave
- Return All: activado, n8n pide las páginas siguientes hasta la última lista. Desactivado, Limit decide cuántas listas devuelve el nodo.
List Entry
4 operacionesCreate a list entry
listEntry.createLo que ves en n8n
Notas y casos de uso
Añade una persona, una organización o una oportunidad que ya existen a una lista. Es la operación que mete de verdad una ficha en un embudo.
Parámetros clave
- List Name or ID: elige la lista en el desplegable que n8n carga desde la cuenta, o pasa un identificador con una expresión.
- Entity ID: el identificador único de la entidad (persona, organización u oportunidad) que se añade, normalmente
{{ $json.id }}del nodo que acaba de crearla. - Creator ID: una persona con acceso a Affinity, registrada como autora del alta. Vacío, queda el propietario de la clave API.
Delete a list entry
listEntry.deleteLo que ves en n8n
Notas y casos de uso
Quita una entrada de una lista. La persona o la organización siguen en Affinity, lo único que desaparece es su pertenencia a esa lista.
Parámetros clave
- List Name or ID: la lista que contiene la entrada, elegida en el desplegable o pasada como identificador.
- List Entry ID: el identificador único de la entrada que se va a borrar, que no es el de la empresa ni el de la persona.
Get a list entry
listEntry.getLo que ves en n8n
Notas y casos de uso
Consulta una entrada concreta y devuelve lo que Affinity guarda de ella, en lugar de recorrer la lista entera para encontrarla.
Parámetros clave
- List Name or ID: la lista que contiene la entrada buscada.
- List Entry ID: el identificador único de la entrada que se quiere recuperar.
list_entry.created, esta operación convierte esa referencia en la ficha completa y solo entonces el flujo tiene material para redactar algo útil.Get many list entries
listEntry.getAllLo que ves en n8n
Notas y casos de uso
Recorre una lista y devuelve sus entradas como elementos separados, uno por entrada, listos para un bucle o una escritura en bloque.
Parámetros clave
- List Name or ID: la lista cuyas entradas se quieren recuperar.
- Return All: activado para un export completo. Desactivado, Limit pone techo al número de entradas devueltas, que es lo que conviene mientras pruebas.
Organization
5 operacionesCreate an organization
organization.createLo que ves en n8n
Notas y casos de uso
Crea una empresa en Affinity y la devuelve con su identificador, el valor que necesitarán todas las operaciones posteriores sobre esa empresa.
Parámetros clave
- Name: el nombre de la organización.
- Domain: su nombre de dominio, el campo que conviene normalizar antes, porque un prefijo de más crea un duplicado en vez de un enlace.
- Person Names or IDs: las personas asociadas a la nueva organización, elegidas en la lista o pasadas por identificador.
476 hace justo esto, crear una organización en Affinity con lo que haya recibido el flujo.Delete an organization
organization.deleteLo que ves en n8n
Notas y casos de uso
Borra la ficha de una empresa en Affinity. Todo lo que el equipo había colgado de ella se va con la ficha, así que esta operación va detrás de una condición y no suelta en medio del flujo.
Parámetros clave
- Organization ID: el identificador único de la organización, ni su nombre ni su dominio.
Get an organization
organization.getLo que ves en n8n
Notas y casos de uso
Lee una empresa por su identificador y devuelve su ficha, con una opción que cambia cuánto contexto viene de vuelta.
Parámetros clave
- Organization ID: el identificador único de la organización.
- With Interaction Dates: activado, las fechas de interacción vienen en el recurso devuelto, y eso es lo que permite al flujo razonar sobre cuánto tiempo lleva callada la cuenta.
Get many organizations
organization.getAllLo que ves en n8n
Notas y casos de uso
Busca en el lado de empresas de la agenda y devuelve un elemento por organización encontrada.
Parámetros clave
- Term: una cadena que busca en todas las organizaciones de la agenda del equipo, por ejemplo una dirección de correo, un nombre o un apellido.
- Return All: activado para traerlo todo, desactivado para pararse en Limit.
- With Interaction Dates: añade las fechas de interacción a cada organización devuelta.
Update an organization
organization.updateLo que ves en n8n
Notas y casos de uso
Actualiza una empresa que ya está en Affinity. Solo se envían los campos que rellenas, así que el flujo corrige un dato sin tocar el resto de la ficha.
Parámetros clave
- Organization ID: el identificador único de la organización que se modifica.
- Name y Domain: el nombre y el dominio nuevos cuando cambia alguno de los dos.
- Person Names or IDs: las personas asociadas a la organización.
Person
5 operacionesCreate a person
person.createLo que ves en n8n
Notas y casos de uso
Registra un contacto nuevo en Affinity y devuelve la ficha creada, lista para engancharla a una lista o a una empresa.
Parámetros clave
- First Name y Last Name: los dos son obligatorios y los dos bloquean, porque un campo obligatorio vacío impide que el nodo se ejecute.
- Emails: las direcciones de correo de la persona, con el formato
info@example.com. - Organization Names or IDs: las organizaciones a las que se asocia la persona.
Delete a person
person.deleteLo que ves en n8n
Notas y casos de uso
Elimina un contacto de Affinity a partir de su identificador. Operación corta, efecto definitivo: va al final de una rama que ya ha comprobado algo.
Parámetros clave
- Person ID: el identificador único de la persona, el valor que devuelve una lectura o que trae un evento del trigger.
Get a person
person.getLo que ves en n8n
Notas y casos de uso
Trae un contacto y lo que Affinity sabe de él, en un solo elemento que el nodo siguiente lee campo por campo.
Parámetros clave
- Person ID: el identificador único de la persona.
- With Interaction Dates: activado, las fechas de interacción vuelven con la ficha, que es la diferencia entre saber que el contacto existe y saber si alguien ha hablado con él.
person.updated con poco detalle, esta operación carga el estado actual antes de que el flujo decida nada.Get many people
person.getAllLo que ves en n8n
Notas y casos de uso
Barre el lado de contactos de la agenda y devuelve un elemento por persona, punto de partida de cualquier export o auditoría.
Parámetros clave
- Term: una cadena que busca en todas las personas de la agenda del equipo, por ejemplo una dirección de correo, un nombre o un apellido.
- Return All: activado para encadenar páginas hasta el final, desactivado para pararse en Limit.
- With Interaction Dates: añade las fechas de interacción a cada persona devuelta.
Update a person
person.updateLo que ves en n8n
Notas y casos de uso
Ajusta un contacto existente. Lo que dejas vacío se queda como está en Affinity, y eso hace que la operación sea segura para ejecutarla de forma periódica contra una fuente de referencia.
Parámetros clave
- Person ID: el identificador único de la persona que se modifica.
- Emails: las direcciones de correo de la persona, útiles cuando cambia de empresa.
- First Name, Last Name y Organization Names or IDs: los campos de identidad y de vínculo, actualizados solo si los rellenas.
¿Necesitas ayuda para automatizar Affinity con n8n?
El equipo te responde directamente.
Cada mensaje lo lee una persona.

