---
title: "Built-in tools"
url: "/reference/built-in-tools"
description: "The tools an agent can be given, grouped by what they act on."
productArea: reference
audience: ["business-user", "developer"]
tags: ["tools"]
lastReviewed: 2026-08-21
---

# Built-in tools (/reference/built-in-tools)



{/* Generated by scripts/generate-references.ts from snapshots/klicforge-public.json. Do not edit by hand. */}

KlicForge ships 92 built-in [tools](/skills-and-tools/tools). Enable the ones an
agent may call on its **Tools** tab — an agent can only call tools you have explicitly enabled.

Which tools are available depends on your plan and on which integrations you have connected.
Tool calls do not consume extra allowance: a turn is
[one interaction](/reference/interaction-counting) no matter how many tools it uses.

### General [#general]

| ID                              | Name                     | What it does                                                                                                                                                       |
| ------------------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `sys-calculator`                | Calculator               | Perform mathematical calculations including addition, subtraction, multiplication, division, powers, and square roots                                              |
| `sys-get-search`                | Knowledge Search         | Search the agent knowledge base for factual information, documentation, policies, pricing, or business-specific details.                                           |
| `sys-get-weather-openmeteo`     | Get Weather (Open-Meteo) | Get current weather conditions using the free Open-Meteo API. Accepts a city name or latitude/longitude coordinates. No API key required.                          |
| `sys-get-weather-weatherapi`    | Get Weather (WeatherAPI) | Get current weather conditions using WeatherAPI. Accepts a city name or latitude/longitude. Requires a WeatherAPI key to be configured.                            |
| `sys-get-web-search-brave`      | Web Search (Brave)       | Search the web using Brave Search. Returns relevant results for the agent to synthesise. Requires a Brave Search key to be configured.                             |
| `sys-get-web-search-perplexity` | Web Search (Perplexity)  | Search the web using Perplexity Sonar via OpenRouter. Returns a synthesised, cited answer — ideal for research tasks. Requires an OpenRouter key to be configured. |

### Data tables [#data-tables]

| ID                                           | Name                                 | What it does                                                                                                                                                                |
| -------------------------------------------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tenant_data.add_field`                      | Data: Add Field                      | Add a new typed field (column) to an existing data collection.                                                                                                              |
| `tenant_data.aggregate_records`              | Data: Aggregate Records              | Compute count, sum, avg, min, or max aggregates over records in a data table.                                                                                               |
| `tenant_data.batch_insert_records`           | Data: Batch Insert Records           | Insert multiple records into a collection in one call (max 500). Use for data migration, imports, and bulk population.                                                      |
| `tenant_data.create_collection`              | Data: Create Collection              | Create a new data table (collection) for the tenant.                                                                                                                        |
| `tenant_data.create_record`                  | Data: Create Record                  | Create a new record in a data table. Requires create permission on the collection.                                                                                          |
| `tenant_data.delete_record`                  | Data: Delete Record                  | Soft-delete a record. Requires delete permission on the collection. Destructive action.                                                                                     |
| `tenant_data.describe_collection`            | Data: Describe Collection            | Get the field schema for a data table.                                                                                                                                      |
| `tenant_data.export_records`                 | Data: Export Records                 | Export all records from a collection to CSV, JSON, or XLSX. Returns a presigned download URL. Respects field-level permissions.                                             |
| `tenant_data.get_record`                     | Data: Get Record                     | Retrieve a single record by ID from a data table.                                                                                                                           |
| `tenant_data.import_records_from_attachment` | Data: Import Records From Attachment | Bulk-import records into a collection from an attached CSV/JSON/XLSX file of any size, auto-mapping columns to field slugs.                                                 |
| `tenant_data.list_collections`               | Data: List Collections               | List all data tables this agent has been granted access to.                                                                                                                 |
| `tenant_data.preview_import_file`            | Data: Preview Import File            | Parse an attached CSV/JSON/XLSX file and preview its columns, sample rows, and a proposed field schema before creating a new collection from it.                            |
| `tenant_data.reveal_field`                   | Data: Reveal Encrypted Field         | Reveal the full values of encrypted fields on one record. Requires "Allow reveal" on the collection's access policy; every field revealed is written to the data audit log. |
| `tenant_data.search_records`                 | Data: Search Records                 | Search and filter records in a data table with optional sorts and pagination.                                                                                               |
| `tenant_data.set_agent_permission`           | Data: Set Agent Permission           | Grant or update an agent's read/create/update/delete access on a data collection.                                                                                           |
| `tenant_data.update_collection`              | Data: Update Collection              | Rename a data table or update its description, icon, or color. Slug can't be changed.                                                                                       |
| `tenant_data.update_field`                   | Data: Update Field                   | Update a field's name, description, required flag, or select options.                                                                                                       |
| `tenant_data.update_record`                  | Data: Update Record                  | Update fields on an existing record. Requires update permission on the collection.                                                                                          |

### Assets [#assets]

| ID                                    | Name                                 | What it does                                                                                                                                                     |
| ------------------------------------- | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `assets.admin.archive`                | Assets Admin: Archive                | Archive an asset — hides it from active listings without deleting it.                                                                                            |
| `assets.admin.delete`                 | Assets Admin: Delete                 | Permanently delete an asset and revoke all agent access to it. Destructive.                                                                                      |
| `assets.admin.get`                    | Assets Admin: Get                    | Get full details for a single asset, including which agents have access.                                                                                         |
| `assets.admin.list_all`               | Assets Admin: List All               | List every asset in the tenant’s asset library, regardless of agent grants.                                                                                      |
| `assets.admin.remove_permission`      | Assets Admin: Remove Permission      | Revoke an agent’s access to an asset.                                                                                                                            |
| `assets.admin.set_permission`         | Assets Admin: Set Permission         | Grant or update an agent’s canRead/canSend access to an asset.                                                                                                   |
| `assets.admin.update`                 | Assets Admin: Update                 | Update an asset’s name, description, category, or tags.                                                                                                          |
| `assets.admin.upload_from_attachment` | Assets Admin: Upload From Attachment | Add a new asset to the tenant’s library from the current turn’s inbound chat attachment.                                                                         |
| `assets.create_signed_url`            | Assets: Create Signed URL            | Generate a short-lived (5-15 min) signed URL for an assigned asset.                                                                                              |
| `assets.get_metadata`                 | Assets: Get Metadata                 | Get metadata for a single assigned asset.                                                                                                                        |
| `assets.list`                         | Assets: List                         | List the private files/media this agent has been granted access to. Excludes images the agent generated during conversations — use Assets: Search to find those. |
| `assets.persist_upload`               | Assets: Persist Inbound Attachment   | Persist the current inbound chat attachment (e.g. a payment-proof screenshot) as a durable asset.                                                                |
| `assets.search`                       | Assets: Search                       | Search assigned assets by name, description, tags, category, or MIME type. Also finds images generated earlier for the same person.                              |
| `assets.send_asset`                   | Assets: Send Asset                   | Send an assigned asset directly to the user through the current channel.                                                                                         |

### Email [#email]

| ID                  | Name                   | What it does                                                                    |
| ------------------- | ---------------------- | ------------------------------------------------------------------------------- |
| `email.addLabel`    | Email: Add Label       | Add one or more labels to an email message.                                     |
| `email.archive`     | Email: Archive Message | Archive an email message (removes from inbox without deleting).                 |
| `email.createDraft` | Email: Create Draft    | Create an email draft without sending it.                                       |
| `email.listDrafts`  | Email: List Drafts     | List email drafts in the mailbox.                                               |
| `email.listLabels`  | Email: List Labels     | List all Gmail labels (system and user-created).                                |
| `email.read`        | Email: Read Message    | Fetch the full content of an email message including body and attachments list. |
| `email.removeLabel` | Email: Remove Label    | Remove one or more labels from an email message.                                |
| `email.search`      | Email: Search Messages | Search for email messages using Gmail query syntax.                             |
| `email.send`        | Email: Send Message    | Compose and send an email immediately.                                          |
| `email.sendDraft`   | Email: Send Draft      | Send an existing draft.                                                         |
| `email.updateDraft` | Email: Update Draft    | Update an existing email draft with new content.                                |

### Contacts [#contacts]

| ID                                     | Name                                    | What it does                                                                               |
| -------------------------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------ |
| `contacts.admin.create`                | Contacts Admin: Create                  | Create a new contact record within the current tenant.                                     |
| `contacts.admin.delete`                | Contacts Admin: Delete                  | Permanently delete a contact and its conversations within the current tenant. Destructive. |
| `contacts.admin.get`                   | Contacts Admin: Get                     | Retrieve a single contact record by ID within the current tenant.                          |
| `contacts.admin.linkChannelIdentity`   | Contacts Admin: Link Channel Identity   | Set a channel identity (telegramId, telegramHandle, phone, authUserId) on a contact.       |
| `contacts.admin.merge`                 | Contacts Admin: Merge                   | Merge duplicate contacts into a single surviving contact. Destructive.                     |
| `contacts.admin.search`                | Contacts Admin: Search                  | Search contacts within the current tenant.                                                 |
| `contacts.admin.unlinkChannelIdentity` | Contacts Admin: Unlink Channel Identity | Clear a channel identity from a contact's record.                                          |
| `contacts.admin.update`                | Contacts Admin: Update                  | Update fields on an existing contact within the current tenant.                            |
| `contacts.me.delete`                   | My Contact: Delete                      | Anonymize the current user's own contact details. Conversation history is preserved.       |
| `contacts.me.get`                      | My Contact: Get                         | Retrieve the current user's own contact details. Never accepts a contact ID.               |
| `contacts.me.update`                   | My Contact: Update                      | Update the current user's own contact details (self-editable fields only).                 |

### WhatsApp [#whatsapp]

| ID                                  | Name                               | What it does                                                                    |
| ----------------------------------- | ---------------------------------- | ------------------------------------------------------------------------------- |
| `whatsapp.create_reply_draft`       | WhatsApp: Create Reply Draft       | Draft a reply for human review before sending (draft\_replies mode).            |
| `whatsapp.escalate_to_human`        | WhatsApp: Escalate to Human        | Flag the conversation for human review (refunds, complaints, complex requests). |
| `whatsapp.get_conversation`         | WhatsApp: Get Conversation         | Get the current WhatsApp conversation context.                                  |
| `whatsapp.list_available_templates` | WhatsApp: List Available Templates | List Meta-approved WhatsApp templates this agent may send.                      |
| `whatsapp.list_messages`            | WhatsApp: List Messages            | List recent inbound and outbound WhatsApp messages for this connection.         |
| `whatsapp.mark_conversation_status` | WhatsApp: Mark Conversation Status | Mark a WhatsApp conversation as resolved or open.                               |
| `whatsapp.send_message`             | WhatsApp: Send Message             | Send a text message to the customer via WhatsApp (auto\_reply mode).            |
| `whatsapp.send_template`            | WhatsApp: Send Template            | Send a Meta-approved WhatsApp template message (bypasses the 24-hour window).   |

### Knowledge [#knowledge]

| ID                                     | Name                                  | What it does                                                                                                                                            |
| -------------------------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `knowledge_base.create_source`         | Knowledge Base: Create Source         | Create a new knowledge base source with a name, description, and optional initial content.                                                              |
| `knowledge_base.delete_source`         | Knowledge Base: Delete Source         | Permanently delete a knowledge base source. Destructive — confirm before calling.                                                                       |
| `knowledge_base.get_original_document` | Knowledge Base: Get Original Document | Get a short-lived download link for the original uploaded file behind a knowledge source — a separate, always-checked authorization from search access. |
| `knowledge_base.get_source`            | Knowledge Base: Get Source            | Get full details of a knowledge source by ID, including its current content.                                                                            |
| `knowledge_base.list_sources`          | Knowledge Base: List Sources          | List all knowledge base sources for this tenant with their IDs, names, types, and embedding status.                                                     |
| `knowledge_base.reindex_source`        | Knowledge Base: Reindex Source        | Trigger background vector re-indexing for a knowledge source.                                                                                           |
| `knowledge_base.update_source`         | Knowledge Base: Update Source         | Replace the content of a knowledge base source and trigger reindexing.                                                                                  |

### DocuWare [#docuware]

| ID                             | Name                          | What it does                                                                          |
| ------------------------------ | ----------------------------- | ------------------------------------------------------------------------------------- |
| `docuware.download_document`   | DocuWare: Download Document   | Download the content of a DocuWare document as base64. Limited to 10 MB.              |
| `docuware.get_document`        | DocuWare: Get Document        | Retrieve metadata and index fields for a specific DocuWare document.                  |
| `docuware.list_file_cabinets`  | DocuWare: List File Cabinets  | List all available DocuWare file cabinets in the organization.                        |
| `docuware.search_documents`    | DocuWare: Search Documents    | Full-text and index-field search for documents within a DocuWare file cabinet.        |
| `docuware.trigger_workflow`    | DocuWare: Trigger Workflow    | Trigger a DocuWare workflow for a specific document.                                  |
| `docuware.update_index_fields` | DocuWare: Update Index Fields | Update index field values on an existing DocuWare document.                           |
| `docuware.upload_document`     | DocuWare: Upload Document     | Upload a new document (base64) to a DocuWare file cabinet with optional index fields. |

### Scheduling [#scheduling]

| ID                                 | Name                                   | What it does                                                                                     |
| ---------------------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `scheduling.cancel_scheduled_task` | Scheduled Tasks: Cancel Scheduled Task | Permanently cancel a scheduled task so it no longer executes.                                    |
| `scheduling.create_scheduled_task` | Scheduled Tasks: Create Scheduled Task | Create a one-time or recurring scheduled task, reminder, or follow-up for this agent.            |
| `scheduling.list_scheduled_tasks`  | Scheduled Tasks: List Scheduled Tasks  | List scheduled tasks for this agent, optionally filtered by status.                              |
| `scheduling.pause_scheduled_task`  | Scheduled Tasks: Pause Scheduled Task  | Temporarily pause a scheduled task without deleting it.                                          |
| `scheduling.resume_scheduled_task` | Scheduled Tasks: Resume Scheduled Task | Resume a paused scheduled task from the next computed run time.                                  |
| `scheduling.update_scheduled_task` | Scheduled Tasks: Update Scheduled Task | Update the title, time, recurrence rule, timezone, or instruction of an existing scheduled task. |

### Images [#images]

| ID               | Name           | What it does                                                                                                                                                                                                                                                                                                      |
| ---------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `image.generate` | Generate Image | Generate an image from a text prompt, optionally guided by reference photos (product\_image, person\_image, style\_reference, background\_reference, composition\_reference, brand\_reference, reference\_image). Works for text-to-image and image-to-image. Uses the agent's configured image generation model. |

### Human handoff [#human-handoff]

| ID                          | Name                       | What it does                                                                                                                                                                                |
| --------------------------- | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `handoff.escalate_to_human` | Escalate to Human Operator | Notify the assigned human operator (a tenant member) via their connected Telegram that this conversation needs human attention. Auto-attached when the agent has Escalate to Human enabled. |

### Date & time [#date--time]

| ID                               | Name                  | What it does                                                                                                                             |
| -------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `datetime.resolve_relative_date` | Resolve Relative Date | Resolve an open-ended relative date, e.g. "the second Tuesday of next month", "in 10 business days", or "the last Friday of next month". |

### Memory [#memory]

| ID              | Name          | What it does                                                                                                                                                                                                      |
| --------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `memory.search` | Search Memory | Recall what the agent remembers about this contact from past conversations — appointments, errands, past orders, and anything not in the always-on profile. Results are dated and marked past, upcoming or stale. |

## Related pages [#related-pages]

* [Tools](/skills-and-tools/tools)
* [Skills](/skills-and-tools)
