AIAgent AIAgent
AIAgent Certified

yaml
type: "io.kestra.plugin.ai.tool.AIAgent"
yaml
id: ai-agent-with-agent-tools
namespace: company.ai

inputs:
  - id: prompt
    type: STRING
    defaults: |
      Each flow can produce outputs that can be consumed by other flows. This is a list property, so that your flow can produce as many outputs as you need.
      Each output needs to have an ID (the name of the output), a type (the same types you know from inputs, e.g., STRING, URI, or JSON), and a value, which is the actual output value that will be stored in internal storage and passed to other flows when needed.
tasks:
  - id: ai-agent
    type: io.kestra.plugin.ai.agent.AIAgent
    provider:
      type: io.kestra.plugin.ai.provider.GoogleGemini
      modelName: gemini-2.5-flash
      apiKey: "{{ kv('GEMINI_API_KEY') }}"
    systemMessage: Summarize the user message, then translate it into French using the provided tool.
    prompt: "{{inputs.prompt}}"
    tools:
      - type: io.kestra.plugin.ai.tool.AIAgent
        description: Translation expert
        systemMessage: You are an expert in translating text between multiple languages
        provider:
          type: io.kestra.plugin.ai.provider.GoogleGemini
          modelName: gemini-2.5-flash-lite
          apiKey: "{{ kv('GEMINI_API_KEY') }}"
Properties
Definitions
accessKeyId*Requiredstring
modelName*Requiredstring
secretAccessKey*Requiredstring
baseUrlstring
caPemstring
clientPemstring
modelTypestring
DefaultCOHERE
Possible Values
COHERETITAN
typeobject
Possible Values
io.kestra.plugin.ai.provider.AmazonBedrockio.kestra.plugin.langchain4j.provider.AmazonBedrock
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
maxTokensintegerstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.Anthropicio.kestra.plugin.langchain4j.provider.Anthropic
endpoint*Requiredstring
modelName*Requiredstring
apiKeystring
baseUrlstring
caPemstring
clientIdstring
clientPemstring
clientSecretstring
serviceVersionstring
tenantIdstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.AzureOpenAIio.kestra.plugin.langchain4j.provider.AzureOpenAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://dashscope-intl.aliyuncs.com/api/v1
caPemstring
clientPemstring
enableSearchbooleanstring
maxTokensintegerstring
repetitionPenaltynumberstring
typeobject
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://api.deepseek.com/v1
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.DeepSeekio.kestra.plugin.langchain4j.provider.DeepSeek
gitHubToken*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
embeddingModelConfiguration
maxRetriesintegerstring
outputDimensionalityintegerstring
taskTypestring
Possible Values
RETRIEVAL_QUERYRETRIEVAL_DOCUMENTSEMANTIC_SIMILARITYCLASSIFICATIONCLUSTERINGQUESTION_ANSWERINGFACT_VERIFICATION
timeoutstring
titleMetadataKeystring
typeobject
Possible Values
io.kestra.plugin.ai.provider.GoogleGeminiio.kestra.plugin.langchain4j.provider.GoogleGemini
endpoint*Requiredstring
location*Requiredstring
modelName*Requiredstring
project*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.GoogleVertexAIio.kestra.plugin.langchain4j.provider.GoogleVertexAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://router.huggingface.co/v1
caPemstring
clientPemstring
typeobject
baseUrl*Requiredstring
modelName*Requiredstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.LocalAIio.kestra.plugin.langchain4j.provider.LocalAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.MistralAIio.kestra.plugin.langchain4j.provider.MistralAI
compartmentId*Requiredstring
modelName*Requiredstring
region*Requiredstring
authProviderstring
baseUrlstring
caPemstring
clientPemstring
typeobject
endpoint*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.Ollamaio.kestra.plugin.langchain4j.provider.Ollama
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://api.openai.com/v1
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.OpenAIio.kestra.plugin.langchain4j.provider.OpenAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.OpenRouterio.kestra.plugin.langchain4j.provider.OpenRouter
apiKey*Requiredstring
modelName*Requiredstring
projectId*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
accountId*Requiredstring
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.WorkersAIio.kestra.plugin.langchain4j.provider.WorkersAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://open.bigmodel.cn/
caPemstring
clientPemstring
maxRetriesintegerstring
maxTokenintegerstring
stopsarray
SubTypestring
typeobject
Default{}
Definitions
logRequestsbooleanstring
logResponsesbooleanstring
maxTokenintegerstring
responseFormat
jsonSchemaobject
jsonSchemaDescriptionstring
typestring
DefaultTEXT
Possible Values
TEXTJSON
returnThinkingbooleanstring
seedintegerstring
temperaturenumberstring
thinkingBudgetTokensintegerstring
thinkingEnabledbooleanstring
topKintegerstring
topPnumberstring
Definitions
embeddingProvider*Required
accessKeyId*Requiredstring
modelName*Requiredstring
secretAccessKey*Requiredstring
baseUrlstring
caPemstring
clientPemstring
modelTypestring
DefaultCOHERE
Possible Values
COHERETITAN
typeobject
Possible Values
io.kestra.plugin.ai.provider.AmazonBedrockio.kestra.plugin.langchain4j.provider.AmazonBedrock
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
maxTokensintegerstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.Anthropicio.kestra.plugin.langchain4j.provider.Anthropic
endpoint*Requiredstring
modelName*Requiredstring
apiKeystring
baseUrlstring
caPemstring
clientIdstring
clientPemstring
clientSecretstring
serviceVersionstring
tenantIdstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.AzureOpenAIio.kestra.plugin.langchain4j.provider.AzureOpenAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://dashscope-intl.aliyuncs.com/api/v1
caPemstring
clientPemstring
enableSearchbooleanstring
maxTokensintegerstring
repetitionPenaltynumberstring
typeobject
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://api.deepseek.com/v1
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.DeepSeekio.kestra.plugin.langchain4j.provider.DeepSeek
gitHubToken*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
embeddingModelConfiguration
maxRetriesintegerstring
outputDimensionalityintegerstring
taskTypestring
Possible Values
RETRIEVAL_QUERYRETRIEVAL_DOCUMENTSEMANTIC_SIMILARITYCLASSIFICATIONCLUSTERINGQUESTION_ANSWERINGFACT_VERIFICATION
timeoutstring
titleMetadataKeystring
typeobject
Possible Values
io.kestra.plugin.ai.provider.GoogleGeminiio.kestra.plugin.langchain4j.provider.GoogleGemini
endpoint*Requiredstring
location*Requiredstring
modelName*Requiredstring
project*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.GoogleVertexAIio.kestra.plugin.langchain4j.provider.GoogleVertexAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://router.huggingface.co/v1
caPemstring
clientPemstring
typeobject
baseUrl*Requiredstring
modelName*Requiredstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.LocalAIio.kestra.plugin.langchain4j.provider.LocalAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.MistralAIio.kestra.plugin.langchain4j.provider.MistralAI
compartmentId*Requiredstring
modelName*Requiredstring
region*Requiredstring
authProviderstring
baseUrlstring
caPemstring
clientPemstring
typeobject
endpoint*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.Ollamaio.kestra.plugin.langchain4j.provider.Ollama
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://api.openai.com/v1
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.OpenAIio.kestra.plugin.langchain4j.provider.OpenAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.OpenRouterio.kestra.plugin.langchain4j.provider.OpenRouter
apiKey*Requiredstring
modelName*Requiredstring
projectId*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
accountId*Requiredstring
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.WorkersAIio.kestra.plugin.langchain4j.provider.WorkersAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://open.bigmodel.cn/
caPemstring
clientPemstring
maxRetriesintegerstring
maxTokenintegerstring
stopsarray
SubTypestring
typeobject
embeddings*Required
baseUrl*Requiredstring
collectionName*Requiredstring
typeobject
Possible Values
io.kestra.plugin.ai.embeddings.Chromaio.kestra.plugin.langchain4j.embeddings.Chroma
connection*Required
hosts*Requiredarray
SubTypestring
Min items1
basicAuth
headersarray
SubTypestring
pathPrefixstring
strictDeprecationModebooleanstring
trustAllSslbooleanstring
indexName*Requiredstring
typeobject
Possible Values
io.kestra.plugin.ai.embeddings.Elasticsearchio.kestra.plugin.langchain4j.embeddings.Elasticsearch
kvNamestring
Default{{flow.id}}-embedding-store
typeobject
Possible Values
io.kestra.plugin.ai.embeddings.KestraKVStoreio.kestra.plugin.langchain4j.embeddings.KestraKVStore
createTable*Requiredbooleanstring
databaseUrl*Requiredstring
fieldName*Requiredstring
password*Requiredstring
tableName*Requiredstring
username*Requiredstring
columnDefinitionsarray
SubTypestring
indexesarray
SubTypestring
metadataStorageModestring
DefaultCOLUMN_PER_KEY
typeobject
token*Requiredstring
autoFlushOnDeletebooleanstring
autoFlushOnInsertbooleanstring
collectionNamestring
consistencyLevelstring
databaseNamestring
hoststring
idFieldNamestring
indexTypestring
metadataFieldNamestring
metricTypestring
passwordstring
portintegerstring
retrieveEmbeddingsOnSearchbooleanstring
textFieldNamestring
typeobject
Possible Values
io.kestra.plugin.ai.embeddings.Milvusio.kestra.plugin.langchain4j.embeddings.Milvus
uristring
usernamestring
vectorFieldNamestring
collectionName*Requiredstring
host*Requiredstring
indexName*Requiredstring
scheme*Requiredstring
createIndexbooleanstring
databasestring
metadataFieldNamesarray
SubTypestring
optionsobject
passwordstring
typeobject
Possible Values
io.kestra.plugin.ai.embeddings.MongoDBAtlasio.kestra.plugin.langchain4j.embeddings.MongoDBAtlas
usernamestring
database*Requiredstring
host*Requiredstring
password*Requiredstring
port*Requiredintegerstring
table*Requiredstring
user*Requiredstring
typeobject
Possible Values
io.kestra.plugin.ai.embeddings.PGVectorio.kestra.plugin.langchain4j.embeddings.PGVector
useIndexbooleanstring
Defaultfalse
apiKey*Requiredstring
cloud*Requiredstring
index*Requiredstring
region*Requiredstring
namespacestring
typeobject
Possible Values
io.kestra.plugin.ai.embeddings.Pineconeio.kestra.plugin.langchain4j.embeddings.Pinecone
apiKey*Requiredstring
collectionName*Requiredstring
host*Requiredstring
port*Requiredintegerstring
typeobject
Possible Values
io.kestra.plugin.ai.embeddings.Qdrantio.kestra.plugin.langchain4j.embeddings.Qdrant
host*Requiredstring
port*Requiredintegerstring
indexNamestring
Defaultembedding-index
typeobject
accessKeyId*Requiredstring
accessKeySecret*Requiredstring
endpoint*Requiredstring
instanceName*Requiredstring
metadataSchemaListarray
analyzerstring
Possible Values
SingleWordMaxWordMinWordSplitFuzzy
analyzerParameter
dateFormatsarray
SubTypestring
enableHighlightingboolean
enableSortAndAggboolean
fieldNamestring
fieldTypestring
Possible Values
LONGDOUBLEBOOLEANKEYWORDTEXTNESTEDGEO_POINTDATEVECTORFUZZY_KEYWORDIPJSONUNKNOWN
indexboolean
indexOptionsstring
Possible Values
DOCSFREQSPOSITIONSOFFSETS
isArrayboolean
jsonTypestring
Possible Values
FLATTENNESTED
sourceFieldNamesarray
SubTypestring
storeboolean
subFieldSchemasarray
vectorOptions
typeobject
apiKey*Requiredstring
host*Requiredstring
avoidDupsbooleanstring
consistencyLevelstring
Possible Values
ONEQUORUMALL
grpcPortintegerstring
metadataFieldNamestring
metadataKeysarray
SubTypestring
objectClassstring
portintegerstring
schemestring
securedGrpcbooleanstring
typeobject
Possible Values
io.kestra.plugin.ai.embeddings.Weaviateio.kestra.plugin.langchain4j.embeddings.Weaviate
useGrpcForInsertsbooleanstring
maxResultsintegerstring
Default3
minScorenumberstring
Default0.0
typeobject
apiKey*Requiredstring
csi*Requiredstring
maxResultsintegerstring
Default3
typeobject
Possible Values
io.kestra.plugin.ai.retriever.GoogleCustomWebSearchio.kestra.plugin.langchain4j.retriever.GoogleCustomWebSearch
databaseType*Requiredobject
password*Requiredstring
provider*Required
accessKeyId*Requiredstring
modelName*Requiredstring
secretAccessKey*Requiredstring
baseUrlstring
caPemstring
clientPemstring
modelTypestring
DefaultCOHERE
Possible Values
COHERETITAN
typeobject
Possible Values
io.kestra.plugin.ai.provider.AmazonBedrockio.kestra.plugin.langchain4j.provider.AmazonBedrock
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
maxTokensintegerstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.Anthropicio.kestra.plugin.langchain4j.provider.Anthropic
endpoint*Requiredstring
modelName*Requiredstring
apiKeystring
baseUrlstring
caPemstring
clientIdstring
clientPemstring
clientSecretstring
serviceVersionstring
tenantIdstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.AzureOpenAIio.kestra.plugin.langchain4j.provider.AzureOpenAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://dashscope-intl.aliyuncs.com/api/v1
caPemstring
clientPemstring
enableSearchbooleanstring
maxTokensintegerstring
repetitionPenaltynumberstring
typeobject
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://api.deepseek.com/v1
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.DeepSeekio.kestra.plugin.langchain4j.provider.DeepSeek
gitHubToken*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
embeddingModelConfiguration
maxRetriesintegerstring
outputDimensionalityintegerstring
taskTypestring
Possible Values
RETRIEVAL_QUERYRETRIEVAL_DOCUMENTSEMANTIC_SIMILARITYCLASSIFICATIONCLUSTERINGQUESTION_ANSWERINGFACT_VERIFICATION
timeoutstring
titleMetadataKeystring
typeobject
Possible Values
io.kestra.plugin.ai.provider.GoogleGeminiio.kestra.plugin.langchain4j.provider.GoogleGemini
endpoint*Requiredstring
location*Requiredstring
modelName*Requiredstring
project*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.GoogleVertexAIio.kestra.plugin.langchain4j.provider.GoogleVertexAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://router.huggingface.co/v1
caPemstring
clientPemstring
typeobject
baseUrl*Requiredstring
modelName*Requiredstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.LocalAIio.kestra.plugin.langchain4j.provider.LocalAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.MistralAIio.kestra.plugin.langchain4j.provider.MistralAI
compartmentId*Requiredstring
modelName*Requiredstring
region*Requiredstring
authProviderstring
baseUrlstring
caPemstring
clientPemstring
typeobject
endpoint*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.Ollamaio.kestra.plugin.langchain4j.provider.Ollama
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://api.openai.com/v1
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.OpenAIio.kestra.plugin.langchain4j.provider.OpenAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.OpenRouterio.kestra.plugin.langchain4j.provider.OpenRouter
apiKey*Requiredstring
modelName*Requiredstring
projectId*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
accountId*Requiredstring
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
caPemstring
clientPemstring
typeobject
Possible Values
io.kestra.plugin.ai.provider.WorkersAIio.kestra.plugin.langchain4j.provider.WorkersAI
apiKey*Requiredstring
modelName*Requiredstring
baseUrlstring
Defaulthttps://open.bigmodel.cn/
caPemstring
clientPemstring
maxRetriesintegerstring
maxTokenintegerstring
stopsarray
SubTypestring
typeobject
username*Requiredstring
configuration
Default{}
logRequestsbooleanstring
logResponsesbooleanstring
maxTokenintegerstring
responseFormat
jsonSchemaobject
jsonSchemaDescriptionstring
typestring
DefaultTEXT
Possible Values
TEXTJSON
returnThinkingbooleanstring
seedintegerstring
temperaturenumberstring
thinkingBudgetTokensintegerstring
thinkingEnabledbooleanstring
topKintegerstring
topPnumberstring
driverstring
jdbcUrlstring
maxPoolSizeintegerstring
Default2
typeobject
apiKey*Requiredstring
maxResultsintegerstring
Default3
typeobject
Possible Values
io.kestra.plugin.ai.retriever.TavilyWebSearchio.kestra.plugin.langchain4j.retriever.TavilyWebSearch
Defaulttool
Definitions
description*Requiredstring
serverUrl*Requiredstring
namestring
Defaulttool
typeobject
apiKey*Requiredstring
typeobject
image*Requiredstring
apiVersionstring
bindsarray
SubTypestring
commandarray
SubTypestring
dockerCertPathstring
dockerConfigstring
dockerContextstring
dockerHoststring
dockerTlsVerifybooleanstring
envobject
SubTypestring
logEventsbooleanstring
Defaultfalse
registryEmailstring
registryPasswordstring
registryUrlstring
registryUsernamestring
typeobject
apiKey*Requiredstring
csi*Requiredstring
typeobject
Possible Values
io.kestra.plugin.ai.tool.GoogleCustomWebSearchio.kestra.plugin.langchain4j.tool.GoogleCustomWebSearch
descriptionstring
flowIdstring
inheritLabelsbooleanstring
Defaultfalse
inputsobject
labelsarrayobject
namespacestring
revisionintegerstring
scheduleDatestring
typeobject
tasks*Requiredarray
typeobject
sseUrl*Requiredstring
headersobject
SubTypestring
logRequestsbooleanstring
Defaultfalse
logResponsesbooleanstring
Defaultfalse
timeoutstring
typeobject
Possible Values
io.kestra.plugin.ai.tool.SseMcpClientio.kestra.plugin.ai.tool.HttpMcpClientio.kestra.plugin.langchain4j.tool.HttpMcpClient
command*Requiredarray
SubTypestring
envobject
SubTypestring
logEventsbooleanstring
Defaultfalse
typeobject
Possible Values
io.kestra.plugin.ai.tool.StdioMcpClientio.kestra.plugin.langchain4j.tool.StdioMcpClient
url*Requiredstring
headersobject
SubTypestring
logRequestsbooleanstring
Defaultfalse
logResponsesbooleanstring
Defaultfalse
timeoutstring
typeobject
apiKey*Requiredstring
typeobject
Possible Values
io.kestra.plugin.ai.tool.TavilyWebSearchio.kestra.plugin.langchain4j.tool.TavilyWebSearch