# Wiwink MCP connector

The Wiwink connector lets Claude, ChatGPT, Cursor and other AI clients look up, create and update contacts, lead sources and pipeline statuses in Wiwink, with every call running under the signed-in person's own access and recorded in an audit log.

Source: https://elaichi.ai/connectors/wiwink/

## Facts

| | |
| --- | --- |
| Application | Wiwink |
| Category | CRM |
| AI tools | 100 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 100 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Wiwink is connected

- List Wiwink contacts created this week by source.
- Which Wiwink sources brought the most contacts last month?
- Update the Wiwink contact for Acme with a new state.

## Connect Wiwink in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Wiwink.
2. Optionally set Share with, then press Connect.
3. Paste a Wiwink API key. One person generates a token in Wiwink and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Wiwink tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Wiwink to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Wiwink to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Wiwink to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Wiwink to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Wiwink tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Wiwink through Elaichi

### Catch a contact up after a call

Sales. Ask the agent to find the contact you just spoke to in Wiwink, update their details and move their status to the next stage, all in one request.

### Find every contact stuck at one stage

Sales. Pull a list of Wiwink contacts sitting at a given status and ask which ones have not moved, so you know who to chase before the week ends.

### See which sources bring real contacts

Marketing. List the lead sources set up in Wiwink and ask for the contacts that came in through each one, so campaign spend can be compared against what actually landed in the CRM.

### Add a new campaign source in seconds

Marketing. When a new campaign, event or partner starts sending leads, ask the agent to create the source in Wiwink so contacts are tagged correctly from day one.

### Tidy pipeline statuses without clicking through

Sales operations. Rename, add or retire the statuses your team uses in Wiwink by describing the change, and keep contact statuses consistent as the sales process evolves.

### Check a customer's record before a renewal

Customer success. Look up a customer's contact record in Wiwink, see their current status and source, and correct anything out of date before the renewal conversation.

## Frequently asked questions

### How do I connect Wiwink to Claude?

First, connect Wiwink in Elaichi by pasting in your Wiwink API key. There is no OAuth application to register and no client ID or secret to generate. Then open Claude, go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the address. Claude asks you to sign in to Elaichi as yourself, and from then on Wiwink is available in your conversations.

### Does Wiwink work with ChatGPT and Cursor as well as Claude?

Yes. Once Wiwink is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Wiwink once and every client picks it up, so there is nothing to set up again per tool.

### What can an AI agent actually do with my Wiwink data?

With Wiwink connected, an agent can look up contacts, create new ones, update their details and change their status, as well as list, add and edit the lead sources and pipeline statuses your team uses. It can also look up the countries and states Wiwink recognizes when filling in a contact's address. Because Wiwink offers many actions, short concrete asks such as "move this contact to Qualified" work better than long paragraphs.

### Does connecting Wiwink give the AI access to my whole CRM?

No. Every call to Wiwink runs under the access of the person who signed in, so the agent sees and changes only what that person could see and change in Wiwink themselves. Elaichi can narrow that further with restrictions per team or per action, but it can never widen what someone is allowed to do in Wiwink.

### Can my team share one Wiwink connection?

Yes. One person connects Wiwink with the API key and shares the connection with a team in Elaichi, and nobody else on the team ever handles or sees that key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person behind every contact update or status change in Wiwink.

### Can I stop an agent from deleting or changing things in Wiwink?

Yes. In Elaichi you can restrict individual actions on the Wiwink connector, for example allowing contacts to be read and updated but blocking deletion of contacts, sources or statuses. A blocked action is never advertised to Claude, ChatGPT, Cursor or any other client, so no prompt, accidental or otherwise, can reach it.

### What happens to a Wiwink connection when someone leaves the company?

When you offboard someone in Elaichi, their access to Wiwink through every AI client ends at once. If they were using a shared Wiwink connection, it keeps working for everyone else on the team. If you ever want to remove Wiwink entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 100 Wiwink tools

Every tool below is callable through https://api.elaichi.ai/mcp once Wiwink is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Wiwink countries** (List). List countries in wiwink. Returns: id, name, iso. Optionally filter results by name or ISO code, or include related states by passing 'states' via the with[] parameter.
- **Get single Wiwink country by ID** (Get). Get a single wiwink country by id. Returns: id, name, iso. Optionally include related states via the with[] parameter. Required: id.
- **List all Wiwink states** (List). List states in wiwink. Returns: id, country_id, name for each state. Optionally filter by country_id or name, and include the related country object by passing 'country' via with[].
- **Get single Wiwink state by ID** (Get). Get a single wiwink state by id. Returns: id, country_id, name. Optionally include the related country object via with[]. Required: id.
- **List all Wiwink sources** (List). List all lead sources in wiwink. Returns: id, name, color, owned per source. Optionally filter results by name.
- **Get single Wiwink source by ID** (Get). Get a single wiwink lead source by id. Returns: id, name, color, owned. Required: id.
- **Create a Wiwink source** (Create). Create a new lead source in wiwink. Returns: id, name, color, owned of the created source. Required: name, color.
- **Update a Wiwink source by ID** (Update). Update an existing wiwink lead source by id. Returns: id, name, color, owned of the updated source. Required: id.
- **Delete a Wiwink source by ID** (Delete). Delete a wiwink lead source by id. Returns an empty 204 response on success. Required: id.
- **List all Wiwink contacts** (List). List wiwink contacts with optional field-level filters. Returns: id, status_id, source_id, corporate_name, trade_name, email, phone, vat, iban, bic, date.
- **Get single Wiwink contact by ID** (Get). Get a single wiwink contact by id. Returns: id, status_id, source_id, name, corporate_name, trade_name, email, phone, city, zipcode, body, date. Required: id.
- **Create a Wiwink contact** (Create). Create a new contact in wiwink. Returns: id, status_id, source_id, name, employment, office, corporate_name, trade_name, email, phone, vat, description, date, extra_fields. Required: name.
- **Update a Wiwink contact by ID** (Update). Update an existing wiwink contact by id. Returns: id, status_id, source_id, corporate_name, trade_name, email, phone, vat, iban, bic, date. Required: id.
- **Delete a Wiwink contact by ID** (Delete). Delete a wiwink contact by id. Returns an empty 204 response on success. Required: id.
- **List all Wiwink statuses** (List). List work statuses in wiwink. Returns: id, name, color, owned. Optionally filter results by name.
- **Get single Wiwink status by ID** (Get). Get a single wiwink work status by id. Returns: id, name, color, owned. Required: id.
- **Create a Wiwink status** (Create). Create a new work status in wiwink. Returns: id, name, color, owned. Required: name, color.
- **Update a Wiwink status by ID** (Update). Update an existing work status in wiwink. Returns: id, name, color, owned. Required: id.
- **Delete a Wiwink status by ID** (Delete). Delete a work status in wiwink by id. Returns an empty 204 response on success. Required: id.
- **Delete a Wiwink contact status by ID** (Delete). Delete a contact status in wiwink by id. Returns an empty 204 response on success. Required: id.
- **List all Wiwink contact statuses** (List). List all contact statuses in wiwink. Returns: id, name, color, owned. Optionally filter results by name.
- **Get single Wiwink contact status by ID** (Get). Get a single contact status in wiwink by id. Returns: id, name, color, owned. Required: id.
- **Create a Wiwink contact status** (Create). Create a new contact status in wiwink. Returns: id, name, color, owned.
- **Update a Wiwink contact status by ID** (Update). Update an existing contact status in wiwink by id. Returns: id, name, color, owned. Required: id.
- **List all Wiwink forms** (List). List wiwink forms, optionally filtered by contact, source, body, or office. Returns: id, status_id, source_id, name, date, phone, email, address, city, and body.
- **Get single Wiwink form by ID** (Get). Get a single wiwink form by id. Returns: id, status_id, source_id, name, date, phone, email, address, city, and body. Required: id.
- **Create a Wiwink form** (Create). Create a new wiwink form linked to an existing contact. Returns: id, status_id, source_id, name, date, phone, email, address, city, and body. Required: contact_id.
- **Update a Wiwink form by ID** (Update). Update an existing wiwink form by id. Returns: id, status_id, source_id, name, date, phone, email, address, city, and body. Required: id.
- **Delete a Wiwink form by ID** (Delete). Delete a wiwink form by id. Returns an empty 204 response on success. Required: id.
- **List all Wiwink customers** (List). List wiwink customers with optional filters by status, source, email, phone, date range, and more. Returns: id, corporate_name, email, phone, status_id, source_id, date.
- **Get single Wiwink customer by ID** (Get). Get a single wiwink customer by id. Returns: id, corporate_name, email, phone, status_id, source_id, country_id, state_id, date. Required: id.
- **Create a Wiwink customer** (Create). Create a new wiwink customer. Returns: id, corporate_name, email, phone, status_id, source_id, date. Required: corporate_name.
- **Update a Wiwink customer by ID** (Update). Update an existing wiwink customer by id. Returns: id, corporate_name, email, phone, status_id, source_id, date. Required: id.
- **Delete a Wiwink customer by ID** (Delete). Delete a wiwink customer by id. Returns an empty 204 response on success. Required: id.
- **List all Wiwink customer statuses** (List). List customer statuses in wiwink. Returns: id, name, color, owned. Optionally filter results by name.
- **Get single Wiwink customer status by ID** (Get). Get a single customer status by id in wiwink. Returns: id, name, color, owned. Required: id.
- **Create a Wiwink customer status** (Create). Create a new customer status in wiwink. Returns: id, name, color, owned.
- **Update a Wiwink customer status by ID** (Update). Update an existing customer status by id in wiwink. Returns: id, name, color, owned. Required: id.
- **Delete a Wiwink customer status by ID** (Delete). Delete a customer status by id in wiwink. Returns an empty 204 response on success. Required: id.
- **List all Wiwink products** (List). List wiwink products, optionally filtered by name or retail price range. Returns: id, name, tax_percent, price_retail, price_retail_final, price_reduced, price_reduced_final, price_cost, price_cost_final, excerpt, description, reference, code_ean13, code_upc, and code_isbn.
- **Get single Wiwink product by ID** (Get). Get a single wiwink product by id. Returns the full product record including id, name, tax_percent, price_retail, price_retail_final, price_reduced, price_reduced_final, price_cost, price_cost_final, excerpt, description, reference, code_ean13, code_upc, and code_isbn. Required: id.
- **Create a Wiwink product** (Create). Create a new product in wiwink. Returns the created product including id, name, tax_percent, price_retail, price_retail_final, price_reduced, price_reduced_final, price_cost, price_cost_final, excerpt, description, reference, and product codes. Required: name.
- **Update a Wiwink product by ID** (Update). Update an existing wiwink product by id. Returns the updated product including id, name, tax_percent, price_retail, price_retail_final, price_reduced, price_reduced_final, price_cost, price_cost_final, excerpt, description, reference, and product codes. Required: id.
- **Delete a Wiwink product by ID** (Delete). Delete a wiwink product by id. Returns an empty 204 response on success. Required: id.
- **List all Wiwink proposals** (List). List proposals in wiwink. Returns: id, customer_id, status_id, full_number, date, sub_amount, discount_amount, taxable_amount, tax_amount, full_amount, prefix, suffix, number, comments. Optionally filter by customer_id[], status_id[], or date range (since/until); sort by number or date.
- **Get single Wiwink proposal by ID** (Get). Get a single wiwink proposal by id. Returns: id, customer_id, status_id, full_number, date, sub_amount, discount_amount, taxable_amount, tax_amount, full_amount, prefix, suffix, number, comments. Required: id.
- **Create a Wiwink proposal** (Create). Create a new proposal in wiwink. Returns: id, customer_id, status_id, full_number, date, sub_amount, discount_amount, taxable_amount, tax_amount, full_amount, prefix, suffix, number, comments. Required: customer_id.
- **Update a Wiwink proposal by ID** (Update). Update an existing wiwink proposal by id. Returns: id, customer_id, status_id, full_number, date, sub_amount, discount_amount, taxable_amount, tax_amount, full_amount, prefix, suffix, number, comments. Required: id.
- **Delete a Wiwink proposal by ID** (Delete). Delete a wiwink proposal by id. Returns an empty 204 response on success. Required: id.
- **Create a Wiwink proposal product** (Create). Create a proposal product in wiwink. Returns: id, proposal_id, name, quantity, price, sub_amount, discount_amount, taxable_amount, tax_percent, tax_amount, full_amount. Required: proposal_id, name, price.
- **Update a Wiwink proposal product by ID** (Update). Update a proposal product in wiwink by id. Returns: id, proposal_id, name, quantity, price, sub_amount, discount_amount, taxable_amount, tax_percent, tax_amount, full_amount. Required: id.
- **Delete a Wiwink proposal product by ID** (Delete). Delete a proposal product in wiwink by id. Returns an empty 204 response on success. Required: id.
- **List all Wiwink proposal statuses** (List). List proposal statuses in wiwink. Returns: id, name, color, owned per status record. Optionally filter results by name.
- **Get single Wiwink proposal status by ID** (Get). Get a single proposal status by id in wiwink. Returns: id, name, color, owned. Required: id.
- **Update a Wiwink proposal status by ID** (Update). Update a proposal status by id in wiwink. Returns the updated status including id, name, color, and owned. Required: id.
- **Delete a Wiwink proposal status by ID** (Delete). Delete a proposal status by id in wiwink. Returns an empty 204 response on success. Required: id.
- **Create a Wiwink proposal status** (Create). Create a new proposal status in wiwink. Returns the created status including id, name, color, and owned. Required: name.
- **List all Wiwink installers** (List). List installers in wiwink. Returns: id, name, email, phone, corporate_name, country_id, state_id, address, zipcode, city. Supports optional filters by name, email, phone, city, zipcode, address, corporate_name, country_id, and state_id.
- **Get single Wiwink installer by ID** (Get). Get a single wiwink installer by id. Returns: id, name, email, phone, corporate_name, country_id, state_id, address, zipcode, city. Required: id.
- **Create a Wiwink installer** (Create). Create a new installer in wiwink. Returns: id, name, email, phone, corporate_name, country_id, state_id, address, zipcode, city. Required: name.
- **Update a Wiwink installer by ID** (Update). Update an existing wiwink installer by id. Returns: id, name, email, phone, corporate_name, country_id, state_id, address, zipcode, city. Required: id.
- **Delete a Wiwink installer by ID** (Delete). Delete a wiwink installer by id. Returns an empty 204 response on success. Required: id.
- **Get single Wiwink account by ID** (Get). Get the remaining works available on the wiwink account. Returns: works (the remaining works count as an integer).
- **List all Wiwink works** (List). List works in wiwink. Returns: id, customer_id, status_id, number, full_number, from, to, sub_amount, tax_amount, full_amount, and comments per record. Supports filtering by customer, status, and type ids, date range (since/until), sideloading relations (with[]), and sorting by number or from.
- **Get single Wiwink work by ID** (Get). Get a single wiwink work by id. Returns: id, customer_id, status_id, number, full_number, from, to, sub_amount, tax_amount, full_amount, and comments. Optionally sideload relations via with[]. Required: id.
- **Create a Wiwink work** (Create). Create a new work in wiwink. Returns the created work including id, customer_id, status_id, number, full_number, from, to, sub_amount, tax_amount, full_amount, and comments. Required: customer_id.
- **Update a Wiwink work by ID** (Update). Update an existing wiwink work by id. Returns the updated work including id, customer_id, status_id, number, full_number, from, to, sub_amount, tax_amount, full_amount, and comments. Required: id.
- **Delete a Wiwink work by ID** (Delete). Delete a wiwink work by id. Returns an empty 204 response on success. Required: id.
- **Create a Wiwink work installer** (Create). Sync installers for a wiwink work, replacing the current installer assignment. Returns the updated work object including id, customer_id, status_id, number, full_number, from, to, sub_amount, tax_amount, full_amount, and the synced installers array. Required: work_id.
- **Create a Wiwink work product** (Create). Create a work product in Wiwink linked to an existing work. Returns: id, work_id, name, price, sub_amount, taxable_amount, tax_percent, tax_amount, full_amount. Required: work_id, name, price.
- **Update a Wiwink work product by ID** (Update). Update an existing work product in Wiwink by id. Returns the updated product including id, work_id, name, price, sub_amount, taxable_amount, tax_percent, tax_amount, and full_amount. Required: id.
- **Delete a Wiwink work product by ID** (Delete). Delete a work product in Wiwink by id. Returns an empty 204 response on success. Required: id.
- **Get single Wiwink works status by ID** (Get). Get a single work status by id in wiwink. Returns: id, name, color, owned. Required: id.
- **List all Wiwink works types** (List). List work types in wiwink, optionally filtered by name. Returns: id, name.
- **Update a Wiwink works type by ID** (Update). Update a work type in wiwink by id. Returns: id, name. Required: id.
- **Get single Wiwink type by ID** (Get). Get a wiwink work type by id. Returns: id, name. Required: id.
- **Create a Wiwink type** (Create). Create a new work type in wiwink. Returns: id, name. Required: name.
- **Delete a Wiwink type by ID** (Delete). Delete a wiwink work type by id. Returns an empty 204 response on success. Required: id.
- **Get single Wiwink signature by ID** (Get). Get a single wiwink signature by id. Returns: id, uuid, type, send_by, send_from, sent_at, completed_at, cancelled_at, and document. Required: id.
- **List all Wiwink signatures** (List). List wiwink signatures with optional filters by type, send method, sender address, or date range. Returns: id, uuid, type, send_by, send_from, sent_at, completed_at, cancelled_at, and document per record.
- **Create a Wiwink signature** (Create). Create a new wiwink signature. Returns: id, uuid, type, send_by, send_from, sent_at, completed_at, cancelled_at, and document. Required: type, send_by.
- **Delete a Wiwink signature by ID** (Delete). Cancel a wiwink signature by id. Returns the cancelled signature including id, uuid, type, send_by, sent_at, cancelled_at, and document. Required: id. Only signatures that have been sent and not yet completed can be cancelled.
- **Create a Wiwink signer** (Create). Create a signer for a wiwink signature. Returns: id, signature_id, uuid, send_to, verify_to, and configuration. Required: signature_id, send_to.
- **Create a Wiwink certification** (Create). Upload a PDF document for certification in wiwink. Sends the raw binary PDF content to the certifications endpoint. Returns an empty 204 response on success. Required: RAW_BODY.
- **List all Wiwink work statuses** (List). List all work statuses in Wiwink. Returns: id, name.
- **Get single Wiwink work status by ID** (Get). Get a single work status by id in Wiwink. Returns: id, name. Required: id.
- **Create a Wiwink work status** (Create). Create a new work status in Wiwink. Returns: id, name. Required: name.
- **Update a Wiwink work status by ID** (Update). Update an existing work status by id in Wiwink. Returns: id, name. Required: id.
- **Delete a Wiwink work status by ID** (Delete). Delete a work status by id in Wiwink. Returns an empty 204 response on success. Required: id.
- **List all Wiwink work types** (List). List work types in wiwink. Returns: id, name. Optionally filter by name.
- **Get single Wiwink work type by ID** (Get). Get a single wiwink work type by id. Returns: id, name. Required: id.
- **Create a Wiwink work type** (Create). Create a new work type in wiwink. Returns: id, name. Required: name.
- **Update a Wiwink work type by ID** (Update). Update a wiwink work type by id. Returns: id, name. Required: id.
- **Delete a Wiwink work type by ID** (Delete). Delete a wiwink work type by id. Returns an empty 204 response on success. Required: id.
- **Create a Wiwink signature document** (Create). Upload a raw document file to an existing wiwink signature. Returns the updated signature object including id, uuid, type, send_by, send_from, and document metadata (size, crc32, md5, sha1). Required: signature_id.
- **Create a Wiwink signature send** (Create). Send a wiwink signature request by its ID. Returns the sent signature object including id, uuid, type, send_by, send_from, sent_at, completed_at, cancelled_at, and document checksum data (size, crc32, md5, sha1). Required: signature_id. Only signatures that already have a document and signers attached can be sent.
- **Create a Wiwink signature cancellation** (Create). Cancel a wiwink signature by its ID. Returns the updated signature object including id, uuid, type, send_by, send_from, sent_at, completed_at, cancelled_at, and document details. Required: signature_id.
- **Get single Wiwink signature account by ID** (Get). Get the wiwink signature account settings. Returns: id, uuid, type, send_by, send_from, sent_at, completed_at, cancelled_at, document.
- **Get single Wiwink work account by ID** (Get). Get the work account record in wiwink. Returns the account data object; the full set of account-level fields is not enumerated in the available source documentation. Returns: id, attributes.
- **Get single Wiwink certification account by ID** (Get). Get the wiwink account certification summary. Returns: certifications (the total number of certifications available on the account).
