Execute (Text-only) Action

When the agent invokes an execute-only action, it awaits your execute(params) function, takes whatever you return, and feeds it into its next chat message.

PropertyTypeDefaultRequiredDescription
execute(params: any) => Promise<any>N/AYesHandler for your async task; must return a Promise with data.
render<see Render Options below>N/ANoOptional UI: either a built-in component key or a custom render function to inject interactive UI.
awaitUserInputbooleanfalseNoWhen true, the agent will pause and wait for user interaction before continuing.
timeoutnumber5000NoMilliseconds to abort the execute call (default 5000).

eucera("when", "ready", () => {
  eucera.agent({ /* …common setup… */ })
    .addActionHandlers({
      create_task: {
        execute: async (params) => {
					const {title, body} = params;
          const response = await fetch('https://jsonplaceholder.typicode.com/posts', {
            method: 'POST',
            body: JSON.stringify({
              title,
              body,
              userId: 'playground',
            }),
            headers: {
              'Content-type': 'application/json; charset=UTF-8',
            },
          });
          const data = await response.json()

          // Return all relevant fields so the agent can reference them later
          return {
            id: data.id,
            title: data.title,
            body: data.body,
            userId: data.userId,
            // Include a link property—if the user asks "What's the link?", the agent can supply this
            link: `https://jsonplaceholder.typicode.com/posts/${data.id}`
          };
        }
      }
    });
});