Gestionar contactos con la CLI de FirstSales
Crea, lee, actualiza y elimina contactos, listas y etiquetas desde la línea de comandos — creaciones idempotentes, importaciones masivas, exportaciones y borrados deliberados con alcance a un org y workspace.
- 1
Lista y lee contactos
Todo está delimitado por una organización y un workspace. Comienza en modo de solo lectura — lista contactos, luego obtén uno por ID:
firstsales contacts list --org ORG_ID --workspace WS_ID --json firstsales contacts get --org ORG_ID --workspace WS_ID --contact CONTACT_ID - 2
Crea y actualiza un contacto
Crea con una clave de idempotencia para que los reintentos no dupliquen; actualizar aplica un parche solo a los campos que envíes:
firstsales contacts create --org ORG_ID --workspace WS_ID \ --data '{"email":"jane@acme.com","first_name":"Jane","company_name":"Acme"}' \ --idempotency-key jane-acme-2026-01 firstsales contacts update --org ORG_ID --workspace WS_ID \ --contact CONTACT_ID --data '{"job_title":"VP Sales"}' - 3
Organiza con listas
Las listas de contactos son cómo segmentas a quién le envía una campaña. Crea, renombra y elimina listas desde la CLI:
firstsales contact-lists list --org ORG_ID --workspace WS_ID firstsales contact-lists create --org ORG_ID --workspace WS_ID \ --data '{"name":"Q1 SaaS founders"}' firstsales contact-lists update --org ORG_ID --workspace WS_ID \ --list LIST_ID --data '{"name":"Q1 SaaS founders (US)"}' - 4
Gestiona etiquetas en masa
Las etiquetas son rótulos libres a través de los contactos. Puedes renombrar (lo que fusiona) o eliminar una etiqueta en todos los lugares donde aparece — eliminarla es destructivo, así que requiere
--confirm:firstsales contact-tags list --org ORG_ID --workspace WS_ID firstsales contact-tags rename --org ORG_ID --workspace WS_ID \ --data '{"from":"founder","to":"founders"}' firstsales contact-tags delete --org ORG_ID --workspace WS_ID \ --data '{"tag":"stale"}' --confirm - 5
Importación masiva
Envía un lote de contactos con un trabajo de importación. Apúntalo a una lista; la plataforma deduplica por correo en el servidor, así que reimportar a las mismas personas no crea copias:
firstsales contact-imports create --org ORG_ID --workspace WS_ID \ --data-file ./leads.json \ --idempotency-key import-2026-01 - 6
Exporta lo que filtraste
Lista tus trabajos de exportación / recupera contactos como CSV para reportes o respaldo:
firstsales contact-exports list --org ORG_ID --workspace WS_ID - 7
Elimina con cuidado
Eliminar un contacto es destructivo y requiere
--confirm. Prefiere dejar que la limpieza suprima automáticamente las direcciones malas en lugar de eliminarlas permanentemente — la eliminación es definitiva:firstsales contacts delete --org ORG_ID --workspace WS_ID \ --contact CONTACT_ID --confirm
Consejos de experto
Atajos aprendidos a fuerza de experiencia para mantener el precalentamiento en curso.
Segmenta con listas, etiqueta con tags
Las listas deciden a quién le envía una campaña; las etiquetas son rótulos transversales para filtrar. Usa ambas — un contacto puede estar en una lista y llevar muchas etiquetas.
La importación es idempotente y deduplicada
La deduplicación en el servidor por correo significa que volver a ejecutar una importación no duplicará tu lista. Aun así pasa --idempotency-key para que el propio trabajo no se cree dos veces.
No elimines permanentemente para suprimir
Para dejar de enviarle a alguien, deja que la limpieza lo marque como sucio o confía en el estado rebotado/desuscrito — esos se excluyen automáticamente. Reserva contacts delete --confirm para una eliminación genuina.
rename fusiona etiquetas
Renombrar una etiqueta a un nombre existente las fusiona. Útil para limpiar 'founder' vs 'founders' — pero no es reversible, así que revisa el nombre destino primero.
Preguntas frecuentes
¿Cómo están delimitados los contactos?
Por una organización y un workspace. Cada comando de contacto lleva --org y --workspace; los mismos IDs de contacto no se resuelven en otro workspace.
¿Cómo evito contactos duplicados al importar?
Las importaciones deduplican por correo en el servidor, así que reimportar a las mismas personas las agrega a la lista sin crear copias. Pasa --idempotency-key para que el propio trabajo de importación también sea seguro de reintentar.
¿Cuál es la diferencia entre listas y etiquetas?
Las listas definen la audiencia a la que le envía una campaña; las etiquetas son rótulos libres para filtrar y segmentar. Un contacto pertenece a listas y puede llevar muchas etiquetas.
¿Cómo elimino una etiqueta en todos lados?
contact-tags delete --confirm la elimina de todos los contactos, y contact-tags rename fusiona una etiqueta en otra. Ambas son destructivas, así que eliminar requiere --confirm.
¿Puedo exportar mis contactos?
Sí — usa contact-exports para recuperar contactos como CSV. En la app, la exportación refleja tu filtro/selección actual; vía la API trabajas con trabajos de exportación.
¿Debería eliminar los contactos que rebotan?
Generalmente no. Los contactos rebotados, desuscritos y marcados por la limpieza (sucios) se excluyen automáticamente de los envíos, así que rara vez hace falta eliminarlos. Elimina permanentemente solo cuando realmente quieras que el registro desaparezca, y requiere --confirm.
¿Listo para ponerlo en práctica?
Comienza tu prueba de FirstSales y lanza un buzón precalentado y autenticado en minutos.
Empieza por $1