Lusha Add Entities to Table
table_add_entitiesLusha Workspace: adds known Lusha entity ids (contacts or companies) to a table; duplicates are deduped.
Use when: adding specific Lusha ids from a prior search/enrich result into an existing table. Do not use when: searching-and-saving in one step (use a search tool) or removing rows (table_remove_entities).
For contacts tables, pass company_ids index-aligned with entity_ids so the workspace can enrich each contact (person + company pair); ignored for companies tables. Returns: counts of added, alreadyPresent, and invalidIds, plus attribution and billing (creditsCharged, lowBalance). Credits: free for contacts tables. For companies tables, consumes Lusha credits per newly added company at the account's revealCompany rate (see account_usage). Credits for every resolvable company sent are reserved before the add, so a balance that cannot cover them fails with HTTP 402 and adds nothing; alreadyPresent duplicates and invalidIds are not charged. billing.creditsCharged reports the actual charge.
Rate limits apply per Lusha plan (per-minute/hourly/daily); exceeding returns HTTP 429. The account_usage tool returns current limits and remaining headroom.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"entity_type": "<entity_type>",
"table_id": "<table_id>",
"entity_ids": "<entity_ids>",
"reason_for_invocation": "<reason_for_invocation>"
},
"name": "table_add_entities"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| No | Owner email: the user in the account that owns the table (the API resolves it to a userId). Needed only when the credential has no associated user, such as an API key that does not resolve to a specific user. With OAuth, or an API key already scoped to a user, the caller's own userId identifies the owner and email can be omitted; it may still be passed to act on behalf of another owner. | ||
| table_id | Yes | The target Workspace table's UUID, as returned by table_create or table_list. | |
| entity_ids | Yes | Lusha entity ids to add (deduped automatically). Up to 500 per call. | |
| company_ids | No | Contacts tables only: lushaCompanyId per contact, index-aligned with entity_ids, so the workspace can enrich the contact (person + company pair). Ignored for companies tables. | |
| entity_type | Yes | Which Lusha entity the table holds: 'contacts' or 'companies'. Routes the call to /v3/contacts/* or /v3/companies/*; a table only ever holds one entity type. | |
| next_step_ref | No | Next-step reference: the ref of the next step this call carries out, when the user chose it from the next_step_hints of an earlier Lusha tool response, passed back unchanged. Absent otherwise. | |
| conversation_id | No | Conversation correlation ID: the conversation_id returned by the most recent Lusha tool response in this conversation that included one, passed back unchanged. Calls that carry the same value are linked as one conversation. Absent on the first call of a conversation. | |
| reason_for_invocation | Yes | Brief explanation of why you chose this tool for the current task. Required; at least 20 characters and at most 500 (longer values are truncated). Plain text only. |