Logo
Docs

CopilotTask

CopilotTask is used to execute one-off tasks, for example on button click.

This class is used to execute one-off tasks, for example on button press. It can use the context available via useCopilotReadable and the actions provided by useCopilotAction, or you can provide your own context and actions.

Example

In the simplest case, use CopilotTask in the context of your app by giving it instructions on what to do.

import { CopilotTask, useCopilotContext } from "@copilotkit/react-core";
 
export function MyComponent() {
  const context = useCopilotContext();
 
  const task = new CopilotTask({
    instructions: "Set a random message",
    actions: [
      {
        name: "setMessage",
      description: "Set the message.",
      argumentAnnotations: [
        {
          name: "message",
          type: "string",
          description:
            "A message to display.",
          required: true,
        },
      ],
 
      implementation: async (message) => {
        // ...
      },
    }
    ]
  });
 
  const executeTask = async () => {
    await task.run(context, action);
  }
 
  return (
    <>
      <button onClick={executeTask}>
        Execute task
      </button>
    </>
  )
}

Have a look at the Presentation Example App for a more complete example.

Constructor Parameters

instructionsstringrequired

The instructions to be given to the assistant.

actionsFrontendAction<any>[]

An array of action definitions that can be called.

includeCopilotReadableboolean

Whether to include the copilot readable context in the task.

includeCopilotActionsboolean

Whether to include actions defined via useCopilotAction in the task.

runcontext: CopilotContextParams, data?: T

Run the task.

contextCopilotContextParamsrequired

The CopilotContext to use for the task. Use useCopilotContext to obtain the current context.

dataT

The data to use for the task.

On this page

Edit on GitHub