KlicForge Docs
Reference

Built-in tools

The tools an agent can be given, grouped by what they act on.

KlicForge ships 92 built-in 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 no matter how many tools it uses.

General

IDNameWhat it does
sys-calculatorCalculatorPerform mathematical calculations including addition, subtraction, multiplication, division, powers, and square roots
sys-get-searchKnowledge SearchSearch the agent knowledge base for factual information, documentation, policies, pricing, or business-specific details.
sys-get-weather-openmeteoGet 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-weatherapiGet 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-braveWeb 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-perplexityWeb 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

IDNameWhat it does
tenant_data.add_fieldData: Add FieldAdd a new typed field (column) to an existing data collection.
tenant_data.aggregate_recordsData: Aggregate RecordsCompute count, sum, avg, min, or max aggregates over records in a data table.
tenant_data.batch_insert_recordsData: Batch Insert RecordsInsert multiple records into a collection in one call (max 500). Use for data migration, imports, and bulk population.
tenant_data.create_collectionData: Create CollectionCreate a new data table (collection) for the tenant.
tenant_data.create_recordData: Create RecordCreate a new record in a data table. Requires create permission on the collection.
tenant_data.delete_recordData: Delete RecordSoft-delete a record. Requires delete permission on the collection. Destructive action.
tenant_data.describe_collectionData: Describe CollectionGet the field schema for a data table.
tenant_data.export_recordsData: Export RecordsExport all records from a collection to CSV, JSON, or XLSX. Returns a presigned download URL. Respects field-level permissions.
tenant_data.get_recordData: Get RecordRetrieve a single record by ID from a data table.
tenant_data.import_records_from_attachmentData: Import Records From AttachmentBulk-import records into a collection from an attached CSV/JSON/XLSX file of any size, auto-mapping columns to field slugs.
tenant_data.list_collectionsData: List CollectionsList all data tables this agent has been granted access to.
tenant_data.preview_import_fileData: Preview Import FileParse 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_fieldData: Reveal Encrypted FieldReveal 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_recordsData: Search RecordsSearch and filter records in a data table with optional sorts and pagination.
tenant_data.set_agent_permissionData: Set Agent PermissionGrant or update an agent's read/create/update/delete access on a data collection.
tenant_data.update_collectionData: Update CollectionRename a data table or update its description, icon, or color. Slug can't be changed.
tenant_data.update_fieldData: Update FieldUpdate a field's name, description, required flag, or select options.
tenant_data.update_recordData: Update RecordUpdate fields on an existing record. Requires update permission on the collection.

Assets

IDNameWhat it does
assets.admin.archiveAssets Admin: ArchiveArchive an asset — hides it from active listings without deleting it.
assets.admin.deleteAssets Admin: DeletePermanently delete an asset and revoke all agent access to it. Destructive.
assets.admin.getAssets Admin: GetGet full details for a single asset, including which agents have access.
assets.admin.list_allAssets Admin: List AllList every asset in the tenant’s asset library, regardless of agent grants.
assets.admin.remove_permissionAssets Admin: Remove PermissionRevoke an agent’s access to an asset.
assets.admin.set_permissionAssets Admin: Set PermissionGrant or update an agent’s canRead/canSend access to an asset.
assets.admin.updateAssets Admin: UpdateUpdate an asset’s name, description, category, or tags.
assets.admin.upload_from_attachmentAssets Admin: Upload From AttachmentAdd a new asset to the tenant’s library from the current turn’s inbound chat attachment.
assets.create_signed_urlAssets: Create Signed URLGenerate a short-lived (5-15 min) signed URL for an assigned asset.
assets.get_metadataAssets: Get MetadataGet metadata for a single assigned asset.
assets.listAssets: ListList 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_uploadAssets: Persist Inbound AttachmentPersist the current inbound chat attachment (e.g. a payment-proof screenshot) as a durable asset.
assets.searchAssets: SearchSearch assigned assets by name, description, tags, category, or MIME type. Also finds images generated earlier for the same person.
assets.send_assetAssets: Send AssetSend an assigned asset directly to the user through the current channel.

Email

IDNameWhat it does
email.addLabelEmail: Add LabelAdd one or more labels to an email message.
email.archiveEmail: Archive MessageArchive an email message (removes from inbox without deleting).
email.createDraftEmail: Create DraftCreate an email draft without sending it.
email.listDraftsEmail: List DraftsList email drafts in the mailbox.
email.listLabelsEmail: List LabelsList all Gmail labels (system and user-created).
email.readEmail: Read MessageFetch the full content of an email message including body and attachments list.
email.removeLabelEmail: Remove LabelRemove one or more labels from an email message.
email.searchEmail: Search MessagesSearch for email messages using Gmail query syntax.
email.sendEmail: Send MessageCompose and send an email immediately.
email.sendDraftEmail: Send DraftSend an existing draft.
email.updateDraftEmail: Update DraftUpdate an existing email draft with new content.

Contacts

IDNameWhat it does
contacts.admin.createContacts Admin: CreateCreate a new contact record within the current tenant.
contacts.admin.deleteContacts Admin: DeletePermanently delete a contact and its conversations within the current tenant. Destructive.
contacts.admin.getContacts Admin: GetRetrieve a single contact record by ID within the current tenant.
contacts.admin.linkChannelIdentityContacts Admin: Link Channel IdentitySet a channel identity (telegramId, telegramHandle, phone, authUserId) on a contact.
contacts.admin.mergeContacts Admin: MergeMerge duplicate contacts into a single surviving contact. Destructive.
contacts.admin.searchContacts Admin: SearchSearch contacts within the current tenant.
contacts.admin.unlinkChannelIdentityContacts Admin: Unlink Channel IdentityClear a channel identity from a contact's record.
contacts.admin.updateContacts Admin: UpdateUpdate fields on an existing contact within the current tenant.
contacts.me.deleteMy Contact: DeleteAnonymize the current user's own contact details. Conversation history is preserved.
contacts.me.getMy Contact: GetRetrieve the current user's own contact details. Never accepts a contact ID.
contacts.me.updateMy Contact: UpdateUpdate the current user's own contact details (self-editable fields only).

WhatsApp

IDNameWhat it does
whatsapp.create_reply_draftWhatsApp: Create Reply DraftDraft a reply for human review before sending (draft_replies mode).
whatsapp.escalate_to_humanWhatsApp: Escalate to HumanFlag the conversation for human review (refunds, complaints, complex requests).
whatsapp.get_conversationWhatsApp: Get ConversationGet the current WhatsApp conversation context.
whatsapp.list_available_templatesWhatsApp: List Available TemplatesList Meta-approved WhatsApp templates this agent may send.
whatsapp.list_messagesWhatsApp: List MessagesList recent inbound and outbound WhatsApp messages for this connection.
whatsapp.mark_conversation_statusWhatsApp: Mark Conversation StatusMark a WhatsApp conversation as resolved or open.
whatsapp.send_messageWhatsApp: Send MessageSend a text message to the customer via WhatsApp (auto_reply mode).
whatsapp.send_templateWhatsApp: Send TemplateSend a Meta-approved WhatsApp template message (bypasses the 24-hour window).

Knowledge

IDNameWhat it does
knowledge_base.create_sourceKnowledge Base: Create SourceCreate a new knowledge base source with a name, description, and optional initial content.
knowledge_base.delete_sourceKnowledge Base: Delete SourcePermanently delete a knowledge base source. Destructive — confirm before calling.
knowledge_base.get_original_documentKnowledge Base: Get Original DocumentGet 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_sourceKnowledge Base: Get SourceGet full details of a knowledge source by ID, including its current content.
knowledge_base.list_sourcesKnowledge Base: List SourcesList all knowledge base sources for this tenant with their IDs, names, types, and embedding status.
knowledge_base.reindex_sourceKnowledge Base: Reindex SourceTrigger background vector re-indexing for a knowledge source.
knowledge_base.update_sourceKnowledge Base: Update SourceReplace the content of a knowledge base source and trigger reindexing.

DocuWare

IDNameWhat it does
docuware.download_documentDocuWare: Download DocumentDownload the content of a DocuWare document as base64. Limited to 10 MB.
docuware.get_documentDocuWare: Get DocumentRetrieve metadata and index fields for a specific DocuWare document.
docuware.list_file_cabinetsDocuWare: List File CabinetsList all available DocuWare file cabinets in the organization.
docuware.search_documentsDocuWare: Search DocumentsFull-text and index-field search for documents within a DocuWare file cabinet.
docuware.trigger_workflowDocuWare: Trigger WorkflowTrigger a DocuWare workflow for a specific document.
docuware.update_index_fieldsDocuWare: Update Index FieldsUpdate index field values on an existing DocuWare document.
docuware.upload_documentDocuWare: Upload DocumentUpload a new document (base64) to a DocuWare file cabinet with optional index fields.

Scheduling

IDNameWhat it does
scheduling.cancel_scheduled_taskScheduled Tasks: Cancel Scheduled TaskPermanently cancel a scheduled task so it no longer executes.
scheduling.create_scheduled_taskScheduled Tasks: Create Scheduled TaskCreate a one-time or recurring scheduled task, reminder, or follow-up for this agent.
scheduling.list_scheduled_tasksScheduled Tasks: List Scheduled TasksList scheduled tasks for this agent, optionally filtered by status.
scheduling.pause_scheduled_taskScheduled Tasks: Pause Scheduled TaskTemporarily pause a scheduled task without deleting it.
scheduling.resume_scheduled_taskScheduled Tasks: Resume Scheduled TaskResume a paused scheduled task from the next computed run time.
scheduling.update_scheduled_taskScheduled Tasks: Update Scheduled TaskUpdate the title, time, recurrence rule, timezone, or instruction of an existing scheduled task.

Images

IDNameWhat it does
image.generateGenerate ImageGenerate 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

IDNameWhat it does
handoff.escalate_to_humanEscalate to Human OperatorNotify 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

IDNameWhat it does
datetime.resolve_relative_dateResolve Relative DateResolve 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

IDNameWhat it does
memory.searchSearch MemoryRecall 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.
Was this page helpful?

On this page