Skip to content

Publish your first tools

Publish tools when you want your assistant to use your own Epicor operations. For a prepared business workflow, install a pack first. You can add your own tools alongside it.

A published tool exposes the BAQ, Function, or Business Object operation you select. Review its permissions and test its results before sharing it with users.

Open your instance and go to the Tools tab.

Click + Create Tool and leave the type on BAQ.

The Create Tool dialog, General tab, with a BAQ selected

  1. Search for the BAQ and select it. The tool name fills in from the BAQ id; change it if you like.
  2. Write a description. Read the next section before you do.
  3. Optional: turn on rich data grid rendering. Clients that support Apps then show results as a sortable, filterable grid instead of plain text.
  4. Click Create.

The assistant uses the tool name, description, and input schema to choose an operation and supply its parameters. Clear descriptions help it use the right tool and interpret the response.

Say what it returns, when to use it, and whether it changes data. For example: “Returns customer master and credit details. Use it to look up customers by ID or name. Read-only.”

Explain required inputs, accepted values, defaults, and filters. Identify any company, date, or currency assumptions.

The Input Parameters tab, with a description under each parameter

Explain fields needed to interpret the answer, especially calculated amounts, units, status codes, and custom fields. Do not leave generated descriptions that assign the wrong meaning to a field.

The Output Fields tab, with a description under each returned field

You can write descriptions manually or use Generate Descriptions with AI in the tool editor. The helper shows the configured provider and model. OpenAI is the default, with a link to its data use and retention information. Custom OpenAI-compatible endpoints continue to use your existing settings and their own provider terms.

  1. Review the tool name, type and existing description, plus input and output field names, types and existing descriptions. These are the fields sent to the displayed provider.
  2. Select the checkbox approving this request to send schema names, types and existing descriptions to the displayed provider.
  3. Select Generate Descriptions with AI.
  4. Review and adjust the draft before saving the tool.

Check custom fields such as Character01 carefully. Add or refine existing descriptions to explain their business meaning before generating.

Existing tool, input and output descriptions are sent as context to help preserve business meaning. The helper does not run a query or automatically send result rows. Names and descriptions can contain business information, so review them first. Approval resets after each request. Use Refresh AI helper details if the provider or model changes or the details could not load. If the helper is unavailable, you can still edit and save descriptions manually. See the privacy policy.

Pick a Function Library, then a function.

The Create Tool dialog with tool type Function

Everything above about descriptions applies. Functions add one thing BAQs do not: file handling.

Cutova can transfer files outside the conversation to reduce token use. Two parameter settings control file uploads and downloadable outputs.

On a Function input, enable the This is a file upload option to use a file reference instead of inline base64.

The Function Input Parameters tab, with the file upload switch turned on for a FileInput parameter

That changes what the assistant is told about the parameter. Instead of “give me the file”, it is told to run this sequence:

  1. Call the built-in request_file_upload tool, which returns a one-time upload URL and a fileRef: a short identifier, not the file.
  2. Upload the file straight to that URL, outside the conversation.
  3. Pass the fileRef to your tool as that parameter.

Cutova substitutes the real file server-side before your Epicor Function ever runs, so the Function sees exactly what it always expected. Only the small fileRef travels through the chat.

On any Function output, turn on “Return as a downloadable file (off-band, not inline base64)”.

The Function Output Fields tab, with a download switch beside each returned field

The assistant then receives a download URL and the file’s details rather than the bytes. It can hand the user the link, or fetch the file itself if it needs the contents.

Leave it off for small values. A status flag, a file size or a document type should come back inline: that is what the reader wants to see. Turn it on for the actual document: the generated PDF, the export, the attachment.

The value is Setting
A document, image, export or attachment Switch on. Off-band.
A name, a number, a flag, a short string Leave off. Inline.

Pick a service type, a business object, then the endpoint to expose, such as List (Query with OData).

The Create Tool dialog with tool type Business Object

Business Object tools carry the same file switches, and the same rule of thumb applies.

Cutova also ships eight tools of its own, listed on the Built-in tools tab. You publish none of them and most instances should leave the defaults alone.

Company / Plant is advertised on instances configured for multiple companies or plants and cannot be disabled there. Confirm Action lets an assistant ask for approval. Enabling it does not enforce confirmation before every write. Use appropriate Epicor permissions and your client’s approval settings for tools that change records.

See Built-in tools for what each one does and which clients can render it.

Once you have tools set up on a test instance, Export them and Import the .zip into production rather than rebuilding by hand.

The Import tools dialog

Tick Overwrite tools that already exist only when you mean to replace them.

Start with two or three that answer questions people actually ask. A short, well-described set beats a long one, because the assistant chooses from what you publish, and a hundred vague tools makes choosing harder rather than easier.

Next: Built-in tools.