Sáltate la instalación. Funcionando en menos de 2 minutos.
Inicia una prueba gratuita en cloud.anythingmcp.com, añade Freshsales con un clic y apunta tu cliente de IA (Claude, ChatGPT, Copilot o Cursor) al endpoint MCP generado. Sin Docker, sin git clone, sin experiencia de desarrollo.
Resumen
Freshsales (Freshworks CRM) desde cualquier agente de IA: busca y filtra contactos, cuentas y oportunidades, mueve oportunidades entre las etapas del pipeline, añade notas, planifica tareas y citas, registra actividades de ventas y gestiona listas de marketing. Funciona con la clave API personal de un usuario y la URL bundle de tu cuenta.
Prueba a pedir
Prompts de ejemplo para Freshsales
Haz clic en un prompt para copiarlo. Pégalo en Claude, ChatGPT, Cursor, Gemini, Copilot u OpenClaw para ejecutarlo contra este conector.
Claude es IA y puede equivocarse. Verifica siempre las respuestas.
💡 ¿Sin instalación? Usa cloud.anythingmcp.com directamente. Inicia sesión, pulsa Connectors → Freshsales, pega tus credenciales, genera una MCP API key y listo. Sin Docker, sin
git clone, sin servidor local.
Freshsales + Cursor
Freshsales (Freshworks CRM) desde cualquier agente de IA: busca y filtra contactos, cuentas y oportunidades, mueve oportunidades entre las etapas del pipeline, añade notas, planifica tareas y citas, registra actividades de ventas y gestiona listas de marketing. Funciona con la clave API personal de un usuario y la URL bundle de tu cuenta.
Requisitos previos
Las instrucciones de configuración completas están incluidas en el conector (visibles en el store al seleccionarlo). Las variables de entorno requeridas:
FRESHSALES_BUNDLE_URL, FRESHSALES_API_KEY
Paso 1 — Obtener credenciales
La configuración lleva unos 2 minutos. Necesitas una cuenta de Freshsales (Freshworks CRM).
- En Freshsales haz clic en tu foto de perfil, luego en Profile Settings, y abre la pestaña API Settings.
- Copia Your API key en
FRESHSALES_API_KEY. El conector la envía comoAuthorization: Token token=<key>, así que pega solo la clave. - En la misma pestaña copia el bundle alias (la dirección de tu cuenta) en
FRESHSALES_BUNDLE_URL, por ejemplohttps://acme.myfreshworks.com/crm/sales. Las cuentas creadas antes de la suite Freshworks usanhttps://acme.freshsales.io. Omite/apiy la barra final. - Instala el conector y ejecuta
freshsales_list_owners: lista los usuarios del portal y confirma clave y dirección.
Cada llamada actúa con los permisos del usuario cuya clave has puesto: los registros fuera de su alcance no se ven. Usa la clave de un usuario que vea los datos que necesita el equipo.
Por dónde empezar: freshsales_list_owners da los ids de usuario para owner_id. freshsales_list_selector lee una lista de selección (territorios, pipelines y etapas, monedas, tipos y motivos de oportunidad, fuentes de leads, sectores y tipos de empresa, campañas, estados de contacto, etapas del ciclo de vida, tipos y resultados de actividades de ventas) y devuelve los ids que se usan al escribir. freshsales_list_pipeline_stages da las etapas de un pipeline. freshsales_list_fields lista los campos de contactos, cuentas, oportunidades o actividades de ventas, también los personalizados: sus nombres internos empiezan por cf_ y van en custom_field.
Encontrar registros:
freshsales_search: búsqueda de texto por nombre o email en contactos, cuentas, oportunidades y usuarios.includeacepta los nombres en singularcontact,sales_account,dealyuser; en plural no devuelve nada.freshsales_lookup: coincidencia exacta en un campo, por ejemplo contactos por email, o contactos, cuentas y oportunidades por nombre o por el valor de un campo personalizado.freshsales_filtered_search: reglas sobre campos (valores exactos, rangos, listas), devuelve registros completos.- Los listados siempre pasan por una vista guardada:
freshsales_list_viewsda los ids de las vistas (por ejemplo "All Contacts" o "My Deals") y luegofreshsales_list_contacts,freshsales_list_accountsofreshsales_list_dealsleen la vista con ordenación.
Contactos, cuentas y oportunidades: freshsales_get_contact, freshsales_get_account y freshsales_get_deal leen un registro e incrustan registros relacionados con include (por ejemplo sales_accounts,deals,notes). freshsales_list_contact_activities muestra la cronología de un contacto (emails, llamadas, notas, cambios de campos, visitas web). Para escribir, la IA usa freshsales_create_contact (al menos email o apellido), freshsales_update_contact, freshsales_upsert_contact (crea o actualiza por email u otro campo único), freshsales_create_account (name único), freshsales_update_account, freshsales_create_deal (name y amount obligatorios) y freshsales_update_deal. Una oportunidad avanza cuando deal_stage_id se pone en una etapa de su pipeline; ganada y perdida también son etapas, y una oportunidad perdida puede llevar un deal_reason_id. Las actualizaciones cambian solo los campos enviados.
Notas, tareas, citas y actividades se vinculan a un registro con targetable_type (Contact, SalesAccount o Deal) y targetable_id:
- Notas:
freshsales_create_note,freshsales_update_note. - Tareas:
freshsales_list_tasks(un filtro por llamada:open,due_today,due_tomorrow,overdueocompleted),freshsales_get_task,freshsales_create_task,freshsales_update_task,freshsales_complete_task. - Citas:
freshsales_list_appointments(openpara las próximas,pastpara las pasadas; los portales antiguos usanupcoming),freshsales_get_appointment,freshsales_create_appointment,freshsales_update_appointment. Los asistentes son usuarios (FdMultitenant::User) o contactos (Contact). - Actividades de ventas como llamadas y visitas registradas:
freshsales_list_sales_activities,freshsales_get_sales_activity,freshsales_create_sales_activity.
Listas de marketing: freshsales_list_marketing_lists, freshsales_list_marketing_list_contacts, freshsales_add_contacts_to_list y freshsales_remove_contacts_from_list (los contactos se conservan).
Leads: las cuentas actuales de Freshsales guardan a los prospectos como contactos con una etapa del ciclo de vida; no hay un módulo de leads aparte. La IA filtra contactos por etapa del ciclo de vida con una vista o con freshsales_filtered_search.
Desactivadas al instalar: ninguna. El conector no tiene herramientas de borrado, así que no puede eliminar contactos, cuentas, oportunidades, notas, tareas ni citas. Crear y modificar registros cambia tu CRM real, así que pide a la IA que te muestre los campos antes de guardar.
Formatos de datos: las marcas de tiempo vuelven en UTC o con desfase (2026-02-13T23:27:49Z). Las fechas de entrada aceptan YYYY-MM-DD o ISO 8601; sin zona se asume UTC. Los importes están en la moneda de la oportunidad; base_currency_amount está convertido a la moneda del portal. Los campos vacíos son null. Los registros incrustados con include llegan en arrays separados de primer nivel (users, sales_accounts, deals) junto al registro, enlazados por id.
Paginación: los listados aceptan page (desde 1) y per_page (25 por defecto, como máximo 100) y devuelven meta.total_pages y meta.total. freshsales_search devuelve 10 resultados por defecto, como máximo 100.
Límites y errores habituales: 1000 peticiones por hora y cuenta; por encima Freshsales responde 429. 401 indica una clave errónea o ausente, 403 que el usuario no tiene el permiso o la función no está en el plan, 404 un id erróneo o una URL bundle equivocada. Los errores de validación vuelven como 400 con errors.message.
El conector no borra registros, no envía emails y no cambia ajustes del portal, campos ni pipelines.
Paso 2 — Instalar el adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Paso 3 — Añadir el conector en Cursor
La URL de tu servidor: en AnythingMCP abre MCP Servers → el servidor donde está este conector y copia su URL (
https://cloud.anythingmcp.com/mcp/…). Úsala donde esta guía muestraYOUR_SERVER_ID.
Cursor lee los servidores MCP de ~/.cursor/mcp.json. Añade esta entrada:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Crea una clave de API MCP en AnythingMCP en MCP Servers → tu servidor → API keys y pégala en lugar de
YOUR_MCP_API_KEY. - Guarda el archivo y reinicia Cursor.
- Abre Cursor → Settings → MCP y comprueba que
anythingmcpaparece en la lista y está conectado. - Empieza a chatear: el agente ya puede usar las herramientas de
Freshsales.
Herramientas disponibles
| Tool | What it does |
|---|---|
freshsales_list_owners | List the users of the Freshsales portal (id, name, email) |
freshsales_list_selector | List the values of a configuration picklist: territories, deal stages and pipelines, currencies, deal reasons and types, lead sources… |
freshsales_list_pipeline_stages | List the stages of one deal pipeline (id, name, position) |
freshsales_list_fields | List the fields of a module, including custom fields (internal name cf_..., label, type, choices) |
freshsales_list_views | List the saved views (filters) of contacts, accounts or deals, with their ids |
freshsales_list_contacts | List the contacts of a view, 25 per page by default, with sorting |
freshsales_get_contact | Get one contact with all fields, optionally embedding owner, accounts, deals, tasks, appointments, notes and sales activities |
freshsales_list_contact_activities | List the activity timeline of a contact: emails, calls, notes, field changes, web visits |
freshsales_create_contact | Create a contact |
freshsales_update_contact | Update a contact |
freshsales_upsert_contact | Create or update a contact matched by a unique field (usually the email): updates the existing contact, or creates it when none matches |
freshsales_list_accounts | List the accounts (companies) of a view, 25 per page by default |
freshsales_get_account | Get one account with all fields, optionally embedding owner, contacts, deals, tasks, appointments and notes |
freshsales_create_account | Create an account (company). name is required and must be unique |
freshsales_update_account | Update an account (company): name, address, owner, industry, custom fields |
freshsales_list_deals | List the deals of a view, 25 per page by default |
freshsales_get_deal | Get one deal with all fields, optionally embedding account, contacts, stage, pipeline, products, tasks and notes |
freshsales_create_deal | Create a deal. name and amount are required; link it to an account with sales_account_id and to contacts with contacts_added_list |
freshsales_update_deal | Update a deal: amount, stage (deal_stage_id moves it through the pipeline, including won and lost stages), close date, owner, linked… |
freshsales_create_note | Add a note to a contact, account or deal |
freshsales_update_note | Change the text of an existing note on a contact, account or deal |
freshsales_list_tasks | List tasks by status: open, due today, due tomorrow, overdue or completed |
freshsales_get_task | Get one task with its owner, collaborators and linked record |
freshsales_create_task | Create a task on a contact, account or deal. title, due_date, owner_id, targetable_type and targetable_id are required |
freshsales_update_task | Update a task: title, description, due date, owner, linked record or collaborators |
freshsales_complete_task | Mark a task as done (status completed) |
freshsales_list_appointments | List appointments (meetings), upcoming or past, with attendees and linked records |
freshsales_get_appointment | Get one appointment with its time, location, attendees and linked contact, account or deal |
freshsales_create_appointment | Schedule an appointment (meeting) with a contact, account or deal, with attendees. title, from_date and end_date are required |
freshsales_update_appointment | Reschedule or edit an appointment |
freshsales_list_sales_activities | List logged sales activities (calls, meetings, custom activity types), newest first |
freshsales_get_sales_activity | Get one logged sales activity with its type, outcome, times, notes and linked record |
freshsales_create_sales_activity | Log a sales activity (for example a call or visit) on a contact, account or deal. title, sales_activity_type_id, start_date, end_date… |
freshsales_search | Full-text search by name or email across contacts, accounts, deals and users |
freshsales_lookup | Exact-match lookup on one field: find contacts by email, or contacts, accounts or deals by name or a custom field value |
freshsales_filtered_search | Filter contacts, accounts or deals by field rules (exact matches, ranges, lists), e.g. contacts whose email is in a list |
freshsales_list_marketing_lists | List the marketing lists (static contact lists) with their ids |
freshsales_list_marketing_list_contacts | List the contacts of a marketing list, 25 per page by default |
freshsales_add_contacts_to_list | Add existing contacts to a marketing list by their contact ids |
freshsales_remove_contacts_from_list | Remove contacts from a marketing list |
Ejemplos de prompts
- "Busca el contacto [email protected] y muéstrame sus oportunidades abiertas y las últimas notas de su ficha."
- "Lista mis oportunidades abiertas con cierre previsto este mes, con importe y etapa."
- "Pasa la oportunidad Renovación Acme a la etapa Negociación y añade una nota de que la oferta está enviada."
- "¿Qué tareas mías están vencidas? Agrúpalas por cuenta vinculada."
- "Registra para hoy una llamada de 30 minutos con Tom Becker y crea una tarea de seguimiento para el martes que viene a las 10:00."
FAQ
¿Cursor admite servidores MCP personalizados en el plan gratuito? Sí, MCP está disponible en los planes Hobby, Pro y Business.
Siguientes pasos
- Página del conector
- Conectar a Claude
- Conectar a ChatGPT
- Conectar a Gemini
- Conectar a Meta Muse
- Conectar a Microsoft Copilot
¿Te ha sido útil esta guía?