料金ドキュメント
始める
自動化

誰にも依頼されずに始まる作業。

triggerは担当者なしでセッションを開始します。cronスケジュールは時刻に、署名付きwebhookはイベントに応じて起動します。どちらの場合も、agentには専用のクラウドコンピューターとブランチが用意され、戻ってくる作業には同じレビューが行われます。

セッションを開始ドキュメントを読む
現在
daily-digest
invoice-sweep
oncall-handoff
次回実行
invoice-sweepEurope/Berlin

毎月1日06:30

0 30 6 1 * *

X-Kortix-Signature: sha256=<hmac>
2種類

種類は2つだけ。3つ目はありません。

triggerは時計または署名です。実行主体、内容、セッションの行き先など、それ以外はどちらも同じ設定です。

cron

時刻で起動

秒、分、時、日、月、曜日の6フィールドcron式を、任意のIANA timezoneで指定します。または、一度だけ実行して静かになるrun_at timestampも使えます。

webhook

イベントで起動

外部サービスがtrigger URLにPOSTします。Kortixが署名を確認し、payloadをpromptに展開してセッションを開始します。フィルターに合わないpayloadは受け付けられますが、無視されます。

  • どちらの種類も実行主体のagentを指定し、そのagentのdeny-by-default権限を継承します。
  • どちらも、セッションの最初のメッセージになるprompt templateを持ちます。
  • どちらもkortix.yamlのエントリなので、履歴と作成者があります。
cronの画面

1列で確認できるスケジュール。

プロジェクト内のすべてのtriggerは1行で表示されます。名前、起動時刻、timezone、実行agent、その起動先セッションが確認できます。クリックしないと分からない隠れた状態はありません。

TriggerCronTimezoneAgentSession
daily-digest0 0 9 * * 1-5平日09:00America/Los_Angeleskortixfresh
invoice-sweep0 30 6 1 * *毎月1日06:30Europe/Berlinfinancereuse
oncall-handoff0 0 17 * * 5金曜17:00UTCsupportfresh
roadmap-review0 0 8 * * 1月曜08:00America/New_Yorkplannerpinned
Timezoneは実在します
triggerはオフセットではなくIANA timezone名を保存し、デフォルトはUTCです。America/Los_Angelesを設定すれば、夏時間の変更後も現地時間09:00を維持します。PSTのような略称は推測せず拒否されます。
cronを書く必要はありません
Schedules画面は選択式です。数分ごと、平日、毎月、または指定した時刻に1回実行できます。raw cronはその裏にある拡張手段であり、利用の条件ではありません。
1つのスイッチですべてを一時停止
プロジェクトレベルの一時停止は、各trigger自身の有効フラグに加えて、すべてのtriggerを一度に停止します。同じrepoを2つのcontrol planeで実行する場合に使えば、二重起動を防げます。
集中実行はキューに入り、破棄されません
プロジェクトはデフォルトで、triggerされたセッションを3つ同時にprovisionします。上限を超えた起動は失敗せずキューに入り、空きができると実行されます。
repoで宣言

automationはダッシュボード設定ではなくファイルです。

triggerはagentやsandbox imageと並んでkortix.yamlに保存されます。それぞれにagent、スケジュールまたはsecret、セッションの最初のメッセージになるprompt templateが指定されます。

kortix.yaml
# fires on the clocktriggers:  - slug: daily-digest    type: cron    agent: kortix    cron: "0 0 9 * * 1-5"    timezone: America/Los_Angeles    session_mode: fresh    prompt: |      Summarize yesterday’s commits.      Open a change request against main. # fires on an event  - slug: new-lead    type: webhook    agent: sales    secret_env: WEBHOOK_SECRET    prompt: >-      A new lead arrived: {{ body.name }}      ({{ body.email }}). Add it to the CRM.
kortix triggers
# add it, ship it, and the schedule is live$ kortix triggers add daily-digest --type cron \    --cron "0 0 9 * * 1-5" \    --timezone America/Los_Angeles \    --prompt "Summarize yesterday. Open a CR."$ kortix ship→ kortix.yaml pushed. daily-digest is scheduled. # see every trigger and when it last fired$ kortix triggers ls # do not wait for 09:00 to find out$ kortix triggers fire daily-digest→ session started

promptはtemplateです

promptは、起動元payloadに対して{{ token.dotted.path }}を展開します。webhookでは{{ body.* }}とリクエストヘッダー、cronでは{{ cron.schedule }}、{{ cron.timezone }}、{{ cron.scheduled_for }}を取得します。存在しない値は何も表示されず、エラーもagentが読むメッセージ内の残った括弧もありません。

Webhooks

署名がなければ起動しません。

すべてのwebhook triggerには、署名に使うproject secretが指定されます。指定がないtriggerは検証時に拒否されるため、後からロックダウンし忘れる未認証webhookはありません。

POST /v1/webhooks/projects/{projectId}/{slug}

X-Kortix-Signature: sha256=<hmac>

raw request bodyに対するHMAC-SHA256をconstant timeで比較します。GitHub互換のX-Hub-Signature-256 headerにも対応しているため、repo webhookにadapterは不要です。

202
署名は有効です。セッションが実行されたか、同時実行数の上限待ちになったか、またはKortixがすでに確認した配信と重複排除されました。
200
有効ですが意図的にスキップされました — プロジェクトが一時停止中か、ペイロードがトリガーのフィルターに一致しませんでした。
401
署名とトークンの両方がないか、正しくありません。何も実行されません。
404
そのトリガーは存在しないか、無効化されているか、Webhookトリガーではありません。
409
secret_envで指定されたシークレットに値が設定されていません。保護されていない状態で実行せず、明示的に失敗します。

フィルターは、プロンプトが参照するものと同じペイロードに対して照合するドット区切りのパスです。ループを防ぐために使います。会話の双方を報告するソースでは、これがないとエージェント自身の返信で再実行されます。

セッション戦略

実行を割り当てるセッション。

デフォルトでは、実行ごとにまっさらな状態から始まります。新しい作業ではなく継続中のスレッドの場合、トリガーは所有済みのセッションに再プロンプトできます。Kortixはモードを順番に試し、失敗時は次に進むため、実行が単に消えることはありません。

  1. 01

    pinned

    IDで指定した1つのセッションに再プロンプトします。そのセッションがなくなっているか失敗している場合は、次に進みます。

  2. 02

    キー指定

    ペイロードからキーを生成し、そのキーに完全一致する、直近の正常なセッションに再プロンプトします。顧客ごとに1スレッドです。別のキーのセッションにフォールスルーすることはありません。

  3. 03

    reuse

    このトリガーが作成した、直近の正常なセッションに再プロンプトします。固定されたトリガーは、さらに先へ進む前にここへフォールバックします。

  4. 04

    fresh

    新しいブランチを切り、新しいクラウドコンピューターを起動します。これがデフォルトであり、他のすべてのモードの最後の手段です。

トリガーで起動されたセッションは、設定したユーザーだけでなくプロジェクト全体から見えます。アイドル状態が5分続くと自動停止するため、午前3時に実行した自動化が朝までマシン料金を発生させ続けることはありません。

夜間

午前3時に実行されます。最終的な判断は人が行います。

自動化に、人が持たない権限を与えることはありません。同じ分離、同じ範囲指定、そしてmainへ戻る道は1つだけです。

エージェントとして実行
トリガーはエージェントを指定し、そのエージェントの権限を正確に引き継ぎます。kortix.yamlのブロックに記載されたコネクター、シークレット、スキルだけで、それ以外は何も許可されません。権限のないエージェントはアクセスできません。
専用コンピューターを取得
新しい実行では、手動で開始したセッションと同じように、専用ブランチ上で独立したマシンを起動します。インストールや変更が他のセッションに影響することはありません。
勝手にマージされることはありません
mainに届くのは、人がレビューして承認した変更リクエスト経由だけです。コーヒーを飲みながら差分を確認できます。最終決定権をマシンに渡すことはありません。
自動化自体にも履歴があります
トリガーはリポジトリ内のYAMLブロックです。午前3時のジョブを誰が追加したか、いつ追加したか、何を指示したかは、他の変更と同じようにログに残ります。

自分で所有する1つのrepoから、会社全体を動かす。

1つの仕事から始め、そこから成長させる。

始める

プロダクト

  • エージェントコンピューター
  • コードとしての会社
  • コネクター
  • 自動化
  • チャンネル
  • エージェントとスキル
  • セキュリティ
  • セルフホスト
  • Enterprise
  • 料金
  • ダウンロード

ソリューション

  • 営業
  • マーケティング
  • Engineering
  • プロダクト
  • 財務
  • 人
  • IT
  • データサイエンス

開発者

  • ドキュメント
  • AI Operating System
  • CLI
  • SDK
  • クイックスタート
  • 開発者向け
  • マーケットプレイス
  • GitHub

会社情報

  • 概要
  • 採用情報
  • ブログ
  • 変更履歴
  • ユースケース
  • ブランド

接続

  • X
  • LinkedIn
  • Discord
  • ステータス
  • サポート
  • 利用規約
  • プライバシー
©2026 Kortix