Invoking
Via API
You can invoke your app by making a POST request to Kernel's API or via the CLI. Both support passing a payload. For automations and agents that take longer than 100 seconds, use async invocations.
import Kernel from '@onkernel/sdk';
const kernel = new Kernel();
const invocation = await kernel.invocations.create({
action_name: 'analyze',
app_name: 'my-app',
version: '1.0.0',
});
console.log(invocation.id);Asynchronous invocations
For long running jobs, use asynchronous invocations to trigger Kernel actions without waiting for the result. You can then stream real-time status updates for the result.
async_timeout_seconds parameter during invocation.import Kernel from '@onkernel/sdk';
const kernel = new Kernel();
const invocation = await kernel.invocations.create({
async: true,
action_name: 'analyze',
app_name: 'my-app',
version: '1.0.0',
});
console.log(invocation.id);Via CLI
Invoke an app action immediately via the CLI:
kernel invoke <app_name> <action_name>Payload parameter
--payload allows you to invoke the action with specified parameters. This enables your action to receive and handle dynamic inputs at runtime. For example:
Payloads are stringified JSON and have a maximum size of 4.5 MB.
kernel invoke <app_name> <action_name>
--payload '{"tshirt_size": "small", "color": "black", "shipping_address": "2 Mint Plz, San Francisco CA 94103"}'See here to learn how to access the payload in your action method.
Return values
If your action specifies a return value, the invocation returns its value once it completes. (The Kernel CLI uses asynchronous invocations under the hood)