メインコンテンツへスキップ
現在、オブジェクトは設定を通じてのみアクセス可能です。 アプリに本物の存在感を持たせて、UI にしっかり組み込みましょう。リストビュー、サイドバーエントリ、ワンクリックで実行できる Generate document コマンド、レコードページのフロントコンポーネントによるドキュメントのプレビュー、そしてテンプレート用のネイティブなリッチテキストエディタータブを追加します。

ビューとナビゲーション

view は、指定されたオブジェクトのリストです。 navigation menu item はそのビューをサイドバーに配置します。
テンプレートに同じペアを追加します。 両方ともサイドバーに表示されます:
生成されたドキュメントを持つドキュメントビュー

サイドバーにあるドキュメントとテンプレート。生成されたドキュメントが一覧表示されます。

フロントコンポーネント

front component は Twenty 内でサンドボックス化された React コンポーネントです。 選択したレコードを読み込み、CoreApiClient 経由で person テンプレートを読み込み、最後の チャプターからルートに POST を読み込みます。
インラインCSS変数(var(--t-color-blue))のスタイルで、 21uiからインポートされた値ではありません。 ビルド中にSDKがパッケージをモックするので、 テーマ定数のモジュールレベルのインポートはundefinedになります。 full componentを参照してください。

開くためのコマンド

availabilityType: 'RECORD_SELECTION' を指定した command menu item は、Person が選択されているときに表示され、サイドパネルでコンポーネントを開きます。

フロー全体を試してみてください

Peopleを開き、 ⌘K / Ctrl K を押します。 アプリでタグ付けされた「ドキュメントの生成」が表示されます:
ドキュメントを生成するコマンドメニュー

Person が選択されるとコマンドが表示されます。

実行: コンポーネントがサイドパネルで開きます。 テンプレートを選択し、 生成をクリックし、ドキュメントに新しいレコードの土地を追加します。
ドキュメントサイドパネルを生成する

フロントコンポーネント、テンプレートをロードし、クリック時に生成します。

生成されたすべてのドキュメントはアプリを作成者として記録します:
生成されたドキュメント レコード

作成された文書ジェネレータ、ステータスが生成されました。

レコードページにドキュメントをプレビュー

フロントコンポーネントはコマンドメニューだけではありません — レコードページにタブとしてマウントできます。 Markdown 本文を洗練された印刷可能なページとしてレンダリングするドキュメントレコードに Preview タブを追加しましょう。 コンポーネントは現在のレコード ID を実行コンテキストから読み込み、 ドキュメントを読み込み、レンダリングします。 フロントコンポーネントは、HTMLタグの ホワイトリストのみを許可するサンドボックスで実行されます。生のHTMLインジェクション (dangerouslySetInnerHTML) と \<style>はブロックされているため、小さなMarkdown ヘルパーを介して、マークダウンをインライン スタイルでレンダリングします。
page layout でマウントします。 RECORD_PAGE レイアウトは、オブジェクトのレコードビューにタブを追加します。CANVAS タブの FronT_COMPONENT ウィジェットはコンポーネントをホストします。
プレビュータブを開くと、 共有可能なウェブページとPDFへのリンクが美しくレンダリングされます。
レコードページタブ内のドキュメントビューアフロントコンポーネント

format@@0 タブでは、インラインスタイルとクイックリンクを使用してドキュメントをレンダリングします。

リッチテキストエディタでテンプレートを編集

テンプレートにはカスタムコンポーネントは一切必要ありません。 bodyRICH_TEXT フィールドなので、Twenty にはすでにフル機能のリッチテキストエディターが用意されています。標準の Note および Task オブジェクトが使用しているものと同じエディターです。 テンプレートのレコードページでサーフェスを作成します。 EDITORディスプレイモードでFIELDウィジェットを持つタブを追加します。fieldMetadataIdを介してbody フィールドを指しています:
RICH_TEXT フィールドには、エディタのブロック JSON と Markdown プロジェクションの両方が格納されます。 生成パイプラインはその Markdown プロジェクションを読み取るため、プレースホルダー、PDF、共有可能なウェブページはすべてそのまま問題なく動作します。詳しくは、template-record.page-layout.ts を参照してください。 編集者は適切なリッチテキストエディタでテンプレートを書き込むようになりました:
ネイティブリッチテキストエディタタブのテンプレートレコード

format@@0タブ:本文フィールドにバインドされている、Twentyのネイティブリッチテキストエディタ。

このステップの後: ドキュメントは美しくプレビューでき、テンプレートはアプリ内で編集可能になります。 次に、AIエージェントがチャットからそれらを生成します。

次へ: AI エージェント →

エージェントとツールと呼ぶスキルを追加します。