For the complete documentation index, see llms.txt. This page is also available as Markdown.

コードソリューション(β版)

1. コードソリューションとは

ご利用について

コード化ソリューションは一部のお客様のみ利用できる限定機能です。ご利用を希望される場合は、弊社CSまでお問い合わせください。

Anyflow Embed の「ソリューション」は、通常 GUI(ノーコードエディタ)でトリガーステップやアクションステップを組み立てて作成します。コードソリューションでは、そのうちアクションの実行ロジック部分を TypeScript(Deno)を使ったコードで記述します。

Embed CLI でサーバーとローカルを同期し、コーディングエージェント(Claude Code / Codex など)で実装します。複雑な分岐処理やデータ加工など、GUI のステップ形式では表現しづらいロジックを直接コードで書きたい場合にご利用ください。

コードソリューションは、管理画面でソリューションを新規作成する際に「コード」を選択することで作成します。詳細は「4. ソリューション作成の流れ」を参照ください。

コード化ソリューションのエディタ画面
コード化ソリューションのエディタ画面

エディタ画面ではコードの編集はできず、閲覧のみ可能です。編集はローカル環境で行ってください。

■ イメージ:ソリューション構築の流れ

2. 全体像

コードソリューションは次の二層で構成されます。

レイヤー
何を決めるか
どこで編集するか

処理部分

データ取得・加工・登録などのロジック

コードmain.ts

定義部分

トリガー、エンドユーザー変数、ウィザード設定など

管理画面(GUI)solution.lock にスナップショットされる

定義部分には次の 3つが含まれます。現時点ではいずれも GUI 側で設定し、コードでは変更できません。

  • トリガー: ソリューション実行の起点となるアプリとトリガーの種類、その出力スキーマ

  • エンドユーザー変数: 導入先のエンドユーザーに入力させるフィールド

  • ウィザード設定: エンドユーザー向けセットアップ UI(画面構成・ウィジェット・ラベル)

3. セットアップ

セットアップは大きく 3 つです: Deno → Embed CLI → ログイン

3-1. Deno のインストール

コード化ソリューションは Deno で記述します。公式ガイドに従ってインストールしてください。

公式: https://docs.deno.com/runtime/#quick-install

PATH が通っているか確認します。

補足: エディタで直接コードを見る場合は、VS Code の Deno 拡張を入れると型補完・診断が効きます。 F1Deno: Initialize Workspace Configuration で有効化してください。

3-2. Embed CLI のインストール

  • embed というファイル名のバイナリが ~/bin に入ります。~/bin を PATH に通してください。

  • curlunzip が必要です。

  • 動作確認:

Windows 環境について: Windows 用のバイナリ配布はありません。WSL を利用してください。

3-3. ログイン

組織名は、管理画面にログインする際に使うものと同じです。

ログインは Auth0 を介した OAuth 2.0 (Authorization Code Flow) で行われます。ログインコマンドを実行するとブラウザが自動的に開きます。ブラウザを開くコマンドが見つからなかった場合、Auth0 の認可URLがコンソールに表示されます。ご自身でアクセスしていただくと認証完了します。

認証完了時にブラウザへ表示される画面
認証完了時にブラウザへ表示される画面
  • ログイン状態の確認:

4. ソリューション作成の流れ

4-1. 管理画面でコードソリューションを作成

ソリューションは管理画面で作成します。「コード化が有効な組織」であれば、ソリューションの初期画面でコードを選べます。トリガー・エンドユーザー変数・ウィザードなどの定義部分はここで設定します。

コード化ソリューション作成画面
コード化ソリューション作成

4-2. 空ディレクトリを作って pull

pull コマンドはサーバの状態をローカルにするです。管理画面のURLに含まれる solution-id をコピーして pull コマンドに渡してください。ソリューション作成直後に遷移する管理画面のURLの構造を次に示します: https://embed.anyflow.jp/solutions/<solution-id>/workflow

初回 pull はディレクトリが空であることを要求します(.git / .gitignore は例外として許可されます)。

また git 管理は必須ではありませんが、あとから変更履歴を追ったりロールバックしたりする場合は、pull の前に git init しておくのがおすすめです。

4-3. skills を追加(任意)

skills はコーディングエージェント向けの参照情報です。npx skills add コマンドで skills を追加すると、エージェントは Embed CLI の基本的な使い方に加えて、使用するアプリクライアント(@anyflowinc/<name>)の API リファレンスを参照できるようになります。Embed CLIおよびコードソリューションについての概観、制約、トラブルシューティングの3種類のskillを用意しています。これらの skills を入れなくても動作しますが、コーディングエージェントが実装で迷いにくくなるため追加を推奨します。

インストール範囲は用途に応じて選んでください。

  • プロジェクト単位: ./<agent>/skills/ に追加されます。solution.lock などと同様に git 管理できますが、ソリューションごとに再実行が必要です。

  • マシン全体(-g: ~/<agent>/skills/ に追加されます。一度実行すれば、以降作成するソリューションで再実行は不要です。

追加時にどのエージェント向けに設定するかを選択します。追加後は、利用しているエージェントのスキル一覧から反映されているか確認できます。

4-4. コードの実装

コーディングエージェント(Claude Code / Codex など)に要件を伝えて main.ts を実装してもらいます。

連携可能なSaaSクライアントは embed libs で確認できます。

4-5. サーバーへ反映

push コマンドはローカルの状態をサーバに同期するコマンドです。push コマンドで編集したコードをサーバに反映させます。

5. ファイル構成と所有境界

pull するとおおよそ次の構成になります。

パス
所有者
編集してよいか

main.ts

あなた(user)

main.ts が import するファイル

user

deno.json

共有

✅ (※後述の 1 エントリだけ注意)

generated/types.ts

サーバー

❌ 自動生成のためのため

solution.lock

サーバー生成 / ユーザー選択

❌ GUI 設定のスナップショットであるため

.embed/

CLI

❌ CLI の同期状態であるため

deno.jsonimports / tasks / compilerOptions など全体を編集して構いませんが、例外として compilerOptions.types"./generated/types.ts" エントリは消さないでください。消すとソリューション固有の型が読み込まれません。

6. コードの書き方

エントリポイントは main.ts

workflow 関数を export します。

入力の型を確認する(TriggerOutput / EndUserInputs

TriggerOutputEndUserInputsgenerated/types.ts に定義されます。GUI で設定したトリガーステップ / エンドユーザー変数の定義によって決定します。このファイルは自動生成されるため、編集しないでください。

アプリクライアント(@anyflowinc/<name>

外部 SaaS への読み書きは @anyflowinc/<name> クライアント経由で行います。利用可能なクライアントは embed libs で確認し、deno add @anyflowinc/<name> で追加します。

7. 制約

実行環境の制約

実行環境はサンドボックス化されています。SaaS 連携はアプリクライアント経由で行います。一般的な JS/TS ライブラリ含め、deno add コマンドでライブラリを自由に追加できます。

  • メモリ上限: 1GiB

  • 最長実行時間: 60min

  • ファイルシステムへの書き込み: 非対応

β版での制約

  • 実行ログの確認: コード中の console.log などは画面上のログとして表示されません。確認したい値は Slack / Google Sheets / Google Drive 等のアプリクライアント経由で出力してください。

  • 動作確認: ローカルでの実行コマンドは提供していません。変更を確認するには embed push した上で、テスト実行をしてください。ジョブの結果のみ確認できます。

  • デプロイ: エンドユーザーへのソリューションの提供はまだできません。ソリューションの実行はテスト実行のみとなっています。

  • アプリクライアント: GUI版のソリューションで使用できるアプリすべてには対応していません。順次追加していく予定です。

  • 管理画面でのファイル閲覧: 管理画面ではすべてのファイル内容の閲覧はできません。現在は main.ts のみ閲覧ができます。

8. トラブルシューティング

症状
対処

embed が見つからない

~/bin が PATH に通っているか確認 → embed version

VS Code でコード補完・診断が出ない

プロジェクトで Deno 拡張を有効化(F1Deno: Initialize Workspace Configuration)。クライアントは deno add で追加

triggerOutput の中身が分からない

generated/types.ts を読む

クライアントの正しい使い方が分からない

該当パッケージの reference.mdnode_modules/@anyflowinc/<name>/reference.md)を参照

実行結果・ログが見えない

「7. 現在の制約」を参照

embed push がコンフリクトで止まる

マーカー解決 → 再 embed pull(ゼロ件で完走するとクリア)

Windows で動かない

WSL を使う

認証切れ(exit 3)

再度 embed login -o <組織名>

最終更新