Saltar al contenido
NuevoVer cómo

Cómo crear y gestionar claves de API de desarrollador en FirstSales

Genera claves de API de mínimo privilegio con alcances por recurso, úsalas con la CLI y la API REST, y rótalas o revócalas de forma segura sin causar una interrupción.

  1. Abre Settings → API

    Las claves de API viven en Settings → API. Aquí es donde generas la credencial que autentica el CLI y cualquier llamada directa a https://api.app.firstsales.io. Necesitas el permiso adecuado para ver esta pestaña.

  2. Crea una clave con permisos mínimos necesarios

    Haz clic para crear una clave, dale un name (algo que indique dónde se usa, por ejemplo "ci-contact-sync"), y marca únicamente los scopes que necesita. Los scopes son por recurso y se dividen entre lectura y escritura, por ejemplo contacts:read, contacts:write, campaigns:read, kb:read. Existe un scope * que otorga todo; evítalo salvo que realmente necesites acceso total.

    Crea una clave con permisos mínimos necesarios
  3. Copia la clave de inmediato

    La clave completa se muestra exactamente una vez: "Copy this key now. It will not be shown again." Cópiala directamente en tu gestor de secretos o de contraseñas. Si la pierdes, no se puede recuperar; tendrás que revocarla y crear una nueva. Nunca la pegues en código, un chat o un commit.

  4. Úsala con el CLI

    Exporta la clave como FIRSTSALES_API_KEY y el CLI la detecta automáticamente. Verifica con whoami antes de hacer cualquier otra cosa:

    export FIRSTSALES_API_KEY="fs_live_..."   # from your secret store, never hardcoded
    firstsales whoami --json
  5. Úsala directamente con la API

    Para HTTP puro, envía la clave como un token Bearer. Empieza con whoami para confirmar que la clave resuelve correctamente y ver a qué org/workspace tiene acceso:

    curl -s https://api.app.firstsales.io/api/v1/whoami \
      -H "Authorization: Bearer $FIRSTSALES_API_KEY"
  6. Rota y revoca

    Cada clave de la lista se puede revocar, y la revocación es inmediata y sin deshacer: cualquier CLI o servicio que la use fallará en la siguiente llamada. Para rotar: crea la nueva clave, despliégala en tu gestor de secretos, confirma que la nueva funciona y luego revoca la antigua. Revoca al instante si alguna vez se expone una clave.

Consejos de experto

  • Una clave por consumidor

    Dale a CI, a tu laptop y a cada integración su propia clave nombrada. Cuando una se filtra o un servicio se retira, revocas solo esa clave en lugar de romperlo todo.

  • El mínimo privilegio gana a la comodidad

    Una sincronización de solo lectura no necesita contacts:write, y casi nada necesita `*`. Limita los scopes: una clave de solo lectura filtrada no puede modificar tus datos.

  • Cópiala una vez, guárdala en un gestor de secretos

    La clave se muestra una única vez. Pégala directamente en tu gestor de secretos de CI o de contraseñas, nunca en el código fuente, un .env que puedas commitear, ni en un mensaje de chat.

  • Rota con solapamiento, no con vacío

    Crea, despliega, verifica y luego revoca. Revocar antes de que el reemplazo esté activo causa una interrupción; la ventana de solapamiento mantiene las llamadas funcionando durante la rotación.

Preguntas frecuentes

¿Dónde creo una clave de API?

Settings → API. Dale un nombre, marca los scopes que necesita y créala. La clave autentica tanto el CLI como las llamadas directas a la API.

¿Qué son los scopes?

Permisos por recurso, divididos entre lectura y escritura, por ejemplo contacts:read, campaigns:write, kb:read, además de un * que otorga todo. Marca solo lo que necesite el consumidor de la clave.

Perdí mi clave, ¿puedo volver a verla?

No. La clave completa se muestra una vez al crearla (“It will not be shown again”). Si la pierdes, revoca esa clave y crea una nueva.

¿Cómo usa el CLI la clave?

Configúrala como la variable de entorno FIRSTSALES_API_KEY; el CLI la lee automáticamente. Ejecuta firstsales whoami para confirmar que funciona.

¿Cómo revoco una clave?

En la lista de configuración de la API, revócala. La revocación es inmediata y permanente: cualquier cosa que use esa clave fallará en su siguiente llamada, así que rota primero un reemplazo.

¿Cómo debo rotar claves de forma segura?

Crea la nueva clave, despliégala, confirma que funciona y luego revoca la antigua. Este solapamiento evita una interrupción. Revoca de inmediato (sin solapamiento) solo si una clave queda expuesta.

Desarrollador y CLI

Prospección que sigue cuando te desconectas.Leads, emails, seguimientos y respuestas, resueltos.

Conecta buzones ilimitados y deja que los agentes de IA busquen leads, escriban cada email y hagan seguimiento. O envía tus propias plantillas en modo manual. Desde $29/mes.

$1 por 3 días · Cancela cuando quieras · Sin contrato

Instalar con IA

Tu agente de código configura la CLI y las skills de FirstSales por ti.

Prompt para Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.