snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s

This commit is contained in:
upstream-mirror
2026-09-17 23:28:13 +05:00
commit e7da97194a
32688 changed files with 4208681 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
---
title: AIエージェント
description: AI機能を自動化ワークフローに直接統合します。
---
## 概要
AI の機能を自動化ワークフローに直接統合し、インテリジェントなデータ処理と意思決定を実現します。
## 機能
| 機能 | 説明 |
| ------------- | --------------------------- |
| **AI アクション** | あらゆるワークフローに AI を活用したステップを追加 |
| **データ強化** | 外部データでレコードを自動的に補完する |
| **分類** | 内容分析に基づいてレコードを分類する |
| **要約** | テキストフィールドから要約を生成する |
| **カスタムプロンプト** | AI がデータをどのように処理するかを正確に定義する |
## ユースケース
* **リードスコアリング**: インバウンドリードに自動でスコアを付け、優先順位を付ける
* **データクレンジング**: 企業名と連絡先情報を標準化する
* **メールの下書き**: 議事録に基づいてフォローアップメールの下書きを生成する
* **レコードのルーティング**: 内容に基づいて適切なチームメンバーにレコードを割り当てる
## 関連
* [ワークフローの概要](/l/ja/user-guide/workflows/overview) — 自動化の基本
* [AI 権限](/l/ja/user-guide/ai/capabilities/permissions-access-control) — AI エージェントのアクセス制御

View File

@@ -0,0 +1,37 @@
---
title: AI チャットボット
description: 自然言語でCRMデータとやり取りできるインテリジェントなアシスタントです。
---
## 概要
自然言語で質問をすると、アシスタントがCRMデータを取得して説明します。
## 機能
| 機能 | 説明 |
| --------------- | ------------------------------------------------------ |
| **自然言語クエリ** | フィルターを作成する代わりに、平易な英語で質問できます |
| **データへのフルアクセス** | ワークスペース全体にわたり、レコード、リレーションシップ、指標に対してクエリを実行できます |
| **ページコンテキスト** | 現在の表示に基づいて、"this company" や "this opportunity" を参照できます |
| **会話型** | 追加の質問でも前のクエリのコンテキストを維持します |
## 会話例
### レコードの検索
* "5万ドルを超える商談をすべて表示して"
* "過去2週間メールしていない連絡先を検索して"
* "ヘルスケア業界の企業を一覧表示して"
### インサイトを得る
* "パイプラインの合計金額は?"
* "先月クローズした商談は何件?"
* "どのステージで停滞している商談が最も多い?"
### ページコンテキストを活用する
* "この人とのやり取りを要約して" (連絡先ページで)
* "どの商談がこの会社に関連付けられていますか?" (会社ページで)
* "この商談の最終更新はいつ?" (商談ページで)

View File

@@ -0,0 +1,137 @@
---
title: MCP サーバー
description: Model Context Protocol を使用して、AI アシスタントを Twenty ワークスペースに接続します。
---
Twenty は [MCP](https://modelcontextprotocol.io/) サーバーを公開し、Claude Desktop、Claude Code、Cursor、ChatGPT などの AI アシスタントが自然言語で CRM データを読み書きできるようにします。
MCP エンドポイントとして、あなたの**ワークスペース URL**(Twenty にアクセスするために使用している URL)を使用します。 Twenty Cloud では、ワークスペース URL は `https://{mycompany}.twenty.com` またはカスタムドメインの場合があります。 サーバーは次の場所で利用できます:
| 環境 | MCP エンドポイント |
| ---------- | -------------------------------------------------------------------------- |
| **クラウド** | `https://{your-workspace-url}/mcp` (例: `https://mycompany.twenty.com/mcp`) |
| **セルフホスト** | `https://{your-domain}/mcp` |
## 認証方法
MCP クライアントの認証方法は 2 つあります: **OAuth**(推奨)または **API Key**。
### オプション A — OAuth(推奨)
OAuth を使用すると、MCP クライアントがログイン用のブラウザーウィンドウを開きます。 シークレットは設定ファイルに保存されず、トークンは自動的に更新されます。
<Note>
OAuth を利用するには、[MCP Authorization 仕様](https://modelcontextprotocol.io/specification/2025-03-26/basic/authorization)をサポートする MCP クライアントが必要です。 Claude Desktop、Claude Code、Cursor、ChatGPT が対応しています。
</Note>
MCP クライアントの設定に次を追加し、`{your-workspace-url}` をワークスペースのホスト(例: `mycompany.twenty.com`)に置き換えてください:
```json
{
"mcpServers": {
"twenty": {
"type": "streamable-http",
"url": "https://{your-workspace-url}/mcp"
}
}
}
```
以上です — API キーは不要です。 クライアントが初回接続する際には、次を実行します:
1. `/.well-known/oauth-protected-resource` および `/.well-known/oauth-authorization-server` を通じて Twenty の OAuth メタデータを検出する
2. 動的クライアント登録(RFC 7591)を通じて自らを OAuth クライアントとして登録する
3. アクセスを許可するためにブラウザーを開く
4. トークンを受け取り、MCP サーバーに接続する
以後の接続では保存済みトークンを再利用し、自動で更新します。
### オプション B — API キー
MCP クライアントが OAuth をサポートしていない場合、または固定認証情報を好む場合は、`Authorization` ヘッダーに API キーを渡してください:
```json
{
"mcpServers": {
"twenty": {
"type": "streamable-http",
"url": "https://{your-workspace-url}/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
```
<Warning>
API キーはワークスペース データへのアクセスを許可します。 バージョン管理や共有のドットファイルには含めないでください。
</Warning>
API キーを作成するには、**Settings → MCP & APIs → API → + Create key** に移動します。 詳細は[API](/l/ja/developers/extend/api#create-an-api-key)を参照してください。
## クイックスタート
### 1. 構成をコピー
Twenty で **Settings → MCP & APIs → MCP** に移動します。 認証方法(OAuth または API Key)を選択し、JSON スニペットをコピーして(ワークスペース URL は既に反映されています)、MCP クライアントの設定ファイルに貼り付けます。
| クライアント | 設定ファイルの場所 |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Claude Desktop** | `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows) |
| **Claude Code** | `~/.claude.json` (ユーザー) または `.mcp.json` (プロジェクト) |
| **Cursor** | プロジェクト内では `.cursor/mcp.json`、グローバルでは `~/.cursor/mcp.json` |
| **ChatGPT** | **Settings → Apps & Connectors → Advanced settings** で Developer Mode を有効にし、その後 **Settings → Apps & Connectors** の **Create** を使用して MCP サーバーを追加します。 |
### 2. 接続
MCP クライアントを再起動します(または設定を再読み込みします)。 OAuth を使用している場合、アクセス許可のために Twenty にリダイレクトされます。 API キーを使用する場合は、すぐに接続されます。
### 3. 使い始める
AI アシスタントに CRM とやり取りするよう依頼してください:
* *"最近作成された企業を5件表示して"*
* *"Acme Corp に Jane Doe という名前の新しい連絡先を作成して"*
* *"$10k を超える金額のオープンな商談をすべて見つけて"*
## 利用可能なツール
接続されると、MCP サーバーは Twenty API を反映したツールを公開します。 推奨されるワークフローは次のとおりです:
1. **`learn_tools`** — 特定のツールの入力スキーマを取得する
2. **`execute_tool`** — ツールを実行する
ツール名を覚えておく必要はありません。 AI アシスタントにできることを尋ねると、自動的に `learn_tools` を呼び出します。
## 権限
MCP 接続は、認証済みユーザー(OAuth)の権限、または API キーに割り当てられたロールを継承します。 MCP サーバーが実行できる操作を制限するには:
* **OAuth**: ユーザーのワークスペース ロールが適用されます。
* **API Key**: **Settings → Members → Roles** で API キーにロールを割り当てます。 詳しくは[権限](/l/ja/user-guide/permissions-access/capabilities/permissions)を参照してください。
## セルフホスト構成
セルフホストのインスタンスでは、`{your-workspace-url}` をサーバーの URL に置き換えてください。 環境の `SERVER_URL` が Twenty インスタンスの公開 URL と一致していることを確認してください — これは OAuth のディスカバリ メタデータの生成に使用されます。
```bash
SERVER_URL=https://twenty.yourcompany.com
```
MCP エンドポイント、OAuth エンドポイント、およびディスカバリ メタデータはすべてこの値から導出されます。
## トラブルシューティング
**"Unauthorized" または 401 エラー**
* OAuth: MCP クライアントで保存済みトークンをクリアして再接続し、再認可します。
* API Key: キーが有効で、有効期限切れでないことを確認します。 必要に応じて再生成してください。
**OAuth フローでブラウザーが開かない**
* MCP クライアントが MCP Authorization をサポートしていることを確認してください。 サポートしていない場合は API Key の方法に切り替えてください。
**接続タイムアウト**
* MCP エンドポイントの URL にあなたのマシンから到達できることを確認してください。 セルフホストのインスタンスでは、サーバーが稼働していることと `SERVER_URL` が正しく設定されていることを確認してください。

View File

@@ -0,0 +1,35 @@
---
title: 権限とアクセス制御
description: AI エージェントがワークスペース内でアクセスおよび変更できる内容を制御します。
---
## 概要
AI エージェントは既存の権限構造に従います。 これは、ワークスペース内で自動化された AI プロセスがアクセスまたは変更できる範囲を厳密に管理したいチームにとって特に重要です。
## AI エージェントに役割を割り当てる
1. **設定 → メンバー → 役割** に移動します
2. 割り当てたい役割をクリック
3. **割り当て** タブを開く
4. 「**AI Agents**」で、**+ Assign to AI agent** をクリックします
5. リストから AI エージェントを選択
6. 割り当てを確認する
## AI エージェントに役割を割り当てる理由
| 利点 | 説明 |
| ------------ | ------------------------------ |
| **セキュリティ** | AI エージェントがアクセスまたは変更できるデータを制限する |
| **コンプライアンス** | AI が必要なデータのみを処理するようにする |
| **制御** | AI 自動化による意図しない操作を防止する |
| **監査可能性** | どのエージェントがどの操作を実行したかを追跡する |
<Note>
ワークフロー内で実行される AI エージェントの場合、役割の割り当てにより、ワークフローにより広い権限がある場合でも、エージェントが意図された範囲外のデータにアクセスしたり変更したりできないようにします。
</Note>
## 関連
* [権限](/l/ja/user-guide/permissions-access/capabilities/permissions) — 役割の作成と管理に関する詳細情報
* [AI エージェント](/l/ja/user-guide/ai/capabilities/ai-agents) — ワークフローにおける AI 機能

View File

@@ -0,0 +1,31 @@
---
title: AI FAQ
description: Twenty の AI 機能に関するよくある質問。
---
<AccordionGroup>
<Accordion title="どのようなAI機能が利用できますか?">
AIには主に次の2つの機能があります。
1. **AI Chatbot**: 20 のデータにアクセスし、クエリをサポートするコンテキスト認識アシスタント
2. **ワークフローのAIエージェント**:ワークフロー内でデータの処理、意思決定、タスクの実行を行うインテリジェントな自動化。
</Accordion>
<Accordion title="AIエージェントは、私のすべてのデータにアクセスできますか?">
AIエージェントは、許可システムの下で動作します。 **設定 → メンバー → ロール** で AIエージェントに特定のロールを割り当て、アクセスできるデータと実行できるアクションを完全に制御できます。
</Accordion>
<Accordion title="AIクレジットはどのように機能しますか?">
AIアクションは、タスクの複雑さと使用するAIモデルに基づいてワークフロークレジットを消費します。
</Accordion>
<Accordion title="自分のAIモデルを使用できますか?">
クラウド環境では、Twentyが提供するAIモデルのみを使用できます。 自己ホスト型インスタンスでは、Organizationライセンスを取得した後に独自のAIモデルを使用できます。
</Accordion>
<Accordion title="AIエージェントに割り当てられた役割は見当たりませんが、どこにありますか?">
既定では、ロール一覧はワークスペースメンバーに割り当て可能なロールに絞り込まれています。 役割がAIエージェントのみに割り当てられる場合は、AIエージェントの役割を含めるようにフィルタを変更する必要があります。
</Accordion>
</AccordionGroup>

View File

@@ -0,0 +1,58 @@
---
title: AI
description: Twenty の AI搭載機能。
---
<Frame>
<img src="/images/user-guide/workflows/robot.png" alt="AI" />
</Frame>
## 機能
現在、Twenty では次の機能を提供しています:
### 1. AI チャットボット
コンテキストを理解し、Twenty のすべてのデータにアクセスできる会話型アシスタントです。
**主な機能:**
* **完全なデータアクセス**:ワークスペース内のあらゆるレコード、リレーションシップ、メトリクスをクエリできます
* **ページコンテキストの認識**:Twenty 内の表示場所に基づいて "this company" や "this opportunity" を参照できます
* **自然言語**:メニューを操作せずに質問し、回答を得られます
**プロンプト例:**
* "今月クローズ予定の商談はどれですか?"
* "「Negotiation」に30日以上留まっている商談はどれですか?"
* "この人とのやり取りを要約して"
### 2. ワークフローにおける AI エージェント
AI アクションと自律型エージェントでワークフローを拡張します。
**主な機能:**
* **AI アクション**:AI を使用してデータの充実化、レコードの分類、要約の生成などを行います
* **自律型エージェント**:ワークフロー内で複数ステップのタスクをエージェントに実行させます
* **カスタムプロンプト**:AI がデータをどのように処理すべきかを正確に定義します
**ユースケース:**
* インバウンドリードを自動分類する
* 公開情報から企業データを充実させる
* 議事録に基づいてフォローアップメールの下書きを生成する
* エンゲージメントのパターンに基づいて商談をスコアリングする
## 権限とアクセス制御
AI エージェントは既存の権限システムを通じて管理されます:
1. **設定 → メンバー → 役割** に移動します
2. 各 AI エージェントがアクセスできるデータを設定する
3. オブジェクトごとに読み取り/書き込み権限を設定する
これにより、AI エージェントがデータガバナンスポリシーを遵守し、必要なものにのみアクセスすることを保証します。
* 開発の最新情報は私たちの[GitHub](https://github.com/twentyhq/twenty)をフォローしてください
* フィードバックや機能リクエストを共有するには、私たちの[Discord](https://discord.gg/UfGNZJfAG6)に参加してください

View File

@@ -0,0 +1,74 @@
---
title: クレジット
description: 1つのシンプルなクレジット残高で、ワークフロー、AIエージェント、AIチャットをすべて稼働させます。クレジット1単位の価値、その到達範囲、およびその管理方法について説明します。
---
## クレジットとは?
クレジットは、実際のコストが発生する、お客様に代わって当社が実行するあらゆる処理—**ワークフローの自動化**、**AIエージェント**、**AIチャット**—を動かす単一の残高です。 「自動化の実行回数」や「AIトークン」の個別のクォータをやりくりする代わりに、1つのシンプルな残高だけを把握しておけばよくなります。
**1クレジット = $1分の利用。** クレジットは「1ドル分の処理」を表すだけなので、残高を直感的に把握できます。抽象的な単位を変換する必要はありません。
## 1クレジットでどこまで利用できますか?
コストは処理内容に応じて変動します。 日常的な自動化や簡単なAIメッセージは、1クレジットのごく一部しか消費しません。一方で、大規模なマルチステップのAIエージェントタスクは、より多くのクレジットを消費します。 おおよそのイメージは次のとおりです。
| やること | おおよそのコスト | その意味 |
| -------------------------------------------------------- | -------------------- | ----------------------- |
| 標準のワークフローステップ(検索、作成、またはレコードの更新)を実行するか、アプリのロジック関数をトリガーします | $0.0001 | **1クレジットあたり10,000回の実行** |
| 外部APIを呼び出す、またはコードノードを実行する | 1クレジットのごく一部 | 1クレジットあたり数千回 |
| 簡単なAIチャットメッセージを送信する、またはシンプルなAIステップを実行する | 1セント未満のごく一部 | 1クレジットあたり数百回 |
| 大規模なAIエージェントタスクを実行する(例:ワークスペースオブジェクトを10個構成する) | **約$1以上** になる場合があります | 1クレジットあたり数回 |
| AIウェブ検索を実行する | 検索1回あたりの固定コスト | 1クレジットあたり数百回の検索 |
<Note>
ほとんどのチームにとって、標準的な自動化は実質的に無料に近く、残高に目に見える影響が出るのは、AI機能に大きく依存したり、負荷の高いコードノードを実行したりしたときだけです。 これは意図的な設計で、付与されるクレジットは、メーターを気にせず構築できるようにするためのものです。
</Note>
<Note>
すべてのアプリが実行ごとに料金を請求するわけではありません。 Call RecorderとLast Contactはワークスペースにインポートされるすべての電子メールとカレンダーイベントに反応するため、ロジック関数は無料です。 ただし、通話録音時間などの従量制の処理については、引き続き料金が発生します。
</Note>
## AI利用の課金方法
アクションがAIモデルを呼び出すとき、実際に使用されたトークン数を正確に計測し、それを**モデルプロバイダーが公開している料金**で算出してドル建ての金額を求め、その金額をそのままクレジットに換算します。つまり、支払いは内部レートに上乗せされた金額ではなく、実際の処理コストを正確に反映します。 短いチャットメッセージのコストは1セント未満です。 例えば、10 個のワークスペースオブジェクトを設定するという大きなエージェントタスクは、増え続けるコンテキストで多くのモデル呼び出しを行います。 1ドル以上になります 実際に使用した分だけ、トークン単位で課金されます。
コストはモデルによって異なります。軽量なモデルは、最高クラスの推論モデルに比べて、メッセージ1件あたりの料金が大幅に安価です。 **Settings → Billing** で、アクションごとの詳細な内訳と、どのモデルが使用されたかを確認できます。
## 提供内容
すべてのサブスクリプションにはクレジットが含まれており、その量はプランではなく**請求サイクル**によって決まります。
| 請求サイクル | 含まれるクレジット | 等価な使用法 |
| ------ | --------- | --------------- |
| 月払い | 5/月 | 毎月 **約$5分の利用** |
| 年払い | 50/年 | 毎年 **約$50分の利用** |
これらのクレジットは、日常的な自動化を十分にまかなえるよう設計されています。 5つのクレジットは、数万の標準的な自動化ステップまたは数百の迅速なAIメッセージをカバーします。ただし、ほんの一握りの大規模なものはあります。 複数ステップのエージェントのタスクはそれらをより速く使用できます。 必要に応じていつでもチャージ(追加購入)できます(詳細は後述)。
## クレジットの繰越
未使用のクレジットは、次の請求期間に自動的に繰り越されます。
* **上限**: ロールオーバーは、ある期間の完全な割り当てで上限に達しますので、請求サイクルが提供する期間を超えることはありません。
* **表示**: 繰越クレジットが利用可能な場合、**Settings → Billing** に **Rollover Credits** という独立した行として表示され、**Total Available** の残高と並んで表示されます。
## モニタリングの使用状況
残高とその利用状況を把握しましょう。
1. **設定 → 請求** へ移動
2. **残りのクレジット** と **現在の期間の利用状況** を確認する
3. 内訳を詳しく確認し、どのワークフローやAIアクションがクレジットを消費しているか、またAIアクションでどのモデルが使用されたかを確認できます。
これを定期的に確認することで、負荷の高いワークフローを早期に発見し、それを最適化するか、クレジットを追加購入するかを簡単に判断できます。
## さらにクレジットが必要ですか?
クレジットを使い切った場合や、大規模な自動化を行う前に余裕を持たせたい場合は、いつでも追加のクレジットパックを購入できます。
1. **設定 → 請求** へ移動
2. **増やす**ボタンをクリックしてください
3. 必要な金額を選択し、変更を承認します
購入したクレジットは、即座に利用可能残高に追加されます。

View File

@@ -0,0 +1,100 @@
---
title: 料金プラン
description: Twenty の料金プランと切り替え方法について説明します。
---
## 概要
Twenty は、クラウドホスティングでもセルフホスティングでも、あらゆる規模のチームに適した柔軟な料金を提供します。
## クラウドプラン
### Pro(クラウド)
スケールする準備ができているチーム向け:
* すべてのコア CRM 機能
* メールとカレンダーの同期
* ワークフローと自動化
* 標準サポート
<Note>
プレミアム機能(SSO、行レベルの権限、AI 利用データなど)は Pro プランには含まれません。
</Note>
### Organization(クラウド)
より高度なニーズを持つ大規模チーム向け:
* Pro のすべての内容
* **プレミアム機能**: SSO 連携、行レベルの権限、AI 利用データなど
* 優先サポート
## セルフホスト型プラン
### Free(セルフホスト)
自社インフラで Twenty を無料でホスト:
* Pro のすべての機能を含む
* Discord でのコミュニティサポート
* データの完全なコントロール
### Organization(セルフホスト)
セルフホストしながらプレミアム機能が必要なチーム向け:
* Pro のすべての機能
* **プレミアム機能**: SSO 連携、行レベルの権限、AI 利用データなど
* Twenty チームによるサポート
* 配布前にカスタムコードをオープンソースとして公開する必要はありません
## プレミアム機能
プレミアム機能は Organization プラン(クラウド/セルフホスト)でのみ利用可能:
* **SSO 連携**:ID プロバイダーによるシングルサインオン
* **行レベル権限**:レコード単位のきめ細かなアクセス制御
* **AI 利用データ**: ワークスペース全体の AI 消費を追跡します。
* **監査ログ**: ワークスペースの各メンバーの操作内容を確認できます
* **メールキャンペーン**: 送信するメールを計画します(近日公開予定)
* **無制限のワークスペース**: 必要なだけ多くのワークスペースを作成できます(セルフホスト版のみ)
* **プライベートソースコード**: 公開リポジトリに変更内容を公開する必要はありません(セルフホスト版のみ)
## プランの切り替え
### Organization にアップグレード
1. **設定 → 請求 → プラン** へ移動
2. 「**Switch to Organization**」をクリック
3. アップグレードを確認する
### Pro にダウングレード
1. **設定 → 請求 → プラン** へ移動
2. **Switch to Pro** をクリックします
3. ダウングレードを確認します
### 年払いに切り替える
1. **設定 → 請求** へ移動
2. **Upgrade to Yearly** をクリックします
3. 年払いで節約
### 月額に切り替える
1. **設定 → 請求** へ移動
2. **Downgrade to Monthly** をクリックします
3. 月額請求で保存します
## Organization (Self-Hosted) 用の Enterprise キーを入手
Organization (Self-Hosted) プランを利用するには、Enterprise キーを入手する必要があります:
1. **設定 → 管理パネル → Enterprise** に移動
<img src="/images/user-guide/billing/enterprise-key.png" alt="Enterprise キー" />
2. **Enterprise キーを入手** をクリック
3. Stripe にリダイレクトされたら、支払い情報を入力して確定してください
4. Enterprise キーが表示されたら、Enterprise の設定ページに貼り付けて、Organization ライセンスを有効化してください

View File

@@ -0,0 +1,105 @@
---
title: お支払いに関する FAQ
description: 価格設定と請求についてのよくある質問。
---
## 料金
<AccordionGroup>
<Accordion title="Twentyを自分でホストして無料で利用できますか?">
はい、自分でホストしながら無料で利用できます。 弊社のコアチームのサポートを除き、Pro (クラウド) プランに含まれるすべてのものにアクセスできます。 サポートはDiscordコミュニティを通じて利用可能です。
セルフホストの利用を希望し、SSO や行レベルの権限などの Premium 機能が必要な場合は、有料の Organization(Self-Hosted)ライセンスを選択できます。 これには、Twenty チームのサポートも含まれており、配布する前に、カスタム コードをオープンソースとして公開する必要がなくなります。
</Accordion>
<Accordion title="プレミアム機能とは何ですか?">
プレミアム機能は、組織プラン(クラウドまたはセルフホスティングプラン)でのみ利用できます。
* **SSO統合**: IDプロバイダーとのシングルサインオンformat@@0
* **行レベルの権限**: レコードレベルでの細かいアクセス制御
* **AI 利用データ**: ワークスペース全体の AI 消費を追跡します。
* **監査ログ**: ワークスペースの各メンバーの操作内容を確認できます
* **メールキャンペーン**: 送信するメールを計画します(近日公開予定)
* **無制限のワークスペース**: 必要なだけ多くのワークスペースを作成できます(セルフホスト版のみ)
* **プライベートソースコード**: 公開されているリポジトリに変更を公開する必要はありません (自己ホストのみ)
</Accordion>
<Accordion title="クラウドとセルフホスティング組織は同じ計画を立てていますか?">
どちらも同じプレミアム機能を提供しています。 ただし、クラウドのサブスクリプションはセルフホスト環境でのデプロイには使用できません。 セルフホスト環境では Enterprise キーが必要です。
</Accordion>
<Accordion title="ビュー専用ユーザーのための無料席を提供していますか?">
無料の席は提供していません。 料金はユーザーごとで、各ユーザーは Twenty にアクセスするためのライセンスが必要です。
</Accordion>
<Accordion title="どこでサブスクリプションをOrganizationプランに切り替えられますか?">
`Settings → Billing → Plans` で行います。 その後、`Organizationに切り替え` をクリックしてください。
</Accordion>
<Accordion title="どこでサブスクリプションをProプランに切り替えられますか?">
`Settings → Billing → Plans` で行います。 その後、`Switch to Pro` をクリックしてください。
</Accordion>
<Accordion title="どこでサブスクリプションを年間プランに切り替えられますか?">
`設定 → 請求` で行います。 その後、`Upgrade to yearly` をクリックしてください。
</Accordion>
<Accordion title="どこでサブスクリプションを月間プランに切り替えられますか?">
`設定 → 請求` で行います。 その後、`Downgrade to monthly` をクリックしてください。
</Accordion>
<Accordion title="どこでクレジット使用量を見ることができますか?">
`設定 → 請求` で見つけることができます。
</Accordion>
<Accordion title="ワークフロークレジットはいくつありますか?">
クレジットの数は、あなたのプランではなく、請求サイクルによって異なります。
* **月額サブスクリプション**: 毎月5クレジット
* **年間サブスクリプション**: 1年あたり50クレジット
</Accordion>
<Accordion title="ワークフロークレジットの消費はどのように機能しますか?">
各ワークフローアクションは、その複雑さに応じてクレジットを消費します。
* **基本的な内部操作** (検索、更新、レコードの作成など) はクレジットを消費しません。
* **より複雑な操作**(コードノードや外部サービスへのリクエストなど)は、より多くのクレジットを消費します。
* **AI プロンプト**も、使用量に応じてさらに多くのクレジットを消費します
* **Apps** はノードをコードするのと同様にクレジットを消費します
ワークフローまたはアプリが実行されるときに、リアルタイムでクレジットが差し引かれます。 消費や残りクレジットを追跡するために **設定 → 請求** で使用状況を監視できます。
</Accordion>
<Accordion title="ワークフロークレジットを追加購入できますか?">
`設定 → 請求` で追加クレジットを購入することができます。
</Accordion>
<Accordion title="1か月分だけ、ワークフロークレジットを追加購入できますか?">
はい、`設定 → 請求`に移動し、`増やす`ボタンをクリックし、必要なクレジットを選択して確認します。 現在の請求期間に適用されます。 再度「Increase」ボタンをクリックし、元の値に戻します。 確認:ダウングレードは次の請求期間から適用されます。
</Accordion>
</AccordionGroup>
## 請求
<AccordionGroup>
<Accordion title="請求の詳細はどこで管理できますか?">
`設定 → 請求` で行います。
</Accordion>
<Accordion title="支払い方法はどこで更新できますか?">
`設定 → 請求` で行います。 その後、`請求の詳細を見る` をクリックしてください。 そこで新しい支払い方法を追加できます。
</Accordion>
<Accordion title="請求情報はどこで更新できますか?">
`設定 → 請求` で行います。 その後、`請求の詳細を見る` をクリックしてください。 そこで請求情報を編集できます。
</Accordion>
<Accordion title="請求書はどこで入手できますか?">
`設定 → 請求` で行います。 その後、`請求の詳細を見る` をクリックしてください。 画面の下部で、すべての請求書を確認することができます。
</Accordion>
<Accordion title="ワークスペース内のユーザー数とシート数が異なるのはなぜですか?">
ワークスペースのシート数は 6 時間ごとに決済システムと同期され、その差分に基づいて請求書が調整されます。
</Accordion>
<Accordion title="新しいワークスペースメンバーに対する請求書が届いたのはなぜですか?">
ワークスペースに新しいワークスペースメンバーが追加されると、違いをカバーするための請求書が送信されます。 ワークスペースメンバーが削除されると、その変更は次回の通常の月間/年間請求書に反映されます。
</Accordion>
</AccordionGroup>

View File

@@ -0,0 +1,39 @@
---
title: 請求
description: Twenty の料金を把握し、サブスクリプションを管理しましょう。
---
Twenty は、チームのニーズに合わせた柔軟な料金プランを提供します。 サブスクリプションの管理、ワークフロー クレジットの確認、請求書へのアクセスは、すべて **設定 → 請求** から行えます。
## このセクションの内容
<CardGroup cols={2}>
<Card title="料金プラン" icon="tags" href="/l/ja/user-guide/billing/capabilities/pricing-plans">
Twenty の料金プランと含まれる内容についてご確認ください。
</Card>
<Card title="FAQ" icon="circle-question" href="/l/ja/user-guide/billing/how-tos/billing-faq">
料金と請求に関するよくある質問。
</Card>
</CardGroup>
## 概要
| プラン | 主な機能 |
| -------------- | -------------------------------------------------------------------------------------- |
| **無料(セルフホスト)** | すべての Pro 機能、コミュニティサポート |
| **Pro(クラウド)** | Premium 機能(SSO、行レベル権限など)を除くすべて、標準サポート付き |
| **組織(クラウド)** | Pro のすべて + Premium 機能(SSO、行レベル権限など)、優先サポート付き |
| **組織(セルフホスト)** | Pro のすべて + Premium 機能(SSO、行レベル権限など)、Twenty チームによるサポート付き、配布前にカスタムコードをオープンソースとして公開する必要なし |
## すぐにわかる回答
**請求はどこで管理できますか?**
プランの確認、支払い方法の更新、請求書へのアクセスは **設定 → 請求** で行えます。
**Twenty を無料で使えますか?**
はい! Twenty をセルフホストすると、すべての Pro 機能を無料で利用できます。
**どのようにアップグレードしますか?**
**設定 → 請求** に移動し、**組織プランに切り替え** または **年払いに切り替え** をクリックします。
詳しくは [請求に関する FAQ](/l/ja/user-guide/billing/how-tos/billing-faq) をご覧ください。

View File

@@ -0,0 +1,43 @@
---
title: カレンダー
description: Twenty のカレンダー統合機能について。
---
**メモ**:カレンダーを接続し、同期設定を構成するには、[メールとカレンダーの設定](/l/ja/user-guide/calendar-emails/overview)を参照してください。
## カレンダー統合の仕組み
Twenty はカレンダーのイベントを自動的に同期し、関連する CRM レコードにリンクします。これにより、連絡先や企業との会議履歴を包括的に把握できます。
## カレンダータブ
メールタブの隣に、該当レコードとの会議の履歴が含まれる`カレンダー`タブがあります。
### 対象
* **人物**:特定の連絡先とのすべての会議を表示
* **会社**:会社およびその従業員に関連するすべての会議を表示
* **商談**:この商談に紐づく会社に関連する会議の履歴にアクセス
### 会議履歴の表示
1. **レコードに移動**:任意の人物、会社、機会のレコードに移動
2. **カレンダータブを選択**:メールタブの隣の`カレンダー` タブをクリック
3. **会議履歴を閲覧**:予定されたすべての会議とその詳細を参照
4. **会議コンテキストにアクセス**:会議の参加者、時間、関連情報を確認
## 可視性設定
カレンダーデータは、メールと同じ可視性設定に従い、両方の通信チャネルで一貫したプライバシーコントロールを保証します。
## 同期されるもの
* **外部会議**:組織外の連絡先とのすべての会議
* **自動リンク**:出席者のメールアドレスに基づき、会議は既存の人物および会社のレコードに接続されます
* **会議の詳細**:件名、時間、所要時間、参加者
* **更新**:新しいカレンダーイベントは自動的に同期されます
## 同期されないもの
* **内部会議**:同僚のみ(同一ドメイン)の会議は非公開のままです
* **プライベートイベント**:カレンダーでプライベートに設定されたイベント

View File

@@ -0,0 +1,102 @@
---
title: メールボックス
description: Twenty のメール連携機能を理解する。
---
**メモ**:メールアカウントを接続し、同期設定を構成するには、[メールとカレンダーの設定](/l/ja/user-guide/calendar-emails/overview)を訪問してください。
## メール統合の仕組み
Twentyは、接続されたメールボックスからのメールを関連するCRMレコードに自動でリンクし、すべての通信履歴を一箇所にまとめます。
### メールが見つかるオブジェクト
メールの会話は、次の3つの主要なオブジェクトに表示されます。
* **人物**:特定の連絡先との交換されたすべてのメールを表示
* **会社**:会社およびその従業員に関連するすべてのメールを表示
* **商談**: 商談にリンクされている会社に関連するメールスレッドにアクセスします。 この機会での個人のメールスレッドはまだ表示されません。
### メールスレッドの表示
1. **レコードに移動**:任意の人物、会社、機会のレコードにアクセス
2. **メールタブを選択**:`メール` タブをクリックして同期されたメールを表示
3. **メールスレッドを開く**:任意のメールをクリックして完全な会話を開いて読む
4. **履歴を閲覧**:その連絡先とすべてのメール履歴をスクロールして参照する
<img src="/images/user-guide/emails/show-inbox.png" style={{width:'100%'}} />
## あなたが見るもの
### メールスレッドビュー
メールスレッドを開いたとき、次のことができます:
* **完全な会話を読む**:メール交換の全体を参照
* **参加者を見る**:メールスレッドに関与しているすべての人を表示
* **タイムスタンプを確認**:各メールが送信された正確な時間を把握
* **コンテキストにアクセス**:完全な通信履歴を理解
### メールの可視性
メールボックスの設定によっては、以下を確認する場合があります。
* **完全なコンテンツ**:完全なメールテキストと詳細
* **件名+メタデータ**:件名、送信者、受信者、タイムスタンプ
* **メタデータのみ**:メールコンテンツを含まない基本情報
## メールの同期動作
### 同期レート
Twenty は約 **1分あたり400通のメッセージ**を取り込みます。 このレートは現在、Gmail API のレート制限によって制限されています(他のプロバイダーにも同様に適用されます)。
参考:
* 1,000 通のメール → ~2.5 分
* 10,000 通のメール → ~25 分
* 50,000 通のメール → ~2 時間
### 同期されるもの
* **外部メール**:組織外の連絡先とのすべてのメール
* **自動リンク**:メールは既存の人物と会社のレコードに接続
* **複数のアドレス**:どのアドレスからのメールも同じ連絡先レコードにリンク
* **更新**:新しいメールはすぐに表示されます
### 同期されないもの
* **社内メール**:デフォルトでは、同僚同士(同一ドメイン)のメールは非公開のままです(設定 → 一般 → セキュリティで設定)
* **グループメール**:配信リストおよびグループメールは対象外
* **除外フォルダー**:同期しないよう選択したフォルダー(設定 → アカウント → メールで設定)
### 内部メール
Twenty で社内メールを同期するかどうかを選択します:
1. **設定 → 一般 → セキュリティ** に移動します
2. **社内メールを同期** をオン/オフに切り替えます
### 選択フォルダー同期
Twenty と同期するメールフォルダーを制御:
1. **設定 → アカウント** に移動し、接続済みのメールアカウントを選択します
2. メールセクションでフォルダーを設定します
3. 特定のフォルダーを選択して含めるまたは除外する(受信トレイ、送信済み、アーカイブ、カスタムフォルダー)
## メール同期のトラブルシューティング
### 一般的な同期問題
* **同期遅延**:メールはすぐに表示されますが、最初のインポートには時間がかかります
* **メールの欠落**:以下を確認してください:
* メッセージフォルダー設定でフォルダーが除外されている
* 連絡先の自動作成が無効になっている(メールには既存のTwentyレコードが必要)
* メールが同僚(同じドメイン)またはグループリストからのものである
* メールボックスが初期同期をまだ完了していない
### メールの制限事項
* **システムフォルダー**:一部のメールフォルダーは同期できない可能性があります
* **エイリアス**:実際のメールボックスのみが接続できます(メールエイリアス不可)

View File

@@ -0,0 +1,25 @@
---
title: Twenty からミーティングを予約できますか?
description: Twenty から直接ミーティングを予約することに関する情報。
---
## 現在の状況
Twenty のカレンダー連携は、既存のカレンダーイベントを**同期して表示**するように設計されています。
## ワークフローによるミーティングのスケジューリング
ミーティングを手動でスケジュールすることはできませんが、ワークフローを使用して20でスケジュールすることができます。
1. 新しいワークフローを作成
2. ニーズに応じて任意のトリガーを選択します
3. **Create Calendar Event** ノードを追加します
4. 必要なデータをすべて設定します
5. ワークフローを有効化
## 現在できること
* **ミーティング履歴を表示**(People、Companies、Opportunities のレコード上)
* CRM 内の連絡先との**今後のミーティングを確認**
* メールのやり取りと併せて**ミーティングのコンテキストを追跡**
* ミーティング参加者から**連絡先を自動作成**

View File

@@ -0,0 +1,53 @@
---
title: Twenty からメールを送信できますか?
description: Twenty から直接メールを送信することに関する情報。
---
## 現在の状況
Twenty のメール連携は、メール履歴を**同期して表示**するだけでなく、メールを作成して送信できるように設計されています。
レコードページでメールスレッドを表示し、**返信**をクリックすると、メールを直接作成して送信できます。
## Twenty からメッセージを送信する方法
前提条件: 電子メールを送信する機能を持つ接続されたメールアカウント
1. **Ctrl+K** または **Cmd+K** ショートカットでコマンド メニューを開きます
2. 「メール作成」オプションをクリックします。
3. 受信者を選択し、メールに件名、本文、添付ファイルを追加します。
4. 「送信」ボタンをクリックしてメールを送信します
## 現在できること
* **メール履歴を表示**(People、Companies、Opportunities のレコード上)
* CRM 内の連絡先との**メールスレッド全体を閲覧**
* カレンダーイベントと併せて**コミュニケーションのコンテキストを追跡**
* メールでのやり取りから**連絡先を自動作成**
* **リダイレクトで返信** — 返信をクリックしてメールボックスに移動
## ワークフローによるメール送信
**ワークフローを使って自動的にメールを送信できます**。 このような用途に役立ちます:
* 自動フォローアップ
* 連絡先への通知
* レコードの変更をトリガーにしたコミュニケーション
ワークフロー経由で送信されるメールは、接続済みのメールボックスアカウントを通じて送信されます。
→ [Send Email アクション](/l/ja/user-guide/workflows/capabilities/workflow-actions#send-email) について詳しく知る
## メールシーケンスとニュースレター
メールシーケンスやニュースレターには、ワークフローを使って Twenty を専用のメールマーケティングツールに接続することを推奨します。
<Warning>
ドメインのレピュテーションを保護するため、大量メールをメールボックスから直接送信しないでください。 一括配信には専用ツールを使用してください。
</Warning>
→ 設定手順は、[ワークフローからメールを送信する方法](/l/ja/user-guide/workflows/capabilities/send-emails-from-workflows) を参照してください
## 今後の計画
Twenty 内でネイティブにメール作成できる機能はロードマップに含まれています。 この機能の優先度付けの参考にするため、ユースケースを共有するには[GitHub のディスカッション](https://github.com/twentyhq/twenty/discussions)に参加してください。

View File

@@ -0,0 +1,35 @@
---
title: すべてのオブジェクトでメールアクティビティを追跡できますか?
description: 異なるオブジェクト間でのメールアクティビティの追跡について説明します。
---
## サポート対象のオブジェクト
メールアクティビティは現在、**3 つの標準オブジェクト**で利用できます:
| オブジェクト | 表示内容 |
| ------- | --------------------------------- |
| **連絡先** | その特定の連絡先とやり取りしたすべてのメール |
| **会社** | その会社に所属する相手とのすべてのメール(メールドメインに基づく) |
| **商談** | その商談にリンクされた会社に関連するメール |
## なぜこれらのオブジェクトだけなのですか?
連絡先、会社、商談は、メールのコンテキストが最も価値を生む中核のリレーションシップオブジェクトです。 メールスレッドは以下に基づいて自動的にリンクされます:
* **メールアドレス** → 連絡先レコードに照合
* **メールドメイン** → 会社レコードに照合
* **会社の関連付け** → 商談にリンク
## カスタムオブジェクト
**カスタムオブジェクトではメール追跡は利用できません**(現時点では)。
カスタムオブジェクトでメールのコンテキストが必要な場合は、次を検討してください:
* 関連フィールドを使用して、カスタムオブジェクトを連絡先または会社にリンクする
* リンクされた連絡先/会社レコードでメール履歴を閲覧する
## 今後の計画
メールの可視性をカスタムオブジェクトへ拡張することを検討中です。 この機能の優先順位付けの参考になるよう、ユースケースを[GitHub のディスカッション](https://github.com/twentyhq/twenty/discussions)で共有してください。

View File

@@ -0,0 +1,42 @@
---
title: ユーザーごとに複数のメールボックスを接続
description: 1人のユーザーに対して複数のメールアカウントを接続できます。
---
## 概要
Twenty は、**ユーザーごとに無制限のメールアカウント**をサポートしています。 例えば、次のような複数の受信トレイを管理している場合に便利です:
* 個人の仕事用メール + 共有のチーム受信トレイ
* クライアント対応用の複数のメールアドレス
* 役割ごとに別々のメールアカウント
## 複数のメールボックスを追加する方法
1. **設定 → アカウント** に移動します
2. **アカウントを追加**をクリックします
3. 追加の Google または Microsoft アカウント、または IMAP/SMTP プロトコルに対応するその他のメールプロバイダーを接続します
4. このメールボックスの同期設定を構成します
5. 接続したい各メールボックスについて繰り返します
## 複数アカウントの管理
接続された各メールボックスには独自の設定があります:
* **メールの表示範囲**: チームメンバーに何を見せるかを選択します
* **連絡先の自動作成**: メールボックスごとに有効/無効を設定できます
* **フォルダー選択**: 同期するフォルダーを選択
## メールの表示方法
接続したすべてのメールボックスからのメールは Twenty に同期され、次の場所に表示されます:
* **人物レコード**: 連絡先のメールアドレスに基づく
* **会社レコード**: メールドメインに基づく
* **商談**: リンクされた会社に基づく
<Note>各メールには送信元または受信先のメールボックスが表示されるため、各やり取りでどのアカウントが使用されたかを追跡できます。</Note>
## 重要な注意事項
<Warning>実際のメールボックスのみ接続できます。 別のメールボックスに転送するメールエイリアスは個別に接続できません—メインのメールボックス経由で同期されます。</Warning>

View File

@@ -0,0 +1,53 @@
---
title: レコードにメールが表示されない
description: レコードにメールが表示されない場合のトラブルシューティング。
---
## よくある原因
### 1. 初回同期がまだ進行中です
メール同期には時間がかかります。特に大きなメールボックスでは時間を要します。 Twenty は約 **1分あたり400通のメッセージ**を取り込みます(Gmail API のレート制限により制限されます)。
* **カレンダー同期**: 数分で完了します
* **メール同期**: メールボックスのサイズに依存します(例: 10,000 件のメール ≈ 25 分、50,000 件のメール ≈ 2 時間)
**解決策**: 初回の取り込みが完了するまでお待ちください。 メールボックスのサイズに基づいて所要時間を見積もることができます。
### 2. Twenty に連絡先が存在しない
メールは既存の People レコードにのみ表示されます。 連絡先がまだ作成されていない場合:
* メールボックス設定で**連絡先の自動作成**を有効にする
* または、先に Person レコードを手動で作成する
**解決策**: **設定 → アカウント** に移動し、メールボックスを選択して連絡先の自動作成を有効にします。
### 3. 社内メールは除外されます
同じメールドメインの同僚間のメールは、プライバシー保護のため同期されません。
**解決策**: これは想定どおりの動作です。 外部メールのみが同期されます。
### 4. グループまたは配布リストからのメール
グループ宛てのメールや配布リストは同期対象外です。
**解決策**: これは想定どおりの動作です。
### 5. 同期対象として選択されていないフォルダー
メッセージフォルダー機能を使用している場合、一部のフォルダーが除外されている可能性があります。
**解決策**: **設定 → アカウント** に移動し、メールボックスを選択してフォルダー同期の設定を確認してください。
### 6. レコードのメールアドレスが間違っている
メールで使用されているものとは異なるメールアドレスが Person レコードに登録されている可能性があります。
**解決策**: 正しいメールアドレスを Person レコードに追加してください。
## まだうまくいきませんか?
1. メールボックスの接続を一度解除して再接続してみてください
2. 問題が解決しない場合はサポートにお問い合わせください

View File

@@ -0,0 +1,58 @@
---
title: インポートされるメールを制限
description: Twenty にインポートされるメールを管理します。
---
## 概要
デフォルトでは、Twenty は接続済みメールボックスのすべての外部メールを同期します。 **フォルダー選択** と **表示設定** を使用して、インポート対象を制限できます。
## 方法 1: フォルダー選択(推奨)
Twenty と同期するメールフォルダーを制御:
1. **設定 → アカウント** に移動
2. 接続済みのメールアカウントを選択
3. 同期するフォルダーを選択してください:
| フォルダー | 説明 |
| ------------- | ------------- |
| **受信トレイ** | 主要な受信メール |
| **送信済み** | 送信したメール |
| **アーカイブ** | アーカイブされたメッセージ |
| **カスタムフォルダー** | 任意に指定したフォルダー |
4. 同期したくないフォルダーを除外(スパム、ゴミ箱、個人用フォルダー)
<Note>これにより、すべてを同期することなく、CRM に表示されるメールを正確に制御できます。</Note>
## 方法 2: 連絡先の自動作成設定
メールから連絡先を作成するタイミングを制御します:
1. **設定 → アカウント** に移動します
2. 接続済みのメールボックスを選択
3. オプションを選択:
* **無効**: 連絡先は作成されませんが、メールは既存の連絡先と引き続き同期されます
* **送受信**: すべての外部メールから連絡先を作成します
* **送信のみ**: 自分が送信したメールからのみ連絡先を作成します
## 社内メール
同僚同士(同じドメイン)のメッセージは、Twenty で同期できます。
1. **設定 → 一般 → セキュリティ** に移動します
2. **社内メールを同期** をオン/オフに切り替えます
<Note>デフォルトでは、このオプションはオフになっています。</Note>
## 常に除外されるもの
設定に関係なく、これらのメールは同期されません:
* **グループメール**: 配信リストおよびグループメッセージ
* **スパム/ゴミ箱**: システムフォルダーは通常除外されます
## 重要な注意事項
<Note>現時点では、選択同期用の CC メールアドレスは提供していません。 上記のフォルダー選択機能を使用して、同等のレベルの制御が可能です。</Note>

View File

@@ -0,0 +1,144 @@
---
title: カレンダーとメール
description: メールとカレンダーのアカウントをTwentyに接続します。
---
## 接続オプション
### Google アカウント(Gmail & Google カレンダー)
1. **設定 → アカウント** に移動します
2. **アカウントを追加**をクリックします
3. **Googleで続行**を選択します
4. Twenty に Gmail および Google カレンダーへのアクセスを許可
5. メールの同期設定(表示、自動作成)を設定し、→ **次へ**をクリックします
6. カレンダーの同期設定(表示、自動作成)を設定し、→ **アカウントを追加**をクリックします
7. メールとカレンダーのイベントは自動で同期され始めます
### Microsoft アカウント(Outlook & Microsoft カレンダー)
1. **設定 → アカウント** に移動します
2. **アカウントを追加**をクリックします
3. **Microsoftで続行**を選択します
4. Twenty に Outlook および Microsoft カレンダーへのアクセスを許可
5. メールの同期設定(表示、自動作成)を設定し、→ **次へ**をクリックします
6. カレンダーの同期設定(表示、自動作成)を設定し、→ **アカウントを追加**をクリックします
7. メールとカレンダーのイベントは自動で同期され始めます
### IMAP/SMTP/CalDAV セットアップ(他のプロバイダー)
他のメールおよびカレンダー プロバイダーの場合:
1. **設定 → アカウント** に移動します
2. 受信メールを同期するために IMAP 設定を構成し、メールを送信するために SMTP 設定を構成します
3. カレンダー用の CalDAV 設定を構成
4. 接続をテスト
<Note>
**エアギャップまたは社内ネットワークでのセルフホスティング**: デフォルトでは、Twenty はプライベート/社内 IP アドレスへの送信接続を拒否します(SSRF 保護)。 メールサーバーまたはカレンダーサーバーがローカル/プライベート IP(例: LAN 上のオンプレミスサーバー)で稼働している場合、そのサーバーへの接続はブロックされます。 それらへの接続を許可するには、サーバー上で次の環境変数を設定します。
```
OUTBOUND_HTTP_SAFE_MODE_ENABLED=false
```
これは、送信リクエスト(HTTP ワークフローアクション、Webhook、IMAP/SMTP/CalDAV 接続)**すべて**に対してセーフモードを無効にします。そのため、SSRF 保護が不要な、信頼できる分離されたネットワークでのみ設定してください。
</Note>
### 複数のメールボックス
* **無制限のアカウント**: ユーザーごとに複数のメールアカウントを接続
* **アカウント管理**: 異なるメールボックス間を切り替える
* **同期設定**: メールボックスごとに異なる設定を構成
<Warning>
本物のメールボックスのみ接続可能(例: support@domain.com で独自の受信トレイ)。 他のメールボックスに転送するメールエイリアスは Twenty に接続できません。
</Warning>
## メール設定
### メッセージの可視性
メールの可視性レベルを選択:
* **メタデータのみ**: 基本情報(送信者、受信者、日付、時間)のみ共有
* **件名とメタデータ**: 件名とメタデータを共有
* **すべてのメール コンテンツ**: 添付ファイルを含む全メールコンテンツを共有
### 連絡先の自動作成
* **非活性化**: 連絡先の自動作成なし
* **受信したメッセージの場合**: すべての外部メールのやり取りのための連絡先を作成します
* **送信メッセージ用のみ**: 送信するメールの連絡先のみ作成
* **注意**: 既定では、内部メール(すべての参加者があなたのドメインを共有している場合)は、プライバシー保護のために同期されません
<Note>有効にすると、連絡先はメールドメインに基づいて会社レコードに自動的にリンクされます。 会社がまだ存在しない場合は、Twentyが会社レコードを作成します。</Note>
<Note>
**内部メールの同期**: 「内部メールは同期しない」という動作が既定ですが、オフにすることもできます。 このトグルは詳細設定にあります:
1. **Settings** を開き、設定ページの下部にある **Advanced** トグルを有効にします
2. **General → Security** に移動します
3. すべての参加者が同じドメインを共有するメールを含めるには、**Sync Internal Emails** トグルを有効にします
これはワークスペース全体に適用される設定です(大学や共有ドメインの組織などに便利です)。
</Note>
### メッセージ フォルダー選択で同期するメールを制御
Twenty と同期するメールフォルダーを制御:
1. **設定 → アカウント** に移動し、接続済みのメールアカウントを選択します
2. 同期するフォルダーを選択してください:
* **受信トレイ**: 主要な受信メール
* **送信済み**: 送信したメール
* **カスタムフォルダー**: 含めたい特定のフォルダー
* **フォルダーの除外**: スパム、ゴミ箱、個人用フォルダーなどをスキップ
これにより、CRM に表示されるメールをすべて同期することなく正確に制御できます。
**同期される内容:**
* **外部メール**: 選択されたフォルダーの外部連絡先とのすべてのメール
* **Internal Emails**: 既定では同期されません(同じドメインのメールはプライベートのままです)。 **Settings** の下部で **Advanced** トグルを有効にし、その後 **General → Security** の下にある **Sync Internal Emails** をオンにすると、ワークスペース全体で内部メールも含めて同期されます。
* **添付ファイル**: H1 2026 に登場予定
**注意**: 選択的な同期用の CC メールアドレスは提供していません。 代わりに、上記のメッセージフォルダー機能を使用して、Twenty と同期するメールの制御レベルを同様に達成してください。 **注意**: 選択的な同期用の CC メールアドレスは提供していません。 代わりに、上記のメッセージフォルダー機能を使用して、Twenty と同期するメールの制御レベルを同様に達成してください。 代わりに、上記のメッセージフォルダー機能を使用して、Twenty と同期するメールの制御レベルを同様に達成してください。
## カレンダー設定
### イベントの可視性
ワークスペース内の他のユーザーに表示される内容を選択:
* **すべて**:イベントの詳細はあなたのチームと共有されます
* **メタデータ**: 日付と参加者のみがあなたのチームと共有されます
### 会議のための連絡先自動作成
* **はい**: CRM にない会議参加者の連絡先を自動的に作成
* **いいえ**: 既存の連絡先にのみ会議をリンク
<Note>有効にすると、連絡先はメールドメインに基づいて会社レコードに自動的にリンクされます。 会社がまだ存在しない場合は、Twentyが会社レコードを作成します。</Note>
### 同期されるイベントを制御する
* **会議インポート**: カレンダーイベントを自動的にインポート
* **連絡先のリンク**: 会議を人物および会社のレコードにリンク
**同期される内容:**
* **会議**: 外部参加者とのカレンダーイベント
* **連絡先のリンク**: イベントが自動的に CRM レコードにリンク
* **チームイベント**: 共有カレンダーの可視性
## 同期頻度
**5分ごとの更新**: メールとカレンダーのデータが初回インポート後に5分ごとに自動的に同期されます。
<Note>
**初回同期のタイミング**: カレンダーの同期はすばやく完了します(通常は数分以内に)。一方、メールの同期は大容量のメールボックスではより時間がかかります。 Twenty は約 **1分あたり400通のメッセージ**を取り込みます(Gmail API のレート制限により制限されます)。そのため、10,000通のメールがあるメールボックスでは約25分かかります。 カレンダーのイベント由来の連絡先がメールの連絡先より先に表示されても心配はいりません。これは正常な動作です。
</Note>
## 次のステップ
* [メールボックスの機能](/l/ja/user-guide/calendar-emails/capabilities/mailbox)
* [メールが表示されない場合のトラブルシューティング](/l/ja/user-guide/calendar-emails/how-tos/i-dont-see-emails-on-records)

View File

@@ -0,0 +1,275 @@
---
title: チャート設定
description: チャートが必要なとおりにデータを表示するように設定します。
---
import { ChartIcon } from '/snippets/chart-icon.mdx';
## チャート設定にアクセス
1. ダッシュボード右上の **編集** ボタンをクリック
<img src="/images/user-guide/dashboard/dashboard-edit.png" alt="編集モード" />
2. ダッシュボードが編集モードになります。
3. 任意のウィジェットをクリックして選択します。
4. 右側に設定パネルが開きます。
設定は次のセクションに分かれています。
* **データ**: 取得するデータとその絞り込み方法
* **X 軸**: カテゴリのグループ化と並べ替え方法(棒グラフ/折れ線グラフ)
* **Y 軸**: 何を測定し、どのように表示するか(棒グラフ/折れ線グラフ)
* **スタイル**: 色、ラベル、表示オプション
<Note>
一部の設定は、他の設定を構成したときにのみ表示されます。 たとえば、日付フィールドを選択した場合にのみ **日付の粒度** が表示されます。
</Note>
---
## データ設定
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="database" />ソース </span>
データを取得するオブジェクトを選択します。
1. **ソース** をクリック
2. オブジェクトを選択します(商談、人物、会社など)。
標準オブジェクトとカスタムオブジェクトのすべてが利用できます。 ソースを変更すると、フィールドの選択肢は選択したオブジェクトに依存するため、他の設定がリセットされます。
<img src="/images/user-guide/dashboard/dashboard-chart-settings-source.png" alt="ソース" />
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="filter" />フィルター </span>
チャートに含めるレコードを制限します。
1. **フィルター** をクリックします
2. フィルタービルダーが開きます。
3. **+ Add filter** をクリック
4. フィールド、条件、値を選択します。
5. 必要に応じてフィルターを追加します。
フィルターの動作はテーブルビューと同様です。 データの特定のセグメントに焦点を当てるために使用します。
**例**: ステージが「受注」に等しい商談でフィルターし、クローズ済みの商談のみを表示します。
<img src="/images/user-guide/dashboard/dashboard-chart-settings-filters.png" alt="フィルター" />
<Tip>
日付フィールドでは、**Is relative** を使うと「過去7日間」や「今月」のような自動更新される動的フィルターを作成できます。
</Tip>
<Tip>
高度なフィルターに対応しています — 複数のフィルタールールを追加し、**And** または **Or** ロジックで組み合わせます。
</Tip>
---
## X 軸の設定
これらの設定は棒グラフと折れ線グラフの横軸を制御します。通常、データをカテゴリにどのようにグループ化するかを決定します。
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="axis-x" />表示データ </span>
データをグループ化する基準のフィールドを選択します。 X 軸に表示されるカテゴリが決まります。
**例**: 「ステージ」を選択するとパイプラインのステージ別にグループ化されたデータを表示できます。「作成日」を選択すると時間の経過に沿ったデータを表示できます。
<img src="/images/user-guide/dashboard/dashboard-chart-settings-x-data-on-display.png" alt="表示中のデータ" />
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="calendar" />日付の粒度 </span>
日付フィールドでグループ化する場合、グループ化の期間を選択します。
| オプション | グループ化の基準 | 出力例 |
| --------- | -------- | ----------------------- |
| **日** | 各日 | 1月1日、1月2日、1月3日... |
| **週** | カレンダー週 | 第1週、第2週、第3週... |
| **月** | 各月 | 1月、2月、3月... |
| **四半期** | 会計四半期 | Q1、Q2、Q3、Q4 |
| **年** | 各年 | 2023、2024、2025 |
| **曜日** | 曜日(集計) | 月曜日、火曜日... (すべての月曜日を集計) |
| **年の月** | 月(集計) | 1月、2月... (すべての1月を集計) |
| **年の四半期** | 四半期(集計) | Q1、Q2、Q3、Q4(すべてのQ1を集計) |
「曜日」「年の月」などのオプションは、全期間を横断して集計します。 「曜日」を使うと、通常どの曜日に最も多くの商談があるかが分かります。 「月」を使うと、月ごとの傾向を確認できます。
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="arrows-sort" />並べ替え </span>
X 軸上のカテゴリの順序を制御します。
* **Position** – Select フィールド設定で定義された順序を使用
* **Alphabetical** – A から Z(または日付の場合は時系列)
* **By value** – 指標の値で順序付け(高い/低いの順)
* **Manual** – ドラッグして任意の順序に設定
<img src="/images/user-guide/dashboard/dashboard-chart-settings-x-sort.png" alt="並べ替え" />
**ヒント**: パイプラインのステージには、**Position** を使用して営業プロセスの順序(見込み → 資格判定 → 提案 → 受注)のとおりに表示します。
<Note>
表示されるオプションはフィールドタイプによって異なります。 Select フィールドにはすべてのオプションがありますが、日付フィールドやテキストフィールドでは表示されるオプションが少なくなります。
</Note>
<Tip>
**Manual** 並べ替えでは、カテゴリをドラッグして任意の順序を作成できます。特定のセグメントを強調したり、データでストーリーを伝えたりするのに最適です。
</Tip>
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="eye-off" />ゼロ値を除外 </span>
ゼロまたはデータのないカテゴリを非表示にします。
* **オン**: レコードのないカテゴリを非表示にする
* **オフ**: 空でもすべてのカテゴリを表示する
データがまばらなチャートを見やすくするために使用します。
---
## Y 軸の設定
何を測定し、どのように表示するかを制御します。
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="axis-y" />表示データ </span>
指標を計算するフィールドと演算を選択します。
* **カウント** – すべてをカウント、空をカウント、空以外をカウント、一意の値をカウント
* **数値演算** – 合計、平均、最小、最大(数値フィールド)
* **パーセンテージ** – 空の割合、空以外の割合
ブール値フィールドでは、True/False のカウントが追加されます。 日付フィールドを含む集計チャートでは、最古/最新を表示できます。
**例**: 「金額」を合計で選択するとカテゴリごとの商談総額を表示できます。Count all を選択すると商談件数を表示できます。
<img src="/images/user-guide/dashboard/dashboard-chart-settings-y-data-on-display.png" alt="表示中のデータ" />
<Note>
表示されるオプションはフィールドとチャートの種類によって異なります。 期待する演算が見つからない場合は、フィールドタイプを確認してください。
</Note>
### 比率
Select、Multi-select、またはブール値フィールドでは、特定の値の割合を計算できます。
1. Select、Multi-select、またはブール値フィールドを選択します
2. **Ratio** を有効にする
3. 測定するオプションを選択します
**例**: すべての商談に対する「受注」商談の割合を表示します。 合計50件中受注が10件なら、チャートには20%と表示されます。
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="filters" />グループ化 </span>
第2の次元を追加して複数の系列(複数のバーや線)を作成します。
1. 先に X 軸のフィールドを設定します
2. **Group by** をクリック
3. 2 つ目のフィールドを選択します
**例**: ステージ(X 軸)とオーナー(グループ化)の両方で商談をグループ化し、各担当者のパイプラインの内訳を並べて表示します。
<img src="/images/user-guide/dashboard/dashboard-chart-settings-y-group-by.png" alt="グループ化" />
Group by を設定すると、チャートに複数の色が表示され、凡例が現れます。
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="calendar" />日付の粒度 </span>
Group by が日付フィールドの場合、期間を選択します(X 軸と同じオプション)。
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="arrows-sort" />並べ替え </span>
Group by 設定時、グループ化された系列の順序(各カテゴリ内でどのオーナーのバーを先頭にするかなど)を制御します。
X 軸の並べ替えと同じオプション(**Position**、**Alphabetical**、**Manual**)ですが、第二のグループ化では「値に基づく並べ替え」は利用できません。
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="chart-bar-popular" />累積 </span>
個別値の代わりに累計を表示します。
* **オフ**: 各バー/ポイントがそれ自身の値を表示
* **オン**: 各バー/ポイントが、それ以前のすべての値の合計に自身の値を加えたものを表示
**例**: 1月 = 10、2月 = 15
* 累積オフ: 10 と 15 を表示
* 累積オン: 10 と 25(10 + 15)を表示
累積を使うと、目標に向けた進捗を経時的に追跡できます。
<img src="/images/user-guide/dashboard/dashboard-chart-settings-y-cumulative.png" alt="累積" />
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="math-min" />最小値 / <ChartIcon icon="math-max" />最大値 </span>
Y 軸の最小値と最大値を固定します。
* 空欄のままにすると自動調整されます
* 数値を入力すると境界が固定されます
**使用する場面:**
* 視覚的に正確な比較のために最小値を 0 に設定する
* 複数のチャートでスケールを統一するため両方を設定する
* 両方を設定して特定の値の範囲に焦点を当てる
---
## スタイル設定
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="color-swatch" />色 </span>
チャートの配色を設定します。 さまざまなカラーパレットから選択できます。
<Note>
選択フィールドでグループ化している場合、フィールド設定で各オプションに定義した色が自動的に使用されます。
</Note>
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="gizmo" />軸名 </span>
表示する軸ラベルを選択します: **なし**、**X 軸**、**Y 軸**、**両方**(棒グラフと折れ線グラフのみ)。
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="stack-2" />積み上げ棒 / 積み上げ折れ線 </span>
Group by が設定されている場合、複数系列の表示方法を選択します。
* **オフ(グループ)**: 系列が横に並びます。 グループ間の正確な値を比較するときに使用します。
* **オン(積み上げ)**: 系列が重なって表示されます。 構成(全体に対する内訳)を示すときに使用します。
**例**: ステージ別の商談(オーナー別にグループ化)
* グループ: 各オーナーの正確な数値を横並びで確認
* 積み上げ: ステージごとの商談合計と各オーナーの内訳を積み上げで表示
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="badge-2k" />データラベル </span>
棒、点、スライスなどのチャート要素に値を直接表示します。
* **オン**: 値をチャートに表示
* **オフ**: 値を表示しない(すっきりした見た目)
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}> <ChartIcon icon="text-caption" />凡例 </span>
凡例を表示/非表示にします(Group by 設定時のみ表示)。
* **オン**: 各色が何を表すかを凡例に表示
* **オフ**: 凡例を表示しない
<Tip>
**ホバー** すると、そのグループを強調表示します。 **クリック** すると、一時的にチャートから非表示にします。
</Tip>
---
## チャート固有の注意事項
### パイチャート
* <span style={{ display: 'inline-flex', verticalAlign: 'middle' }}><ChartIcon icon="chart-pie" size={16} /></span> **各スライスが表すもの** – スライスのグループ化方法を定義
* <span style={{ display: 'inline-flex', verticalAlign: 'middle' }}><ChartIcon icon="eye-off" size={16} /></span> **空のカテゴリを非表示** – 値が 0 のスライスを除外
* <span style={{ display: 'inline-flex', verticalAlign: 'middle' }}><ChartIcon icon="number-123" size={16} /></span> **中央に値を表示** – 集計値(合計、平均、件数など)を表示
### 集計チャート
* <span style={{ display: 'inline-flex', verticalAlign: 'middle' }}><ChartIcon icon="caret-left" size={16} /></span> **接頭辞** – 数値の前に文字を追加(例: `$`)
* <span style={{ display: 'inline-flex', verticalAlign: 'middle' }}><ChartIcon icon="caret-right" size={16} /></span> **接尾辞** – 数値の後に文字を追加(例: `%`)

View File

@@ -0,0 +1,92 @@
---
title: ダッシュボード
description: タブでダッシュボードを作成・整理し、CRM データを可視化します。
---
## 概要
Twenty のダッシュボードは階層構造で整理されています: **Dashboards → Tabs → Widgets**。 各ダッシュボードには複数のタブを含めることができ、各タブにはウィジェット(チャート、数値、iFrames)が含まれます。
## ダッシュボードの作成
1. ナビゲーションの **Dashboards** に移動します。
2. 「**+ New Record**」をクリックします
<img src="/images/user-guide/dashboard/dashboard-create-new.png" alt="新しいダッシュボードを作成" />
3. ダッシュボードに名前を付けます
4. タブとウィジェットの追加を開始します
## タブの操作
タブを使うと、ダッシュボードを論理的なセクションに整理できます。
### タブの作成
1. 編集モードでは、タブバーの **+** をクリックすると、右側のパネルが開きます。
2. タブに名前を付けます(例: 「パイプライン概要」「チームのパフォーマンス」)。
3. タブにウィジェットを追加します。
### タブの並べ替え
1. 編集モードで、移動したいタブをクリックして押し続けます。
2. 新しい位置にドラッグ&ドロップします。
3. タブをクリックし、コマンドメニューを使用してタブを左右に移動することもできます。
### タブの削除
1. 編集モードで、削除したいタブをクリックします。
2. コマンドメニューの **Delete** ボタンをクリックします。
### タブの複製
1. 複製したいタブをクリックします。
2. サイドパネルの **Duplicate** ボタンをクリックします。
<img src="/images/user-guide/dashboard/dashboard-tabs.png" alt="ダッシュボードのタブ" />
## ダッシュボードのレイアウト
### ウィジェットの配置
* ドラッグ&ドロップで配置します。
* 強調のためにサイズを変更します。
* 関連するチャートをまとめてグループ化します。
### ダッシュボードの複製
1. 複製したいダッシュボードを選択します。
2. コマンドバーを **Cmd + K**(Windows の場合は **Ctrl + K**)で開きます。
3. **Duplicate dashboard** を選択します。
<img src="/images/user-guide/dashboard/dashboard-duplicate.png" alt="ダッシュボードを複製" />
### ベストプラクティス
* **論理的な流れ**: 概要から詳細へ配置します。
* **視覚的な階層**: 重要な指標には大きなチャートを使用します。
* **一貫したスタイル**: 色やフォントを統一します。
## 表示とアクセス権
### ダッシュボードの表示範囲
ダッシュボードは、あなたの Twenty ワークスペースにアクセス権のあるすべての人に表示されます。 現在、プライベートダッシュボードのオプションはありません。
### お気に入り
ダッシュボードをお気に入りに追加して、すばやくアクセスできます。 これは個人設定であり、あなたのお気に入りは他のユーザーには表示されません。
ダッシュボードをお気に入りに追加するには、ダッシュボードを開いて星アイコンをクリックします。
### タイムゾーンの動作
ダッシュボードは現在、閲覧しているユーザーのタイムゾーンに基づいてデータを表示します。 つまり、同じダッシュボードでも、地域の異なるチームメンバー(例: APAC と US)には異なる指標が表示される場合があります。
<Note>
**近日対応**: ダッシュボードごとに特定のタイムゾーンを設定できるようにし、ユーザーの所在地に関係なく一貫したデータが表示されるようにします。
</Note>
<Note>
**近日対応**: ダッシュボードレベルのフィルターにより、すべてのウィジェットに一括でフィルターを適用でき、データの探索がより速くなります。
</Note>

View File

@@ -0,0 +1,169 @@
---
title: ウィジェット
description: Twentyのウィジェットの種類と可視化オプションを確認します。
---
import { ChartIcon } from '/snippets/chart-icon.mdx';
## 利用可能なウィジェット
Twentyは、CRMデータを可視化するためのさまざまなウィジェットタイプを提供します。
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}><ChartIcon icon="chart-bar-popular" />棒グラフ</span>
データを横棒または縦棒で表示します。
<Frame>
<img src="/images/user-guide/dashboard/dashboard-widget-bar-chart.png" alt="棒グラフ" />
</Frame>
**最適な用途:**
* カテゴリ間の値を比較する
* ランキングを表示する
* 期間別の指標を追跡する
**使用例:**
* ステージ別の商談
* 営業担当者別の売上
* 月別のコンタクト追加数
<Note>
**制限を表示**: 棒グラフは、Group Byを使用する場合、最大100小節、および1小節あたり50グループを表示できます。 警告 "Undisplayed data: max X bars per chart" が表示された場合は、フィルターを追加してデータを絞り込むか、グルーピングを変更します(例: 日単位ではなく週単位でグループ化)。
</Note>
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}><ChartIcon icon="chart-pie" />円グラフ</span>
全体に占める割合を表示します。
<Frame>
<img src="/images/user-guide/dashboard/dashboard-widget-pie-chart.png" alt="円グラフ" />
</Frame>
**最適な用途:**
* 構成や分布を示す
* 部分と全体を比較する
* 主要セグメントを強調する
**使用例:**
* ソース別の商談分布
* 業種別のコンタクト内訳
* 担当者別のパイプライン構成
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}><ChartIcon icon="chart-line" />折れ線グラフ</span>
時間の経過に伴う傾向を表示します。
<Frame>
<img src="/images/user-guide/dashboard/dashboard-widget-line-chart.png" alt="折れ線グラフ" />
</Frame>
**最適な用途:**
* 時間経過による変化を追跡する
* トレンドを把握する
* 複数の指標を比較する
**使用例:**
* 月次の商談数の推移
* 四半期ごとの売上成長
* 活動量の推移
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}><ChartIcon icon="sum" />グラフ</span>
重要な単一値を目立つ形で表示します。
<Frame>
<img src="/images/user-guide/dashboard/dashboard-widget-aggregate-chart.png" alt="集計グラフ" />
</Frame>
**最適な用途:**
* KPIを強調する
* 合計や平均を表示する
* ステータスを素早く確認する
**使用例:**
* パイプラインの合計金額
* オープンな商談数
* コンバージョン率
**高度なオプション:**
* **比率**: Select フィールドで、値同士の比率を計算します。 **Data on display** → フィールドを選択 → **Ratio** オプションを有効にします。
* **Prefix & Suffix**: 可読性を高めるために、数値の前後にカスタムテキストを追加します(例: "$" のプレフィックスや "%" のサフィックス)。
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}><ChartIcon icon="frame" />iFrame</span>
外部ツールやコンテンツをダッシュボードに直接埋め込みます。
<Frame>
<img src="/images/user-guide/dashboard/dashboard-widget-table.png" alt="表グラフ" />
</Frame>
**最適な用途:**
* 個別アイテムの検索
* 正確な値の確認
* 監査または参照
**使用例:**
* 今月クロージング予定の案件
* 今週の新規リード
* 期限超過の請求書
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}><ChartIcon icon="table" />テーブル</span>
フィルタ済みのレコードをダッシュボード上で直接確認できます。
<Frame>
<img src="/images/user-guide/dashboard/dashboard-widget-iframe.png" alt="iFrame" />
</Frame>
**最適な用途:**
* 外部のレポートやダッシュボードを表示する
* サードパーティのセールスツールを統合する
* 他システムのライブコンテンツを表示する
**使用例:**
* サポートツールの指標
* ダイヤラーの指標
* セールスシーケンスツールのライブコンテンツ
### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}><ChartIcon icon="align-box-left-top" />リッチテキスト</span>
書式設定されたテキストとコンテンツをダッシュボードに直接追加します。
<Frame>
<img src="/images/user-guide/dashboard/dashboard-widget-rich-text.png" alt="リッチテキスト" />
</Frame>
**最適な用途:**
* 説明または説明を追加する
* ダッシュボードの説明
* メモと注釈
**機能:**
* リッチテキストの書式設定(太字、斜体、リストなど)
* 画像とファイルのアップロード
* Markdown スタイルの編集
<Note>
**近日提供予定**: ゲージチャートはまだ利用できませんが、ロードマップに含まれています。
</Note>
### ウィジェットの複製
1. ウィジェットをクリックします
2. **Options** を開きます
3. **Duplicate widget** をクリックします

View File

@@ -0,0 +1,54 @@
---
title: ダッシュボードFAQ​
description: Twenty のダッシュボードに関するよくある質問。
---
<AccordionGroup>
<Accordion title="プライベートなダッシュボードを作成できますか?">
いいえ、現在ダッシュボードは、あなたの Twenty ワークスペースへアクセスできるすべてのユーザーに表示されます。 プライベートダッシュボードはまだ利用できません。
</Accordion>
<Accordion title="自分の指標が同僚のものと異なって見えるのはなぜですか?">
現在、ダッシュボードは閲覧者のタイムゾーンに基づいてデータを表示します。 異なる地域(例: APAC と US)にいる場合、同じダッシュボードでも数値がわずかに異なることがあります。 チーム間でデータを一貫させるため、ダッシュボードごとのタイムゾーン設定の追加に取り組んでいます。
</Accordion>
<Accordion title="ダッシュボードをエクスポートできますか?">
現時点では、ダッシュボードのエクスポートは利用できません。 この機能はロードマップに含まれています。
</Accordion>
<Accordion title="ダッシュボードを外部ユーザーと共有できますか?">
いいえ、現在は Twenty ワークスペース外のユーザー(Twenty を利用していないユーザー)とのダッシュボード共有には対応していません。
</Accordion>
<Accordion title="ダッシュボードをお気に入りに追加するにはどうすればよいですか?">
お気に入りに追加したいダッシュボードを開き、星形アイコンをクリックします。 お気に入りは個人設定であり、他のユーザーには影響しません。
</Accordion>
<Accordion title="タブとウィジェットの違いは何ですか?">
* **タブ** はダッシュボードをセクションに整理します(ダッシュボード内のページのようなもの)
* **ウィジェット** は各タブ内の個々の可視化要素(グラフ、数値、iFrame)です
構造: ダッシュボード → タブ → ウィジェット
</Accordion>
<Accordion title="ダッシュボード全体に一括でフィルターを適用できますか?">
ダッシュボードレベルのフィルターはまだ利用できませんが、この機能はロードマップに含まれています。 現在は、各ウィジェットごとに個別にフィルターを適用する必要があります。
</Accordion>
<Accordion title="ゲージチャートは利用できますか?">
まだできません。 ゲージチャートは私たちのロードマップに含まれており、今後のリリースで追加される予定です。
</Accordion>
<Accordion title="ダッシュボードを複製するにはどうすればよいですか?">
1. 閲覧モードであることを確認してください(編集中ではないこと)。
2. コマンドバーを **Cmd + K**(Windows の場合は **Ctrl + K**)で開きます。
3. 「**Duplicate dashboard**」を選択します。
</Accordion>
<Accordion title="ダッシュボードのデータはどのくらいの頻度で更新されますか?">
CRM データの変更に合わせてウィジェットは自動的に更新されます:
* ほとんどの指標はリアルタイムで更新されます
* 必要に応じて、更新ボタンで手動更新できます
* トレンド分析のために履歴データは保持されます
</Accordion>
</AccordionGroup>

View File

@@ -0,0 +1,67 @@
---
title: ウィジェットFAQ
description: よくある質問とエラーメッセージの解説。
---
<AccordionGroup>
<Accordion title="件数ではなく割合を表示するにはどうすればよいですか?">
3つの方法:
* **Percent empty/not empty**: Data on display で、Percent empty または Percent not empty を選択します
* **Ratio**: Select または Checkbox フィールドでは、Ratio を有効にすると、特定のオプションを全レコードに対する割合で表示できます
* **Suffix**: 集計チャートでは、Style settings の Suffix に `%` を追加します
</Accordion>
<Accordion title="グループ化と積み上げのバーの違いは何ですか?">
**Group by** を使用する場合、系列は2つの方法で表示できます:
* **Grouped**: バーを横に並べる—正確な値の比較に最適
* **Stacked**: バーを積み上げる—構成の表示に最適
切り替えるには、Style settings で **Stacked** を切り替えます。
</Accordion>
<Accordion title="Sum や Average のオプションが表示されないのはなぜですか?">
利用可能な操作は **フィールドタイプ** によって異なります:
* **数値フィールド**: Sum、Average、Min、Max
* **日付フィールド**: Earliest、Latest(集計チャートのみ)
* **チェックボックスフィールド**: Count true、Count false
オプションが表示されない場合は、互換性のあるフィールドタイプを選択しているか確認してください。
</Accordion>
<Accordion title="一部の設定がグレーアウトしている、または表示されないのはなぜですか?">
多くの設定は、前提条件を満たした場合にのみ表示されます:
* **Date granularity**: 先に日付フィールドを選択します
* **Group by、Legend、Stacked**: 先に Source を設定します
* **Legend、Stacked のトグル**: 先に Group by を設定します
設定が表示されない場合は、先にその前提条件を設定してください。
</Accordion>
<Accordion title="「No data」とは何を意味しますか?">
チャートは設定に一致するレコードを見つけられませんでした。
**対処方法:** フィルターを削除または調整し、正しい Source オブジェクトを選択しているか、指定した期間にレコードが存在するかを確認します。
</Accordion>
<Accordion title="「Invalid configuration」とは何を意味しますか?">
必須の設定が欠けているか、互換性がありません。
**対処方法:** Source が設定されていること、Data on display が構成されていること、必要なグループ化フィールドが選択されていることを確認してください。
</Accordion>
<Accordion title="「Undisplayed data」とは何を意味しますか?">
データが表示制限(バー100、データポイント100、またはスライス100)を超えています。
**対処方法:** フィルターを追加してデータを絞り込むか、Date granularity を Day から Week または Month に変更します。
</Accordion>
<Accordion title="一方の軸にデータが表示されないのはなぜですか?">
選択したフィールドにフィルター対象のレコードの値がないか、フィールドタイプが想定されるデータと一致していません。
**対処方法:** 別のフィールドを試すか、選択したフィールドに値があることを確認してください。
</Accordion>
</AccordionGroup>

View File

@@ -0,0 +1,75 @@
---
title: ダッシュボード
description: Twenty におけるレポートとダッシュボードの基本を学びましょう。
---
## ダッシュボードの理解
Twenty のダッシュボードは、主要なパフォーマンス指標を視覚的に追跡し、CRM データからインサイトを得るための手段を提供します。
<img src="/images/user-guide/dashboard/dashboards_v2.png" alt="ダッシュボード" />
## 主要な概念
### ダッシュボード
ダッシュボードは、CRM データをひと目で表示するタブの集合です。 目的に応じて複数のダッシュボードを作成できます:
* 営業パフォーマンス
* チームの活動
* パイプラインの健全性
* カスタム指標
### タブ
タブを使うと、ダッシュボードをセクションに整理できます。 各タブには1つ以上のウィジェットが含まれます。
### ウィジェット
ウィジェットは、特定のデータを表示する個別の可視化です。 種類には次のものがあります:
* 棒グラフ
* パイチャート
* ラインチャート
* 集計チャート
* iFrame
* リッチテキスト
<Note>
**現在の制限**:
* ダッシュボードのエクスポートおよび外部ユーザー(Twenty 以外のユーザー)との共有は、現時点では利用できません。
* ゲージチャートはまだ利用できません。
</Note>
## 始めに
### 最初のダッシュボードを作成する
1. 「**Dashboards**」セクションに移動します
2. 「**+ New Dashboard**」をクリックします
3. ダッシュボードに名前を付けます
4. コンテンツを整理するためにタブを追加します
5. データを表示するためにウィジェットを追加します
6. 保存
### ウィジェットの追加
1. ダッシュボードのタブを開きます
2. 「**+ Add Widget**」をクリックします
3. ウィジェットの種類を選択します
4. データソース(オブジェクト)を選択します
5. ウィジェットの設定を行います
6. ウィジェットを保存して表示します
## ベストプラクティス
* **シンプルに始める**: いくつかの主要な指標から始め、徐々に追加していきます
* **実行可能なデータに集中**: 意思決定を促進する指標を表示します
* **定期的な確認**: 傾向を見つけるためにダッシュボードを定期的に確認します
* **チームで共有**: 関連するチームメンバーがダッシュボードを閲覧できるようにします
## 次のステップ
* [ウィジェットと可視化](/l/ja/user-guide/dashboards/capabilities/widgets)
* [チャート設定のリファレンス](/l/ja/user-guide/dashboards/capabilities/chart-settings)
* [ダッシュボードのFAQ](/l/ja/user-guide/dashboards/how-tos/dashboards-faq)

View File

@@ -0,0 +1,76 @@
---
title: エラー処理と検証
description: 確定する前に、UI 上でインポートエラーを確認して修正します。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## インポート前の検証
ファイルをアップロードしてフィールドをマッピングした後、Twenty はインポートする**前**にデータを検証します。 これにより、既存のデータに影響を与えることなく、エラーを検出して修正できます。
## 仕組み
1. **CSV ファイルをアップロード**
2. **列を Twenty のフィールドにマッピング**
3. **黄色で強調表示された潜在的なエラーを確認**
4. **UI で直接エラーを修正**
5. **インポートを確定**
<VimeoEmbed videoId="1145273857" title="デモ動画" />
## エラーの表示
問題のある行は **黄色** で強調表示されます。 次のことができます:
* **セルを直接編集**してエラーを修正
* **行を削除**して完全にスキップ
このインライン編集により時間を節約できます。スプレッドシートに戻ってエラーを修正し、再アップロードする必要はありません。
## よくあるエラーの種類
### 重複した値
**原因**: 一意のフィールド(メール、ドメイン)が Twenty に既に存在するか、ファイル内で 2 回出現しています。
**対処**:
* インポート UI で重複値を編集
* 重複行のいずれかを削除
一意性の適用方法の詳細は[一意性制約](/l/ja/user-guide/data-migration/capabilities/uniqueness-constraints)を参照してください。
### 無効な形式
**原因**: データが期待される形式に一致していません(例: 無効なメールアドレス、日付形式の誤り)。
**対処**: セルを編集して正しい形式にする。
各フィールドタイプの期待される形式は[フィールドマッピング](/l/ja/user-guide/data-migration/capabilities/field-mapping)を参照してください。
### 必須フィールドの欠落
**原因**: 必須フィールドが空です。
**対処**: 必須フィールドに値を入力するか、その行を削除する。
### リレーションが見つかりません
**原因**: 参照しているレコードが存在しません(例: インポートされていない会社のドメイン)。
**対処**:
* まず親レコードをインポートする
* または参照値を修正する
正しいインポート順序とレコードの関連付け方法は[リレーションのインポート](/l/ja/user-guide/data-migration/capabilities/import-relations)を参照してください。
## エラーを減らすためのヒント
1. **テンプレートをダウンロード**して、ファイルをインポートする前に期待されるフォーマットを確認してください
2. まず**スプレッドシートでデータをクリーンアップ**
3. **正しい順序でファイルをインポート**してリレーションを取り込む(会社 → 人 → 商談)
4. **小さなバッチでテスト**してから全量インポート
5. **アップロード前に重複を確認**
6. **各ファイルを10,000レコードに制限**

View File

@@ -0,0 +1,198 @@
---
title: フィールドマッピング
description: データインポート時のフィールドマッピングの仕組み。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## フィールドマッピングの仕組み
ファイルをアップロードすると、Twenty が列を解析し、既存のフィールドに一致させようとします。
### 自動マッピング
Twenty は次の基準に基づいて列を照合します:
* 列ヘッダー名(完全一致または類似一致)
* データ型の検出(日付、数値、メールアドレス)
* 一般的なフィールドのパターン
<Note>**クイックヒント:** インポートしたいオブジェクトから数行をエクスポートしてください。 エクスポートしたファイルには、Twenty が想定する正確な列名が含まれているため、インポート時の自動マッピングがスムーズになります。</Note>
### 手動マッピングのオプション
各列に対して、次の操作ができます:
* **フィールドにマップ**:ドロップダウンから一致する Twenty のフィールドを選択します
* **マップしない**:その列をスキップします(データはインポートされません)
<Note>**フィールドはインポート前に存在している必要があります。** インポートで作成されるのはフィールドではなくレコードです。 インポート前に **Settings → Data Model** でカスタムフィールドを作成してください。</Note>
## フィールドタイプの互換性
Data Model で利用可能なすべてのフィールドタイプはインポートに対応しています。
`id` 値をインポートして、新規レコードに特定の ID を割り当てるか、既存レコードを更新することもできます。
<img src="/images/user-guide/fields/all-field-types.png" style={{width:'100%'}} />
## データ形式の要件
<Note>**一部のフィールドには特別な書式があります。** インポートの準備をする前にサンプルファイルをダウンロードし、各フィールドタイプに期待される書式を確認することをおすすめします。</Note>
### 住所フィールド
住所は複数の列を持つネストされたフィールドです。 一部は空欄のままにできます。
* **Address / Address 1**:住所の1行目
* **Address / Address 2**:住所の2行目
* **Address / City**:市区町村名
* **Address / State**:州または都道府県
* **Address / Country**:国名
* **Address / Post Code**:郵便番号/ZIP コード
### 配列フィールド
次の形式を使用します:
```
["value1","value2"]
```
### ブール型フィールド
`TRUE` または `FALSE`(大文字)を使用します。`true` や `false` は使用しません
### 通貨フィールド
通貨は 2 列からなるネストされたフィールドで、**両方を必ず入力** する必要があります:
* **Amount / Amount**:数値(例:`1234.56`)
* **Amount / Currency**:通貨コード(例:`USD`、`EUR`)
### 日付フィールド
サポートされている形式:
* `YYYY-MM-DD`(推奨)
* `MM/DD/YYYY`
* `DD/MM/YYYY`
* ISO 8601 形式
### ドメインフィールド
* 重複作成を避けるため、`https://domain.com` の形式を使用することを推奨します。これは、メールボックスおよびカレンダーの同期で作成される Companies オブジェクトでも使用される形式です
* `Domain Label` と `Domain URL` を入力できます。ベストプラクティスは、ラベルには `domain.com`、URL には `https://domain.com` を入力することです
* Companies オブジェクト内でドメインは一意である必要があります
* **インポートするファイル内でもドメインは一意である必要があります**
### メールアドレスフィールド
* 有効なメールアドレス形式である必要があります
* People オブジェクト内でメールアドレスは一意である必要があります
* **インポートするファイル内でもメールアドレスは一意である必要があります**
* 追加のメールアドレスについて:メインのメールには **Emails / Primary Email** を使用し、**Emails / Additional Emails** には次の形式を使用します:
```
["jane@twenty.com","jane.doe@twenty.com"]
```
### IDフィールド
インポート時に `id` を指定するかどうかは任意です。 指定しない場合は、Twenty が自動生成します。
`id` 列をマッピングするユースケース:
* **特定の ID を設定**:新規作成されるレコードの UUID を指定します
* **既存レコードを更新**:既存レコードに照合して、重複を作成せずに更新します。 その場合、他の一意なフィールドはマッピングしないことを推奨します。唯一の一意フィールドのみをマッピングすることで、よりスムーズにインポートできます。
<Note>`id` を指定する場合は UUID 形式(例:`c776ee49-f608-4a77-8cc8-6fe96ae1e43f`)である必要があります。</Note>
### JSON フィールド
有効な JSON 形式を使用します:
```
{"key":"value","key2":"value2"}
```
### リンクフィールド
ドメインフィールドと同様に:
* ラベル列と URL 列の両方を入力します:**Links / Link URL** と **Links / Link Label**
* 完全な URL 形式(`https://example.com`)を使用します
* セカンダリリンクには **Links / Secondary Links** 列を使用し、次の形式で入力します:
```
[{"url":"https://twenty.com","label":"Twenty"}]
```
### マルチセレクトフィールド
表示ラベルではなく **API 名** を使用し、次の形式で指定します:
```
["VALUE1","VALUE2"]
```
API 名の確認方法は[こちら](#finding-api-names-for-select-fields)をご覧ください。
<Note>新しい選択肢はインポートによって自動作成されません。 インポート前に **Settings → Data Model** で追加する必要があります。</Note>
<Warning>
**インポートする上書き; 追加しません。**
レコードにすでに `VALUE2` と `VALUE3` が選択されている状態で `["VALUE1"]` をインポートすると、インポート後そのレコードは `VALUE1` のみになります。 以前の選択は結合されず、置き換えられます。
</Warning>
### 数値フィールド
* 数値のみ
* 小数点はピリオドを使用:`1234.56`
* 桁区切りは使用しないでください
### 電話番号フィールド
電話は複数の列からなるネストされたフィールドで、**必ず入力** する必要があります
* **Phones / Primary Phone Number**:電話番号(例:`4159095555`)
* **Phones / Primary Phone Country Code**:国コード(例:`US`)
* **Phones / Primary Phone Calling Code**:ダイヤルコード(例:`+1`)
### 評価フィールド
API 名の形式(`RATING_1`、`RATING_2`、`RATING_3`、`RATING_4`、`RATING_5`)を使用します
### リレーションフィールド
詳細は専用記事「[オブジェクト間のリレーションのインポート](/l/ja/user-guide/data-migration/capabilities/import-relations)」をご覧ください
### 選択フィールド
表示ラベルではなく、オプションの **API 名** を使用します:
```
VALUE1
```
API 名の見つけ方は[こちら](#finding-api-names-for-select-fields)を参照してください。
<Note>新しい Select オプションは、インポートによって自動的に作成されません。 インポート前に **設定 → データモデル** で追加する必要があります。</Note>
### テキストフィールド
* 特別な書式設定は不要です
* 先頭と末尾の空白は削除されます
## API 名の見つけ方
事前定義されたオプションを持つ Select、Multi-Select、Array フィールドでは、表示ラベルではなく、必ず **API 名** を使用してください。
### API 名の確認方法
1. **設定 → データモデル** に移動する
2. オブジェクトとフィールドを選択する
3. **詳細モード** を有効にする(設定ページの右下にあるトグル)
4. 各オプションの API 名を確認する
<VimeoEmbed videoId="1144910809" title="デモ動画" />

View File

@@ -0,0 +1,48 @@
---
title: 対応ファイル形式
description: Twenty でのデータインポートで対応しているファイル形式。
---
## 対応形式
Twenty はインポート用に 3 種類のファイル形式に対応しています:
| 形式 | 拡張子 | ノート |
| ---------------- | ----- | ------------ |
| **CSV** | .csv | 推奨(最も互換性が高い) |
| **Excel** | .xlsx | 現行の Excel 形式 |
| **Excel (レガシー)** | .xls | 旧 Excel 形式 |
## ファイル要件
| 要件 | 値 |
| ------------ | --------------------- |
| **エンコーディング** | UTF-8 を推奨 |
| **レコード数の上限** | 1 ファイルあたり 10,000 レコード |
| **構造** | 先頭行には列ヘッダーを含める必要があります |
| **コンテンツ** | 1 ファイルにつき 1 種類のオブジェクト |
## CSV ベストプラクティス
* **区切り文字**: カンマ (`,`) またはセミコロン (`;`) を使用
* **テキスト囲み文字**: カンマを含むテキストには二重引用符 (`"`) を使用
* **改行コード**: Windows (CRLF) または Unix (LF) のどちらにも対応
* **空の値**: セルは空のままにし、"NULL" や "N/A" は使用しないでください
## Excel ベストプラクティス
Excel からエクスポートする場合:
* 数式を削除 (値のみをエクスポート),
* 末尾の空行を削除
* 結合セルがないことを確認
* 最初のシートのみを使用
## 大規模データセット
10,000 レコードを超えるデータセットの場合:
* 複数のファイルに分割
* または、無制限のレコードに対応する [API インポート](/l/ja/user-guide/data-migration/how-tos/import-data-via-api) を使用
<Note>非常に大規模な移行 (100,000 レコード以上) の場合、API は CSV インポートよりも大幅に高速で信頼性も高くなります。</Note>

View File

@@ -0,0 +1,148 @@
---
title: オブジェクト間のリレーションをインポートする
description: CSV を使ってレコード間のリレーションをインポートします。
---
## 概要
Twenty は、CSV インポート時にオブジェクト間のリレーションのインポートをサポートしています。 これにより、データ移行の一環としてレコードをリンクできます(例:連絡先を会社に関連付ける)。
<Note>**現在インポートでサポート**:各側が単一のオブジェクトタイプを指す一対多リレーション(例:連絡先 → 会社)。 複数のオブジェクトタイプを指すリレーションは、現時点ではインポート/エクスポートに対応していません。</Note>
## Twenty におけるリレーションの仕組み
### 1 対多 / 多対 1
Twenty は、1 件のレコードが複数のレコードにリンクする標準的なリレーションをサポートしています:
* **1 社 → 複数の連絡先**:1 つの会社には複数の従業員が所属できますが、各連絡先は 1 つの会社に所属します
* **1 社 → 複数の商談**:1 つの会社は複数の商談を持てますが、各商談は 1 つの会社に属します
### 複数のオブジェクトタイプを指すことができるリレーション
一部のリレーションは、異なる種類のオブジェクトに接続できます。 これは 2 つのパターンで機能します:
**パターン 1:異なるオブジェクトタイプからの多数のレコードが、それぞれ 1 件のレコードにリンクする場合**
複数のメモまたはタスクは、それぞれ複数のオブジェクトタイプに一度にアタッチできます。
* **メモ**は、連絡先 1 件、会社 1 社、商談 1 件に同時にリンクできます
* **タスク**は、連絡先 1 件、会社 1 社、商談 1 件に同時にリンクできます
ここでは、メモ/タスクが「多」の側です。 それぞれがオブジェクトタイプごとに 1 件のレコードへリンクします。
<img src="/images/user-guide/fields/many-to-one-morph.png" style={{width:'100%'}} />
**パターン 2:1 件のレコードが、異なるオブジェクトタイプの多数のレコードからリンクを受け取る場合**
プロジェクトは、異なるオブジェクトタイプにわたる複数のレコードからリンクを受け取ることができます:
* **プロジェクト**には、多数の連絡先がリンクされ、多数の会社がリンクされ、多数のメモが添付される可能性があります
ここでは、プロジェクトが「1」の側です。 異なるオブジェクトの複数のレコードが、同じプロジェクトにすべてリンクできます。
<img src="/images/user-guide/fields/one-to-many-morph.png" style={{width:'100%'}} />
<Warning>
**インポート/エクスポートの制限**:複数のオブジェクトタイプを指すリレーション(例:メモ → 連絡先/会社/商談)は、CSV のインポートやエクスポートでは**まだサポートされていません**。
* **インポート**:各側が単一のオブジェクトタイプを指す一対多のリレーションのみインポートできます
* **エクスポート**:複数のオブジェクトタイプを指すリレーションの列は、現在空のままになります
これはロードマップにあります。
</Warning>
### 現在サポートされていないもの
**多対多リレーション**はまだ利用できません。 たとえば、現在は次のようなリレーションを作成できません:
* 多数の連絡先が多数のプロジェクトにリンクされる
<Note>H22026年には多くの関係が予定されています。</Note>
## インポート時にレコードをリンクする
<Note>**リマインダー**:各側が単一のオブジェクトタイプを指す一対多のリレーションのみインポートできます(例:連絡先 → 会社)。 複数のオブジェクトタイプを指すリレーション(例:メモ → 連絡先/会社/商談)は、まだサポートされていません。</Note>
### ステップ 1: 「1」と「多」の側を特定する
まず、どのオブジェクトがリレーションの「1」の側で、どのオブジェクトが「多」の側かを特定します。
**例**:
* **会社**が「1」の側(1 つの会社に多くの従業員がいる)
* **連絡先**が「多」の側(各人は 1 つの会社に所属する)
### ステップ 2: 「1」の側のレコードが存在することを確認する
「多」の側をインポートする前に、「1」の側のレコードが Twenty に既に存在している必要があります。
* まず「1」の側のレコード(例:会社)をインポートまたは作成します
* それらの一意の識別子を検証します。 これは次のいずれかです:
* `id`(Twenty の UUID)
* 一意に設定されたフィールド(例:会社の `domain`、または以前のシステムの外部 ID)
<Warning>存在しないレコードを参照している場合、インポートは失敗します。</Warning>
### ステップ 3: CSV ファイルを準備する
「多」の側の CSV ファイルに、「1」の側のレコードを参照する列を追加します。
**例**:会社にリンクする連絡先の CSV ファイルの場合:
```
firstName,lastName,email,companyDomain
John,Smith,john@acme.com,https://acme.com
Jane,Doe,jane@widgets.co,https://widgets.co
```
**重要**:
* 値は会社レコード上の一意フィールドと**完全に一致**している必要があります
* ドメインの場合は、ドメインラベルではなく、**ドメイン URL**(例:`https://acme.com`)を使用してください
* リレーションごとに**1 つ**の一意の識別子のみをマッピングしてください。そうすることで、よりスムーズにインポートできます
### ステップ 4: リレーションフィールドが存在することを確認する
ファイルをアップロードする前に、オブジェクト間にリレーションフィールドが存在することを確認してください。
存在しない場合は:
1. **設定 → データモデル** に移動
2. オブジェクト(例:連絡先)を選択する
3. 対象オブジェクト(例:会社)を指すリレーションフィールドを作成する
### ステップ 5: リレーションをアップロードしてマッピングする
1. インポート UI から CSV ファイルをアップロードする
2. フィールドのマッピング手順で、リレーション列(例:`companyDomain`)を見つける
3. それをリレーションフィールド(例:会社)にマッピングする
4. Twenty が各レコードを一致する親に自動でリンクします。
### リレーションで利用可能な一意フィールド
| オブジェクト | 利用可能な一意フィールド |
| ----------------------------- | ---------------------------- |
| **会社** | `id`、`domain`、任意のカスタム一意フィールド |
| **連絡先** | `id`、`email`、任意のカスタム一意フィールド |
| **ワークスペースメンバー** | `id`、`email`(名前ではありません) |
| **その他の標準オブジェクトおよびカスタムオブジェクト** | `id`、一意としてマークされた任意のフィールド |
<Note>**ワークスペースメンバーへのリンク**:リレーションの参照先がワークスペースメンバー(Twenty にログインするあなたのチーム)の場合、名前ではなく**メールアドレス**で参照してください。</Note>
<Note>会社には `domain`、連絡先には `email` を使用することをおすすめします。これらは人間が読みやすく、スプレッドシートでの管理も容易です。</Note>
<Note>**リマインダー**:ソフト削除されたレコード(コマンドメニュー → 削除済みレコードを表示 で確認可能)は、一意性の判定に含まれます。 削除済みレコードと同じ一意の値を持つレコードをインポートすると、その削除済みレコードが復元されます。 詳細は[一意性制約](/l/ja/user-guide/data-migration/capabilities/uniqueness-constraints)を参照してください。</Note>
## インポート順のルール
<Warning>
**必ず「1」の側を先にインポートしてください!**
1. **会社**を最初に(依存関係なし)
2. **連絡先**を次に(会社にリンク)
3. **商談**を 3 番目に(会社/連絡先にリンク)
4. **カスタムオブジェクト**は依存関係に従って
参照する前に、親レコードが存在している必要があります。
</Warning>

View File

@@ -0,0 +1,72 @@
---
title: 一意性の制約
description: Twenty によるインポート時のデータ一意性の確保方法。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## 概要
Twenty は、重複レコードを防ぎデータの整合性を確保するため、特定のフィールドに一意性を強制します。 これらの制約を理解することは、インポートを成功させるうえで不可欠です。
## デフォルトの一意のフィールド
| オブジェクト | 一意のフィールド |
| -------------- | -------------- |
| **連絡先** | `id`, `email` |
| **会社** | `id`, `domain` |
| **カスタムオブジェクト** | `id` のみ(デフォルト) |
<Note>`id` フィールドは Twenty の内部識別子で、各レコードに対して自動生成されます。 UUID 形式を使用します(例: `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`)。</Note>
## カスタムの一意フィールド
追加の一意フィールドは **設定 → データモデル** で定義できます:
1. **設定 → データモデル** に移動します
2. オブジェクトを選択する
3. フィールドをクリックする
4. フィールド設定で **Unique** を有効化する
### カスタムの一意フィールドのユースケース
* **外部 ID**: 他システムの ID を保存(Salesforce ID、HubSpot ID)
* **ビジネス識別子**: 従業員番号、顧客コード
* **代替連絡先情報**: LinkedIn プロフィール、電話番号
<Note>フィールド名 `id` は Twenty の内部 ID 用に予約されています。 外部識別子には `externalId` や `legacyId` など別の名前を使用してください。</Note>
## インポート時の動作
### 新規レコードの作成
一意フィールドの値が存在しない場合は、新しいレコードが作成されます。
### 既存レコードの更新
一意フィールドの値が既存レコードに一致する場合、そのレコードは新しいデータで**更新**されます。
<Warning>**既存レコードを更新**する場合は、**一意フィールドを 1 つのみに限定して照合**することを推奨します。</Warning>
### ソフト削除済みレコード
<Warning>
**削除済みレコードは一意性の判定に含まれます。**
ソフト削除されたレコード(コマンドメニュー → 削除済みレコードを表示 で表示可能)は、一意性チェックに含まれます。 削除済みレコードと同じ一意の値を持つレコードをインポートすると、その削除済みレコードが新しいデータで**復元**されます。
</Warning>
## インポート時の重複検出
検証フェーズ中:
* ファイル内の重複は黄色でハイライト表示されます
* インポートを開始する前に、UI から重複行を編集または削除できます
<VimeoEmbed videoId="1145246326" title="デモ動画" />
## ベストプラクティス
1. インポート前にファイルから**重複を削除**してください
2. インポート前に Twenty で**既存レコードを確認**してください
3. 他のシステムから移行する場合は、**外部 ID を使用**してください
4. 既存レコードを更新したい場合は、**一意フィールドを含め**てください

View File

@@ -0,0 +1,32 @@
---
title: FAQをエクスポート
description: データのエクスポートに関するよくある質問
---
<AccordionGroup>
<Accordion title="カスタムオブジェクト、カスタムフィールド、リレーションシップ、メモ、タスク、商談、添付ファイル、ワークフロー、権限、監査履歴など、キャンセル前にすべてのワークスペースデータをエクスポートできますか?">
一部の例外を除き、ワークスペースデータはキャンセル前にエクスポートできます。ダッシュボード、ワークフロー、権限は手動で転送する必要があります。監査ログは転送できません。
</Accordion>
<Accordion title="現在エクスポートまたは移行できない要素はどれですか?">
ほとんどの要素は、いくつかの例外を除いてエクスポートまたは移行できます。
* ワークフロー、ダッシュボード、およびすべての設定 (API キー、Webフック、監査ログ、ユーザー設定など) 手動で移行する必要があります
* アプリ作成されたオブジェクトとフィールドは、別のワークスペースにそのアプリをインストールすることで移行できます。 手動で移行すべきではありません
* ワークフローのバージョンやワークフローの実行などの一部のレコードは、まったく転送できず、失われることが予想されます
* アカウントが接続され定期的に同期されるときに、メッセージやカレンダー関連のオブジェクトのような一部のオブジェクトは作成されるため、エクスポートするべきではありません。 アカウントを接続すると、再度同期されます(アカウントにアクセスできる限り) 会社を離れたチームメンバーのアカウントだったらそのメッセージはエクスポートされなければならない さもないと失われる)
</Accordion>
<Accordion title="自己ホストの移行手順、または支援の移行サービスへの公式クラウドがあるのですか?">
現時点では、公式のクラウド間でホストされた移行手順はありません。 一般的なアイデアは以下の通りです:
* まず、アプリが所有するオブジェクトとフィールドを導入するためのアプリをインストールします
* ユーザーによって追加されたカスタムオブジェクトとフィールドをレプリケートする
* API キーまたは AI ツールを使用したスクリプトを使用して、あるワークスペースから別のワークスペースにすべてのデータを移行します
* 転送できないすべてのオブジェクトは手動で移行する必要があります
以下の点にご注意ください:
* Proプランでは1分間に最大50リクエスト、Organizationプランでは1分間に100リクエストを送信してからリクエスト/分の上限に達することができます。
* 各APIリクエストは最大200件のレコードを持つことができます
* によって作成されたようなフィールドのいくつかのデータ、タイムラインアクティビティと更新されたデータは、システムによってインポートおよび上書きされた際に失われます
</Accordion>
<Accordion title="エクスポートされたファイルはオープンで文書化された形式で提供されますか?">
UI でエクスポートされたファイルは Excel 形式で、すべての API リクエストは JSON 形式で保存できます。
</Accordion>
</AccordionGroup>

View File

@@ -0,0 +1,209 @@
---
title: データをエクスポート
description: Twenty からデータをエクスポートするための完全なステップバイステップガイド。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## 概要
バックアップ、レポート作成、または移行のために、ワークスペースのデータを CSV にエクスポートします。
**ユースケース:**
* **定期的なバックアップ** — データのコピーを保持
* **外部レポーティング** — Excel、Google スプレッドシート、BI ツールでデータを分析
* **移行** — データを別のシステムに移す
* **一括更新** — エクスポートして編集し、再インポートしてレコードを更新
## 知っておくべきこと
### エクスポートの制限
* 1 回のエクスポートにつき **最大 20,000 件のレコード**
* **表示されている列**のみがエクスポートされます
* **フィルターで絞り込まれたレコード**のみがエクスポートされます(現在のビューに基づきます)
<Note>大規模なエクスポート(20,000 件超)では、フィルターを使ってバッチに分けてエクスポートするか、[API](/l/ja/developers/extend/api) を使用してください。</Note>
### 権限
データをエクスポートするには **"Export CSV"** 権限が必要です。 このオプションがない場合は、ワークスペース管理者に連絡してください。
## ステップ 1:対象オブジェクトに移動
エクスポートしたいオブジェクトに移動します:
* **People** — 連絡先
* **Companies** — 組織
* **Opportunities** — 商談
* **カスタムオブジェクト** — 作成した任意のオブジェクト
## ステップ 2:ビューを設定
**重要:** エクスポートには現在のビューで表示されているもののみが含まれます。
### 列の追加/削除
1. **Options → Fields** をクリックします(または列の末尾の **+** をクリックします)
2. エクスポートしたいフィールドにチェックを入れる
3. 不要なフィールドのチェックを外す
### レコードをフィルター(任意)
データの一部だけが必要な場合:
1. **Filter** をクリックします
2. フィルター条件を追加します(例:"Created date > January 1, 2024")
3. 条件に一致するレコードのみがエクスポートされます
### レコードを並べ替え(任意)
1. 列ヘッダーをクリックして並べ替えます
2. エクスポートは並べ替え順に従います
<Note>**エクスポート専用のビューを作成しましょう。** エクスポート用に設定したビューを保存しておくと、毎回再設定する必要がありません。</Note>
## ステップ 3:データをエクスポート
1. テーブル右上の **⋮** アイコンをクリックします
2. **Export view** を選択します
3. CSV ファイルの保存場所を選択します
4. ダウンロードの完了を待ちます
## エクスポートされる内容
| 含まれるもの | 含まれないもの |
| ----------------- | ---------------- |
| 表示されているすべての列 | 非表示の列 |
| 現在のフィルターに一致するレコード | フィルターで除外されたレコード |
| カスタムフィールドの値 | ビューに含まれていないフィールド |
| レコード ID | 添付ファイル |
| リレーション ID | 画像 |
### リレーションフィールド
リレーション ID はリレーションシップの **"many" 側** でのみエクスポートされます:
* **People のエクスポート** には `companyId` 列が含まれます(People → Company のリレーション)
* **Companies のエクスポート** には `peopleIds` は含まれません(Companies は "one" 側です)
つまり、People のエクスポートを使用して再インポートすれば Company とのリンクを維持できますが、関係を再作成するには Companies の後に People を再インポートする必要があります。
## 目的別のエクスポート
### バックアップの場合
1. **すべてのフィールド** を表示したビューを作成
2. すべてのフィルターを解除して全レコードを含める
3. 各オブジェクトタイプを個別にエクスポート
4. エクスポートファイルを安全な場所に保管
5. 定期的なリマインダーを設定(毎週/毎月)
### 外部レポーティングの場合
1. 分析に必要なフィールドのみを含める
2. フィルターを適用して関連データに絞り込む
3. 分析対象のフィールドで並べ替えることを検討
### 一括更新の場合
1. 更新したいレコードをエクスポート
2. 一意の識別子(`email`、`domain`、または `id`)を含める
3. エクスポートしたファイルを編集
4. 再インポートしてレコードを更新します
参照:[既存レコードを更新する方法](/l/ja/user-guide/data-migration/how-tos/update-existing-records-via-import)
### マイグレーションの場合
別のシステムへマイグレーションするためにエクスポートする場合:
1. **各オブジェクトを個別にエクスポート** — People、Companies、Opportunities など
2. **ID フィールドを含める** — 関係の維持に役立ちます
3. **フィールドのマッピングを文書化** — Twenty のフィールドが対象システムにどのように対応するかを記録
## 大規模データセットの扱い(20,000 件超)
エクスポートの上限は 20,000 件です。 より大きなデータセットの場合:
### オプション 1:バッチでエクスポート
1. フィルターを追加(例:"Created date" の範囲)
2. 最初のバッチをエクスポート
3. フィルターを変更
4. 次のバッチをエクスポート
5. スプレッドシートでファイルを結合
**バッチ分割の例となるフィルター:**
* 日付範囲別(1月、2月、3月...)
* 担当者別(チームメンバー A、チームメンバー B...)
* ステータス別(Active、Inactive...)
### オプション 2:API を使用
API にはレコード数の上限がありません:
1. **Settings → Developers** から API キーを取得
2. GraphQL API を使用してレコードをクエリします
3. アプリケーションで結果を処理
参照:[API ドキュメント](/l/ja/developers/extend/api)
## ヒントとベストプラクティス
### エクスポート用ビューを作成
エクスポート用に設定したビューを保存します:
1. 列とフィルターを設定
2. **View options** → **Save as new view** をクリック
3. 名前を "Export - [Purpose]" にします
### エクスポートを安全に管理
エクスポートされたファイルには機密データが含まれる場合があります:
* 安全な場所に保管する
* 不要になった古いエクスポートを削除する
* エクスポートファイルの共有に注意する
### エクスポート前の確認
<Check>正しい列が表示されている</Check>
<Check>フィルターが正しく設定されている(または全件エクスポートのために解除済み)</Check>
<Check>エクスポート権限がある</Check>
## FAQ
<AccordionGroup>
<Accordion title="エクスポートに一部の列が含まれていないのはなぜですか?">
表示されている列のみがエクスポートされます。 エクスポート前に **Options → Fields** から必要な列を追加してください。
</Accordion>
<Accordion title="エクスポートにすべてのレコードが含まれないのはなぜですか?">
フィルターを確認してください。 エクスポートには、現在のビューのフィルターに一致するレコードのみが含まれます。 すべてのレコードをエクスポートするにはフィルターを解除してください。
</Accordion>
<Accordion title="20,000 件を超えるレコードをエクスポートできますか?">
1 回のエクスポートではできません。 フィルターを使ってバッチに分けてエクスポートするか、より大きなデータセットには API を使用してください。
</Accordion>
<Accordion title="エクスポートファイルの形式は何ですか?">
CSV(カンマ区切り形式)です。 Excel、Google スプレッドシート、その他のスプレッドシートアプリで開けます。
</Accordion>
<Accordion title="リレーション ID は含まれますか?">
はい。ただし、リレーションシップの "many" 側のみです。 たとえば、People のエクスポートには `companyId` が含まれますが、Companies のエクスポートには People の ID は含まれません。
</Accordion>
<Accordion title="エクスポートを自動化できますか?">
UI から直接はできません。 API を使用して自動エクスポートのワークフローを構築してください。
</Accordion>
</AccordionGroup>
## 次のステップ
* [既存レコードを更新する方法](/l/ja/user-guide/data-migration/how-tos/update-existing-records-via-import) — エクスポートを編集して再インポート
* [API でデータをインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-data-via-api) — 大規模データセット向け
* [API ドキュメント](/l/ja/developers/extend/api) — カスタムのエクスポートワークフローを構築

View File

@@ -0,0 +1,430 @@
---
title: インポートエラーの修正
description: CSV のインポートエラーを解決するための包括的なトラブルシューティングガイド。
---
## 概要
インポートがうまくいきませんか? このガイドでは、一般的なインポートエラーを段階的に特定して修正する方法を説明します。
## インポート検証の仕組み
ファイルをアップロードして列をマッピングすると、Twenty がデータを検証します。
1. **検証の実行** — Twenty が各行にエラーがないか確認します
2. **エラーをハイライト** — 問題のある行は**黄色**で表示されます
3. **その場で修正可能** — インポート UI でセルを直接編集できます
4. **行を削除** — 問題のあるレコードをまるごとスキップします
<Note>**エラーは UI で修正できます。** スプレッドシートに戻る必要はありません。 インポート中にセルを直接編集して時間を節約しましょう。</Note>
## ステップごとのトラブルシューティング
### ステップ 1: エラーの種類を特定する
ハイライトされた行をクリックすると、具体的なエラーメッセージを確認できます。 よくあるエラーの種類:
| エラーメッセージ | 意味 |
| ------------------------------------------------------------------- | -------------------------------------- |
| 重複する値が黄色でハイライト | その値は Twenty に既に存在するか、ファイル内で 2 回出現しています |
| `{field} is not a valid {type}`(黄色のセルにカーソルを合わせる) | データが想定される形式と一致していません |
| 必須フィールドがハイライト表示 | 必須フィールドが空です |
| `Can't connect to {object}. No unique record found...`(インポートは失敗します) | 参照されているレコードが存在しません |
| `Too many records. Up to 10000 allowed`(アップロードがブロックされます) | ファイルのレコード数が 10,000 を超えています |
### ステップ 2: エラーを修正する
各エラータイプに応じて、以下の手順に従ってください。
---
## エラー:重複する値
### あなたが見るもの
インポート開始前に、重複する値がある行はインポート UI で**黄色でハイライト表示**されます。
### 意味
一意のフィールド(email、domain)が次のいずれかに該当しています:
* Twenty に既に存在する
* ファイル内で 2 回出現している
### 解決方法
**オプション 1:重複している値を編集**
1. エラーのあるセルをクリック
2. 一意の値に変更
3. インポートを続行
**オプション 2:重複行を削除**
1. 行の横にある X をクリック
2. その行はインポート時にスキップされます
**オプション 3:Twenty に既存レコードの更新を任せる**
1. ファイルに一意の識別子(`email`、`domain`、または `id`)が含まれていることを確認する
2. 一意の識別子フィールドをマッピングする
3. Twenty は重複を作成せず、既存のレコードを更新します
<Note>
一意のフィールドも更新できます。
* `id` を保持して `email` を変更すると → メールアドレスが更新されます
* `email` を保持して `id` を変更すると → ID が更新されます
いずれか 1 つの一意の識別子が一致していれば、Twenty がレコードを更新します。
</Note>
### このエラーの防止策
インポート前:
1. スプレッドシートを一意のフィールドで並べ替える
2. 重複行を削除する
3. レコードが Twenty に既に存在するか確認する
<Warning>
**論理削除されたレコードも一意性の判定に含まれます。**
コマンドメニューを確認 → 削除済みレコードを表示。 そこにあるレコードにも一意性制約が適用されます。 完全に削除するか、復元して更新します。
</Warning>
詳細はこちら: [一意性制約](/l/ja/user-guide/data-migration/capabilities/uniqueness-constraints)
---
## エラー:無効な形式
### あなたが見るもの
セルの値が黄色でハイライト表示されます。 カーソルを合わせるとエラーメッセージが表示されます:
```
{field name} is not a valid {field type}
```
### 意味
データがそのフィールドタイプの想定形式と一致していません。
### 解決方法 — フィールドタイプ別
#### メール
**問題:** 無効なメール形式
**解決策:** `name@domain.com` 形式を使用する
```
❌ john.smith@
❌ john smith@acme.com
✓ john.smith@acme.com
```
#### ドメイン
**問題:** 形式の不一致は重複の原因になります
**解決策:** `https://domain.com` 形式を使用(推奨)
```
⚠️ acme.com (valid, but not recommended)
⚠️ www.acme.com (valid, but not recommended)
✅ https://acme.com (recommended)
```
<Note>すべての形式は有効ですが、メール/カレンダー同期で使用される形式と一致するため、`https://domain.com` を推奨します。 他の形式を使用すると、会社が重複して作成される場合があります。</Note>
#### 日付
**問題:** 認識できない日付形式
**解決策:** ファイル全体で`YYYY-MM-DD`形式を一貫して使用する
```
✓ 2024-03-15 (YYYY-MM-DD)
❌ 03/15/2024 (MM/DD/YYYY)
❌ 15/03/2024 (DD/MM/YYYY)
```
#### 電話
**問題:** 必須列が不足
**解決策:** すべての電話関連の列を含める
| 列 | 例 |
| --------------------------------------- | ------------ |
| **Phones / Primary Phone Number** | `4159095555` |
| **Phones / Primary Phone Country Code** | `US` |
| **Phones / Primary Phone Calling Code** | `+1` |
#### ブール型
**問題:** 不正なブール値
**解決策:** 大文字の `TRUE` または `FALSE` を使用する
```
❌ true
❌ yes
❌ 1
✓ TRUE
✓ FALSE
```
#### セレクト/マルチセレクト
**問題:** 値が既存のオプションと一致しない
**解決策:** 表示ラベルではなく、**API 名**を使用する
API 名の確認方法:
1. **設定 → データモデル** に移動する
2. オブジェクトとフィールドを選択する
3. **詳細モード** を有効にする(右下のトグル)
4. API 名を使用する(例:`OPTION_1`。"Option 1" ではありません)
```
❌ High Priority
✓ HIGH_PRIORITY
```
#### 通貨
**問題:** 金額または通貨コードが欠落
**解決策:** 両方の列を入力する
| 列 | 例 |
| --------------------- | --------- |
| **Amount / Amount** | `1234.56` |
| **Amount / Currency** | `USD` |
#### 数
**問題:** 数値以外の文字を含む
**解決策:** 数字のみを使用し、小数はピリオドを使用する
```
❌ $1,234.56
❌ 1,234.56
✓ 1234.56
```
完全な形式のリファレンス: [フィールドマッピング](/l/ja/user-guide/data-migration/capabilities/field-mapping)
---
## エラー:必須フィールドが未入力
### あなたが見るもの
必須フィールドのセルがマークされ、その行が黄色でハイライト表示されます。
### 意味
この行で必須フィールドが未入力です。
### 解決方法
**オプション 1:値を入力**
1. 空のセルをクリック
2. 値を入力する
3. インポートを続行
**オプション 2:行を削除**
1. データがない場合は、X をクリックしてその行をスキップ
### このエラーの防止策
インポート前に、必須フィールドを確認してください:
1. **設定 → データモデル** に移動する
2. 対象のオブジェクトを選択する
3. どのフィールドが必須としてマークされているか確認する
---
## エラー:リレーションが見つかりません
### あなたが見るもの
このエラーは**インポート開始後**に発生します — 次のようなメッセージとともにインポートが失敗します:
```
Can't connect to company. No unique record found with condition: id = 7776ee49-f608-4a77-8cc8-6fe96ae1e43f
```
これは、その特定の識別子を持つ会社が Twenty に存在しないことを意味します。
<Note>他のエラーと異なり、このエラーはデータレビューの段階では検出されません。 インポートは開始されますが、欠落しているリレーションに遭遇すると失敗します。</Note>
### 意味
Twenty に存在しないレコードへリンクしようとしています。
### 解決方法
**オプション 1:まず親レコードをインポート**
1. 現在のインポートをキャンセル
2. 親レコード(例:会社)をインポート
3. その後、子レコード(例:連絡先)をインポート
**オプション 2:参照値を修正**
1. ファイル内の参照値を確認
2. 既存のレコードと完全一致していることを確認
3. 形式を確認:ドメインは `https://domain.com` にする
**オプション 3:リレーションを削除**
1. セルを空にして、リレーションなしでインポート
2. 後で手動でリレーションを追加
### このエラーの防止策
1. **正しい順序でインポートする:**
* まず会社
* 次に連絡先(会社の参照付き)
* 最後に商談
2. **参照値を検証する:**
* 親レコードをエクスポートして正確な識別子を取得
* ドメイン形式は `https://domain.com` を使用
* 入力ミスや大文字・小文字の相違を確認
<Warning>
**存在しないレコードを参照している場合、インポートは失敗します。**
必ず子オブジェクトの前に親オブジェクトをインポートしてください。
</Warning>
詳細はこちら: [リレーションのインポート](/l/ja/user-guide/data-migration/capabilities/import-relations)
---
## エラー:ファイルが大きすぎます
### あなたが見るもの
このエラーは**ファイルのアップロード時**に表示され、アップロードは完全にブロックされます:
```
Too many records. Up to 10000 allowed
```
ファイルサイズを減らすまで、データレビューの段階に進むことはできません。
### 意味
ファイルのレコード数が 10,000 を超えています。
### 解決方法
**オプション 1:複数のファイルに分割**
1. データを 10,000 レコード以下のファイルに分割する
2. 各ファイルを個別にインポートする
3. インポートの順序を維持する(連絡先の前に会社)
**オプション 2:API インポートを使用**
非常に大きなデータセットには、レコード数の制限がない API を使用してください。
参照:[API でデータをインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-data-via-api)
---
## エラー:フィールドが認識されません
### 意味
ファイル内の列をマッピングできません。該当フィールドが Twenty に存在しないためです。
### 解決方法
1. **設定 → データモデル** に移動する
2. インポート対象のオブジェクトを選択する
3. **+ Add field** をクリック
4. 適切なタイプでカスタムフィールドを作成する
5. ファイルを再アップロードする
<Note>CSV インポートで作成されるのはレコードであり、フィールドではありません。 すべてのフィールドは、インポート前に存在している必要があります。</Note>
---
## エラー:ユーザーのリレーションが空
### 意味
レコードをユーザー(所有者、担当者)に割り当てようとしていますが、そのリレーションがマッピングされていません。
### よくある原因
1. **ユーザーが招待を受諾していない** — そのユーザーはまだ Twenty に存在していません
2. **旧システムのユーザー ID を使用している** — Twenty は他システムの ID を照合できません
3. **メール形式が不正** — 入力されたメールがユーザーの Twenty アカウントと一致していません
### 解決方法
1. すべてのユーザーが Twenty ワークスペースへの**招待を受諾**していることを確認する
2. ユーザーの**メールアドレス**を使用する(名前や旧システムの ID ではなく)
3. Twenty に参加した際と同じメールアドレスを使用する
<Warning>
**インポート前に、ユーザーは招待を受諾している必要があります。**
ユーザーが招待を受諾していない場合、そのユーザーを参照するレコードのユーザーリレーションは空になります。
</Warning>
---
## インポート前チェックリスト
インポート前に次を確認し、エラーを回避してください:
### ファイル要件
<Check>ファイル形式が CSV、XLSX、または XLS</Check>
<Check>レコード数が 10,000 未満</Check>
<Check>UTF-8 エンコードを使用</Check>
### データ品質
<Check>メールの重複なし(連絡先)</Check>
<Check>ドメインの重複なし(会社)</Check>
<Check>すべての日付が一貫した形式</Check>
<Check>すべてのドメインが `https://domain.com` 形式</Check>
### フィールドの形式
<Check>ブール型フィールドは `TRUE` または `FALSE`(大文字)を使用</Check>
<Check>セレクト型フィールドは表示ラベルではなく API 名を使用</Check>
<Check>電話フィールドに必要な列がすべて揃っている</Check>
<Check>通貨フィールドに金額と通貨コードの両方がある</Check>
### 関連
<Check>親レコードを子レコードより先にインポート</Check>
<Check>リレーション列が既存レコードを参照している</Check>
<Check>ドメイン形式が Twenty の形式と完全一致</Check>
### データモデル
<Check>すべてのカスタムフィールドが 設定 → データモデル に存在</Check>
<Check>インポート前にセレクトの選択肢が作成済み</Check>
---
## まだ問題がありますか?
上記の解決策を試しても解決しない場合:
1. **サンプルファイルをダウンロード** — Twenty が想定する正確な形式を確認
2. **既存レコードをエクスポート** — ファイルを動作しているデータと比較
3. **少量でテスト** — まず 5〜10 行で試す
4. **参考記事を確認:**
* [フィールドマッピング](/l/ja/user-guide/data-migration/capabilities/field-mapping)
* [一意性制約](/l/ja/user-guide/data-migration/capabilities/uniqueness-constraints)
* [リレーションのインポート](/l/ja/user-guide/data-migration/capabilities/import-relations)
* [エラー処理](/l/ja/user-guide/data-migration/capabilities/error-handling)

View File

@@ -0,0 +1,201 @@
---
title: CSV ファイルで会社をインポートする
description: Twenty に会社をインポートするための完全なステップバイステップガイド。
---
## 概要
このガイドでは、会社を Twenty にインポートする手順を説明します。 **まず Companies をインポートしてください**。People と Opportunities は Companies にリンクします。
## 始める前に
### 事前準備チェックリスト
<Check>
ファイル形式が CSV、XLSX、または XLS である
</Check>
<Check>
ファイルのレコード数が 10,000 未満
</Check>
<Check>
ファイル内に重複するドメインがない
</Check>
<Check>
すべてのカスタムフィールドが **Settings → Data Model** に存在する
</Check>
<Note>
10,000 社を超えてインポートする必要がありますか? 複数のファイルに分割するか、[API インポート](/l/ja/user-guide/data-migration/how-tos/import-data-via-api) を使用します。
</Note>
## ステップ 1: 会社データを準備する
### 必須および推奨フィールド
| フィールド | 必須? | 形式 | ノート |
| ------------- | --- | -------------------- | --------------------- |
| **Name** | 推奨 | テキスト | 会社の表示名 |
| **ドメイン** | 推奨 | `https://domain.com` | 一意の識別子 |
| **住所** | 任意 | 複数の列 | 以下を参照 |
| **従業員** | 任意 | 数 | 従業員数 |
| **カスタムフィールド** | 任意 | 項目により異なる | データモデル内に存在している必要があります |
### ドメイン形式
<Warning>
**ドメインには `https://domain.com` の形式を使用してください。**
これは、メール/カレンダー同期から Companies が自動作成される際に使用される形式と一致し、後の重複を防ぎます。
</Warning>
**ドメイン列:**
* **Domain / Domain Label**: `acme.com`
* **Domain / Domain URL**: `https://acme.com`
### 住所形式
住所は複数の列を必要とする**ネストされたフィールド**です:
```
Address / Address 1,Address / City,Address / State,Address / Country,Address / Post Code
123 Main Street,San Francisco,CA,USA,94105
```
### CSV のサンプル構造
```csv
name,Domain / Domain URL,Domain / Domain Label,Address / City,Address / Country,employees
Acme Corp,https://acme.com,acme.com,San Francisco,USA,250
Widget Co,https://widgets.co,widgets.co,New York,USA,50
```
<Note>
**プロのヒント:** インポート中に **Download sample file** をクリックして、Twenty が想定する正確な列名を確認してください。
</Note>
## ステップ 2: インポート機能にアクセスする
**オプション 1: Companies ビューから**
1. 左側のサイドバーで **Companies** に移動します
2. 右上の **⋮** アイコンをクリックします
3. **Import records** を選択します
**オプション 2: Command メニューを使用**
1. `Cmd + K`(Mac)または`Ctrl + K`(Windows)を押します
2. "import" と入力します
3. **Import records** を選択します
4. **Companies** を選択します
## ステップ 3: ファイルをアップロードする
1. **Select file** をクリックします
2. CSV、XLSX、または XLS ファイルを選択します
3. Twenty がファイルを解析するまで待ちます
## ステップ 4: 列をマッピングする
Twenty は列をフィールドに自動的に照合しようとします。 確認して調整します:
1. **自動マッピングを確認** — 正しいことを検証します
2. **誤ったマッピングを修正** — ドロップダウンをクリックして正しいフィールドを選択します
3. **列をスキップ** — インポートしたくない列には **Do not map** を選択します
### 重要なマッピングルール
* **Domain**: **Domain / Domain URL** にマップします(Domain Label ではありません)
* **住所**: 各項目を対応する列(City、State など)にマップします
* **Select フィールド**: 値は既存のオプションと一致している必要があります(次のステップでマッピングすることもできます)
<img src="/images/user-guide/import-export-data/match-columns.png" style={{width:'100%'}} />
## ステップ 5: Select フィールドの値をマッピングする
Select または Multi-Select フィールドがある場合:
1. Twenty は、既存のオプションと並べて値を表示します
2. ファイル内の各値を Twenty のオプションに対応付けます
3. 必要に応じて新しいオプションを作成します
<Note>
Select のオプションは表示ラベルではなく、**API 名**を使用します。 API 名を確認するには、**Settings → Data Model** で **Advanced mode** を有効にします。
</Note>
## ステップ 6: エラーを確認して修正
インポートを完了する前に、Twenty がデータを検証します:
1. **Next Steps** をクリックします
2. エラーのある行は **黄色** で強調表示されます
3. **エラーを直接修正** — セルをクリックして値を編集します
4. **問題のある行を削除** — その行をスキップするには X をクリックします
### 一般的な会社インポートのエラー
| エラー | 原因 | 解決策 |
| -------------- | -------------------- | --------------------------- |
| **重複したドメイン** | ドメインが Twenty に既に存在する | ファイルから削除するか、既存のレコードを更新します |
| **無効なドメイン形式** | 形式の誤り | `https://domain.com` を使用します |
| **必須フィールドの欠落** | 必須フィールドが空です | 値を入力するか、その行を削除します |
## ステップ 7: インポートを完了する
1. インポートの概要を確認します
2. インポートするには **Confirm** をクリックします
3. インポートが完了するまで待ちます
4. いくつかのレコードを確認して検証します
## 会社をインポートした後
これで、Companies にリンクするレコードをインポートできます:
1. **[People をインポート](/l/ja/user-guide/data-migration/how-tos/import-contacts-via-csv)** — ドメインを使って Companies にリンクします
2. **Opportunities をインポート** — Companies にリンクします
3. **インポートを検証** — データが正しいことを確認するために、いくつかのレコードを抜き取り確認します
## 既存の会社を更新する
新規作成ではなく会社を更新するには:
1. ファイルに `domain` または `id` 列を含めます
2. Twenty はこの一意の識別子でレコードを照合します
3. 既存の会社は更新され、新規は作成されます
詳細は [既存レコードを更新する方法](/l/ja/user-guide/data-migration/how-tos/update-existing-records-via-import) を参照してください。
## FAQ
<AccordionGroup>
<Accordion title="なぜ 2 社が同じドメインを持つことはできないのですか?">
ドメインは Twenty における一意の識別子です。 これにより会社の重複を防ぎ、メール同期でメールが正しい会社にリンクされるようになります。
</Accordion>
<Accordion title="ドメインのない会社がある場合はどうすればよいですか?">
ドメインは空のままでもかまいません。 ただし、データ品質を高め自動メールリンクのため、可能であればドメインの追加を推奨します。
</Accordion>
<Accordion title="People にリンクされていない会社をインポートできますか?">
はい! 最初に会社をインポートし、その後に People をインポートして、会社のドメインを使用して関連付けることができます。
</Accordion>
<Accordion title="既に存在するドメインをインポートした場合はどうなりますか?">
既存の会社と一致する一意の識別子(ドメインまたは id)を含めた場合、Twenty は重複を作成せず、その会社を更新します。
</Accordion>
<Accordion title="「duplicate domain」エラーはどのように修正しますか?">
ファイルから重複を削除するか、代わりに会社の `id` を含めて既存のレコードを更新してください。
</Accordion>
</AccordionGroup>
## トラブルシューティング
お困りですか? 次を確認してください:
* [インポートエラーを解決する方法](/l/ja/user-guide/data-migration/how-tos/fix-import-errors)
* [フィールドマッピングのリファレンス](/l/ja/user-guide/data-migration/capabilities/field-mapping)
* [一意性制約](/l/ja/user-guide/data-migration/capabilities/uniqueness-constraints)

View File

@@ -0,0 +1,242 @@
---
title: CSV ファイルで連絡先をインポートする
description: Twenty に連絡先(People)をインポートするための完全なステップバイステップガイド。
---
## 概要
このガイドでは、連絡先(People)を Twenty にインポートする手順を説明します。
## 始める前に
### 事前準備チェックリスト
<Check>
ファイル形式が CSV、XLSX、または XLS である
</Check>
<Check>
ファイルのレコード数が 10,000 未満
</Check>
<Check>
ファイル内に重複するメールアドレスがない
</Check>
<Check>
**会社を先にインポート**(People を会社に関連付ける場合)
</Check>
<Check>
すべてのカスタムフィールドが **Settings → Data Model** に存在する
</Check>
<Warning>
**People の前に会社をインポート**
People を会社に関連付けたい場合は、まず会社をインポートしてください。 参照する前に、その会社が存在している必要があります。
</Warning>
## ステップ 1: 連絡先データを準備する
### 必須および推奨フィールド
| フィールド | 必須? | 形式 | ノート |
| ------------- | --- | ----------------- | --------------------- |
| **メール** | 推奨 | `name@domain.com` | 一意である必要があります |
| **名** | 推奨 | テキスト | |
| **姓** | 推奨 | テキスト | |
| **会社** | 任意 | ドメインまたは ID | 既存の会社にリンクします |
| **電話** | 任意 | 複数の列 | 以下を参照 |
| **職種** | 任意 | テキスト | |
| **カスタムフィールド** | 任意 | 項目により異なる | データモデル内に存在している必要があります |
### メール形式
* 有効なメール形式である必要があります: `name@domain.com`
* **一意である必要があります** — ファイル内や Twenty 内に重複がないこと
* 追加のメールには、**Emails / Additional Emails** 列を使用してください:
```
["jane@twenty.com","jane.doe@twenty.com"]
```
### 電話番号の形式
電話番号は複数の列を必要とする**ネストされたフィールド**です:
| 列 | 例 |
| --------------------------------------- | ------------ |
| **Phones / Primary Phone Number** | `4159095555` |
| **Phones / Primary Phone Country Code** | `US` |
| **Phones / Primary Phone Calling Code** | `+1` |
### 会社への関連付け
会社の一意の識別子を含む列を追加します:
| 列名 | 形式 | 例 |
| --------------- | ------ | -------------------------------------- |
| `companyDomain` | URL 形式 | `https://acme.com` |
| `companyId` | UUID | `c776ee49-f608-4a77-8cc8-6fe96ae1e43f` |
<Note>
**ドメインの URL 形式**(`https://acme.com`)を使用し、ラベルは使用しないでください。 これは Twenty における会社の保存方式に一致します。
</Note>
### CSV のサンプル構造
```csv
firstName,lastName,email,jobTitle,companyDomain,Phones / Primary Phone Number,Phones / Primary Phone Country Code
John,Smith,john@acme.com,CEO,https://acme.com,4159095555,US
Jane,Doe,jane@widgets.co,CTO,https://widgets.co,2125551234,US
```
<Note>
**プロのヒント:** インポート中に **Download sample file** をクリックするか、既存の People をいくつかエクスポートして、Twenty が想定する正確な列名を確認してください。
</Note>
## ステップ 2: インポート機能にアクセスする
**オプション 1: People ビューから**
1. 左側のサイドバーで **People** に移動します
2. 右上の **⋮** アイコンをクリックします
3. **Import records** を選択します
**オプション 2: Command メニューを使用**
1. `Cmd + K`(Mac)または`Ctrl + K`(Windows)を押します
2. "import" と入力します
3. **Import records** を選択します
4. **People** を選択します
## ステップ 3: ファイルをアップロードする
1. **Select file** をクリックします
2. CSV、XLSX、または XLS ファイルを選択します
3. Twenty がファイルを解析するまで待ちます
## ステップ 4: 列をマッピングする
Twenty は列をフィールドに自動的に照合しようとします。 確認して調整します:
1. **自動マッピングを確認** — 正しいことを検証します
2. **誤ったマッピングを修正** — ドロップダウンをクリックして正しいフィールドを選択します
3. **列をスキップ** — インポートしたくない列には **Do not map** を選択します
### 重要なマッピングルール
| 列の種類 | マッピング先 | ノート |
| ------ | ------------------------------ | ------------------------------------ |
| 会社参照 | **会社** の関連フィールド | ドメインまたは ID のいずれか一方を使用し、両方は使用しないでください |
| メール | **メール** | プライマリメールアドレス |
| 追加のメール | **Emails / Additional Emails** | 配列形式 |
| 電話 | 別々の列 | 番号、国コード、Calling Code |
<img src="/images/user-guide/import-export-data/match-columns.png" style={{width:'100%'}} />
### 会社リレーションのマッピング
会社列をマッピングする際:
1. 会社参照列(例: `companyDomain`)を見つけます
2. それを **会社** の関連フィールドにマッピングします
3. Twenty は各 People レコードを対応する会社にリンクします
<Warning>
**リレーションには一意の識別子を必ず1つだけマッピングしてください。**
`companyId` と `companyDomain` の両方をマッピングしないでください。 どちらか一方を選択してください—人間が読みやすいので、可能であればドメインを推奨します。
</Warning>
## ステップ 5: Select フィールドの値をマッピングする
Select または Multi-Select フィールド(例: リードソース)がある場合:
1. Twenty は、既存のオプションと並べて値を表示します
2. ファイル内の各値を Twenty のオプションに対応付けます
3. 必要に応じて新しいオプションを作成します
<Note>
Select のオプションは表示ラベルではなく、**API 名**を使用します。 API 名を確認するには、**Settings → Data Model** で **Advanced mode** を有効にします。
</Note>
## ステップ 6: エラーを確認して修正
インポートを完了する前に、Twenty がデータを検証します:
1. **Next Steps** をクリックします
2. エラーのある行は **黄色** で強調表示されます
3. **エラーを直接修正** — セルをクリックして値を編集します
4. **問題のある行を削除** — その行をスキップするには X をクリックします
### 一般的な連絡先インポートのエラー
| エラー | 原因 | 解決策 |
| ------------------ | ------------------------------- | --------------------------- |
| **重複したメールアドレス** | メールアドレスが Twenty またはファイルに既に存在します | 重複を削除するか、既存のレコードを更新します |
| **無効なメールアドレス形式** | メールアドレスの形式が正しくありません | `name@domain.com` の形式に修正します |
| **リレーションが見つかりません** | 会社が存在しません | 先に会社をインポートするか、参照を修正します |
| **必須フィールドの欠落** | 必須フィールドが空です | 値を入力するか、その行を削除します |
## ステップ 7: インポートを完了する
1. インポートの概要を確認します
2. インポートするには **Confirm** をクリックします
3. インポートが完了するまで待ちます
4. いくつかのレコードを確認し、それらの Company リンクをチェックして検証します
## 連絡先をインポートした後
連絡先は Twenty に追加されました! 次のステップ:
1. **会社リンクを確認** — いくつかの People レコードを開き、正しい会社にリンクされていることを確認します
2. **Opportunities をインポート** — 必要に応じて、People や Companies にリンクします
3. **メール同期を設定** — メールボックスを接続して、連絡先レコード上でメール履歴を確認します
## 既存の連絡先を更新する
新規作成ではなく連絡先を更新するには:
1. ファイルに `email` または `id` 列を含めます
2. Twenty はこの一意の識別子でレコードを照合します
3. 既存の連絡先は更新され、新規は作成されます
詳細は [既存レコードを更新する方法](/l/ja/user-guide/data-migration/how-tos/update-existing-records-via-import) を参照してください。
## FAQ
<AccordionGroup>
<Accordion title="なぜ 2人の People が同じメールアドレスを持つことはできないのですか?">
メールアドレスは Twenty における一意の識別子です。 これにより連絡先の重複を防ぎ、メール同期でメールが正しい人物にリンクされるようになります。
</Accordion>
<Accordion title="メールアドレスのない人がいる場合はどうすればよいですか?">
メールアドレスは空のままでもかまいません。 ただし、データ品質とメール同期機能を高めるため、可能であればメールアドレスの追加を推奨します。
</Accordion>
<Accordion title="インポート中に People を Companies にリンクするにはどうすればよいですか?">
Company のドメイン(例: `https://acme.com`)または ID の列を追加します マッピング時に、この列を Company のリレーションフィールドに関連付けます。
</Accordion>
<Accordion title="Company がまだ存在しない場合はどうすればよいですか?">
まず Companies をインポートし、その後 People をインポートします。 参照する前に、その Company が存在している必要があります。
</Accordion>
<Accordion title="以前の CRM の ID をインポートできますか?">
はい! 外部 ID を保存するために、データモデルで "unique" に指定したカスタムフィールドを作成します。 注意: フィールド名 `id` は Twenty の内部 ID 用に予約されています。
</Accordion>
<Accordion title="「relation not found」エラーはどのように修正しますか?">
参照している Company が存在しません。 Company を先にインポートするか、ドメイン/ID が既存の Company と完全に一致しているか確認してください。
</Accordion>
</AccordionGroup>
## トラブルシューティング
お困りですか? 次を確認してください:
* [インポートエラーを解決する方法](/l/ja/user-guide/data-migration/how-tos/fix-import-errors)
* [リレーションをインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv)
* [フィールドマッピングのリファレンス](/l/ja/user-guide/data-migration/capabilities/field-mapping)

View File

@@ -0,0 +1,176 @@
---
title: API でデータをインポートする
description: 大規模なデータインポートに Twenty の API をいつ・どのように使用するか。
---
## 概要
Twenty は、プログラムによるデータインポートのために **GraphQL** と **REST API** の両方を提供しています。 CSV インポートがデータ量の観点で現実的でない場合、または自動化された定期的なインポートが必要な場合は、API を使用してください。
## API インポートを使うべきタイミング
| シナリオ | 推奨アプローチ |
| ------------- | ----------------- |
| 1 万件未満 | CSVインポート |
| 1 万〜5 万件 | CSVインポート(ファイルに分割) |
| **5 万件以上** | **API インポート** |
| 一度きりの移行 | どちらでも可(データ量に応じて) |
| **定期的なインポート** | **API インポート** |
| **リアルタイム同期** | **API インポート** |
| **他システムとの統合** | **API インポート** |
<Note>数十万件規模のデータセットでは、複数回の CSV インポートよりも API の方が大幅に高速で信頼性があります。</Note>
## API レートリミット
Twenty では、システムの安定性を確保するためにレート制限を設けています:
| 制限 | 値 |
| -------------------- | ------------- |
| **1 分あたりのリクエスト数** | 100 |
| **バッチ呼び出しあたりのレコード数** | 60 |
| **最大スループット** | ~6,000 レコード/分 |
<Warning>
**これらの制限を前提にインポート計画を立ててください。**
最大スループットで 100,000 レコードの場合、インポート時間は約 17 分になります。 エラー処理や再試行のための余裕時間を確保してください。
</Warning>
## 始めに
### ステップ 1: API キーを取得する
1. **設定 → 開発者** に移動
2. **+ API キーを作成** をクリック
3. キーにわかりやすい名前を付ける
4. API キーをすぐにコピーします(再表示されません)
5. 安全に保管する
<Warning>
**API キーは秘密にしてください。**
API キーを知っている人は誰でも、あなたのワークスペースのデータにアクセス・変更できます。 コードリポジトリにコミットしたり、公開で共有したりしないでください。
</Warning>
### ステップ 2: API を選択する
Twenty は 2 種類の API をサポートしています:
| API | 最適な用途 | ドキュメント |
| ----------- | ------------------------------ | ------------------------------------ |
| **GraphQL** | 柔軟なクエリ、関連データの取得、複雑な操作に最適 | [API ドキュメント](/l/ja/developers/extend/api) |
| **REST** | シンプルな CRUD 操作、馴染みのある REST パターン | [API ドキュメント](/l/ja/developers/extend/api) |
両方の API でサポートされる内容:
* レコードの作成、読み取り、更新、削除
* **バッチ操作** — 1 回の呼び出しで最大 60 レコードを作成または更新
**インポートではバッチ操作を使用**し、レート制限内でスループットを最大化してください。
### ステップ 3: インポート順序を計画する
CSV インポートと同様に、リレーションでは**順序が重要**です:
1. **会社**を最初に(依存関係なし)
2. 2 番目に **連絡先**(会社にリンク可能)
3. 3 番目に **商談**(会社および連絡先にリンク可能)
4. **タスク/メモ**(上記のいずれにもリンク可能)
5. **カスタムオブジェクト**(依存関係に従って)
## ベストプラクティス
### リクエストをバッチ化する
* レコードを 1 件ずつ送信しない
* 1 回の API 呼び出しにつき**最大 60 レコード**にまとめる
* これにより、レート制限内でスループットを最大化できます
### レート制限への対応
* リクエスト間に遅延を入れる(継続的なインポートでは最小 600ms)
* 制限に達したら指数バックオフを使用する
* 429(Too Many Requests)応答を監視する
### まずデータを検証する
* インポート前にデータをクリーンアップし、検証する
* 必須フィールドが入力されていることを確認する
* 形式が Twenty の要件に合致していることを確認する([フィールドマッピング](/l/ja/user-guide/data-migration/capabilities/field-mapping) を参照)
### すべてをログに記録する
* インポートしたすべてのレコード(ID を含む)を記録する
* エラーをコンテキスト情報とともに記録する
* これにより、問題のデバッグと完了確認が容易になります
### まずテストする
* 少量のバッチ(10〜20 レコード)でテストする
* Twenty にデータが正しく表示されることを確認する
* その後、フルインポートを実行する
### 重複を避けるためにアップサートを使用する
GraphQL API は **バッチ アップサート**をサポートしています — レコードが存在する場合は更新、存在しない場合は作成します。 これにより、インポートを再実行しても重複を防止できます。
## オブジェクト名とフィールド名の確認方法
利用可能なオブジェクトとフィールドを確認するには:
1. **設定 → API と Webhook** に移動
2. **Metadata API** を参照
3. すべての標準およびカスタムオブジェクトとそのフィールドを表示
ドキュメントには、すべての標準およびカスタムオブジェクト、そのフィールド、および期待されるデータ型が示されています。
## プロフェッショナルサービス
複雑な API 移行については、パートナーがお手伝いします:
| サービス | 提供内容 |
| ------------ | ------------------- |
| **データモデル設計** | 最適なデータ構造を設計 |
| **移行スクリプト** | インポート用スクリプトの作成と実行 |
| **データ変換** | 複雑なマッピングとクリーンアップに対応 |
| **検証と QA** | 移行が完了していることを検証 |
**最適な用途:**
* 10 万件以上のレコードの移行
* 複雑なデータ変換
* 厳しいスケジュール
* 開発リソースのないチーム
[contact@twenty.com](mailto:contact@twenty.com) までお問い合わせいただくか、[導入支援サービス](/l/ja/user-guide/getting-started/capabilities/implementation-services)をご覧ください。
## FAQ
<AccordionGroup>
<Accordion title="GraphQL と REST の違いは何ですか?">
GraphQL は、1 回のクエリで必要なデータだけを正確に要求でき、複雑な操作に適しています。 REST は標準的な HTTP メソッド(GET、POST、PUT、DELETE)を使用しており、従来の API を扱ったことがある場合は馴染みやすいでしょう。
</Accordion>
<Accordion title="API で既存のレコードを更新できますか?">
はい! 更新用ミューテーション(GraphQL)またはレコードの `id` を用いた PUT/PATCH リクエスト(REST)を使用してください。
</Accordion>
<Accordion title="重複にはどう対処すればよいですか?">
一意の識別子(メール、ドメイン)を使用して、まず既存のレコードをクエリします。 存在すれば更新、なければ作成します。
</Accordion>
<Accordion title="API でレコードを削除できますか?">
はい、削除用ミューテーション(GraphQL)または DELETE リクエスト(REST)を使用します。
</Accordion>
<Accordion title="Python や Node.js の SDK はありますか?">
現時点ではありませんが、どちらの API もあらゆる言語の任意の HTTP クライアントで利用できます。
</Accordion>
</AccordionGroup>
## API ドキュメント
実装の詳細、コード例、スキーマリファレンスについては次を参照してください:
* [API ドキュメント](/l/ja/developers/extend/api)

View File

@@ -0,0 +1,225 @@
---
title: CSV でオブジェクト間のリレーションをインポートする
description: CSV インポート時にレコードを関連付けるための完全なステップバイステップガイド。
---
## 概要
本ガイドでは、オブジェクト間のリレーションをインポートする手順を説明します(例:連絡先を会社にリンク、または商談を連絡先にリンク)。
<Note>**インポート可能なもの:** 単一のオブジェクトタイプを指す 1 対多のリレーションのみ。 複数のオブジェクトタイプを指すリレーション(例:メモが連絡先と会社の双方にリンク)は、現時点ではインポートに対応していません。</Note>
## リレーションの理解
### 「1 対多」リレーションとは?
1 対多のリレーションでは:
* **1 つの**会社には**多数の**連絡先(従業員)がいる
* **1 つの**会社には**多数の**商談がある
* **1 つの**連絡先には**多数の**タスクがある
「1」の側は**親**です。 「多」の側は**子**です。
### Twenty における一般的なリレーション
| リレーション | 「1」の側(親) | 「多」の側(子) |
| --------- | -------- | -------- |
| 会社 → 連絡先 | 会社 | 人物 |
| 会社 → 商談 | 会社 | 商談 |
| 連絡先 → タスク | 人物 | タスク |
| 連絡先 → メモ | 人物 | ノート |
## ステップ 1: 「1」と「多」の側を特定する
インポート前に、どのオブジェクトが親で、どれが子かを判断します。
**自問:** 「1 つの [オブジェクト A] は多数の [オブジェクト B] を持つか?」
* 1 つの会社 → 多数の連絡先 ✓(会社が親)
* 1 人 → 多数の会社 ✗(誤りです—1 人は 1 社に所属)
## ステップ 2: まず親レコードをインポートする
参照する前に、親(「1」の側)が Twenty に存在している必要があります。
**インポート順:**
1. **会社**を最初に(依存関係なし)
2. **連絡先**を次に(会社にリンク)
3. **商談**を 3 番目に(会社や連絡先にリンク)
4. **タスク/メモ**(上記のいずれかにリンク)
<Warning>
**親レコードが存在しない場合、インポートは失敗します。**
会社参照を含む連絡先をインポートする前に、必ず会社がインポート済みであることを確認してください。
</Warning>
## ステップ 3: 親の一意識別子を控える
親レコードは**一意の識別子**で参照する必要があります。 利用可能な選択肢:
| 親オブジェクト | 利用可能な一意識別子 |
| --------------- | ----------------------------------------- |
| **会社** | `id`(UUID)、`domain`(推奨)、または任意のカスタム一意フィールド |
| **連絡先** | `id`(UUID)、`email`、または任意のカスタム一意フィールド |
| **ワークスペースメンバー** | `id`(UUID)、`email`(名前ではありません) |
| **カスタムオブジェクト** | `id`(UUID)、または一意としてマークされた任意のフィールド |
<Note>**推奨:** 会社には `domain`、連絡先には `email` を使用してください。 これらは人間が読みやすく、スプレッドシートで簡単に確認できます。</Note>
### 識別子の見つけ方
`id` が必要な場合:
1. 親レコードを Twenty からエクスポートする
2. エクスポートには `id` 列が含まれます
3. これらの ID を子レコードのファイルで使用する
## ステップ 4: リレーションフィールドが存在することを確認する
インポート前に、オブジェクト間のリレーションフィールドが存在することを確認します。
**確認・作成方法:**
1. **設定 → データモデル** に移動する
2. 子オブジェクト(例:連絡先)を選択する
3. 親(例:会社)を指すリレーションフィールドを探す
4. 存在しない場合は作成する:
* **+ Add field** をクリック
* **Relation** タイプを選択
* 親オブジェクトを選択
## ステップ 5: CSV ファイルを準備する
子側の CSV に、親を一意の識別子で参照する列を追加します。
### 例:連絡先を会社にリンクする
**連絡先の CSV:**
```csv
firstName,lastName,email,jobTitle,companyDomain
John,Smith,john@acme.com,CEO,https://acme.com
Jane,Doe,jane@widgets.co,CTO,https://widgets.co
Bob,Johnson,bob@techstart.io,Developer,https://techstart.io
```
`companyDomain` 列は会社のドメインを参照します。
### 形式要件
| 識別子 | 形式 | 例 |
| ---- | ----------- | -------------------------------------- |
| ドメイン | URL 形式 | `https://acme.com` |
| メール | 標準的なメールアドレス | `john@acme.com` |
| ID | UUID | `c776ee49-f608-4a77-8cc8-6fe96ae1e43f` |
<Warning>
**ドメインの形式が重要です!**
`https://domain.com` を使用してください(`domain.com` だけではありません)。 これは Twenty が会社のドメインを保存する方法に一致し、照合エラーを防ぎます。
</Warning>
### 重要なルール
1. **完全一致が必要** — 値は親レコードと完全に一致している必要があります
2. **一意の識別子は 1 つだけマッピング** — `companyId` と `companyDomain` の両方を含めないでください
3. **大文字小文字を区別** — `Acme.com` ≠ `acme.com`
## ステップ 6: リレーションをアップロードしてマッピングする
1. 子オブジェクト(例:連絡先)に移動
2. **⋮** → **Import records** をクリック
3. CSV ファイルをアップロード
4. フィールドマッピングのステップで:
* リレーション列(例:`companyDomain`)を見つける
* それを**会社**のリレーションフィールドにマッピングする
5. 残りのマッピングを完了する
6. エラーを確認して確定する
Twenty が各子レコードを一致する親に自動でリンクします。
## ステップ 7: インポートを確認する
インポート後:
1. いくつかの子レコード(例:連絡先)を開く
2. リレーションフィールドに正しい親(例:会社)が表示されていることを確認する
3. 親レコードを開き、関連レコードのセクションを確認する
## 避けるべき一般的なミス
| ミス | 問題 | 解決策 |
| ------------------ | ------------------------------------------- | ----------------------------- |
| **インポート順の誤り** | 会社より先に連絡先をインポートしている | 常に親を先に、次に子をインポートする |
| **ドメイン形式の誤り** | `https://acme.com` ではなく `acme.com` を使用している | `https://` を含む完全な URL 形式を使用する |
| **複数の一意フィールド** | `companyId` と `companyDomain` の両方をマッピングしている | 一意の識別子は 1 つだけマッピングする |
| **リレーションフィールドがない** | データモデルにリレーションフィールドが存在しない | インポート前に **設定 → データモデル** で作成する |
| **存在しないレコード** | 親レコードが Twenty に存在しない | 先に親レコードをインポートするか、タイプミスを確認する |
| **大文字小文字の不一致** | ファイルでは `Acme.com`、Twenty では `acme.com` | 大文字小文字が完全に一致していることを確認する |
## ワークスペースメンバーへのリンク
ワークスペースメンバー(あなたのチーム)にリンクする場合:
* 名前ではなく**メールアドレス**を使用する
* 例:`owner@yourcompany.com`、"John Smith" ではなく
```csv
taskName,assignedTo
Follow up with client,john@yourcompany.com
Review proposal,jane@yourcompany.com
```
## FAQ
<AccordionGroup>
<Accordion title="親レコードにドメインやメールがない場合はどうすればよいですか?">
次の 2 つの選択肢があります:
1. Twenty の `id` を使用する(親レコードをエクスポートして ID を取得)
2. データモデルにカスタムの一意フィールドを作成し、以前のシステムの外部 ID を保存する
</Accordion>
<Accordion title="既存レコードのリレーションを更新できますか?">
はい! 子レコードの一意の識別子(例:連絡先なら `email`)と新しいリレーションの値を含めてください。 インポートによってリレーションが更新されます。
</Accordion>
<Accordion title="多対多のリレーションをインポートできますか?">
多対多のリレーションは、現時点ではインポートに対応していません。 これは 2026 年上期に対応予定です。
</Accordion>
<Accordion title="複数のオブジェクトタイプ(例:メモを連絡先と会社の双方)にリンクできますか?">
複数のオブジェクトタイプを指すリレーションは、現時点ではインポート/エクスポートに対応していません。 これはロードマップにあります。
</Accordion>
<Accordion title="親レコードが存在しない場合はどうなりますか?">
その行に対してエラーが表示されます。 次のいずれかを行うことができます。
* 先に親レコードをインポートしてから再インポートする
* 参照値を修正する
* インポート対象からその行を削除する
</Accordion>
<Accordion title="リレーションが正しくリンクされないのはなぜですか?">
よくある原因:
* 形式の誤り(ドメインには `https://domain.com` を使用)
* 大文字小文字の不一致(綴りを正確に確認)
* 親が存在しない(先に親をインポート)
* 複数の識別子をマッピングしている(1 つだけを使用)
</Accordion>
</AccordionGroup>
<Warning>
**注意: 論理削除されたレコードも一意性の判定に含まれます。**
「not found」エラーが出るのにレコードが存在するように見える場合は、Command Menu → See deleted records を確認してください。 親が論理削除されている可能性があります。
</Warning>
## トラブルシューティング
お困りですか? 次を確認してください:
* [インポートエラーを解決する方法](/l/ja/user-guide/data-migration/how-tos/fix-import-errors)
* [リレーションのインポート機能](/l/ja/user-guide/data-migration/capabilities/import-relations)
* [一意性制約](/l/ja/user-guide/data-migration/capabilities/uniqueness-constraints)

View File

@@ -0,0 +1,289 @@
---
title: 他のCRMからの移行
description: 任意の CRM から Twenty へデータを移行するためのステップバイステップガイド。
---
## 概要
このガイドでは、任意の CRM から Twenty へデータを移行する手順を説明します。 このプロセスには、データの監査、Twenty ワークスペースの準備、現在のシステムからのエクスポート、および Twenty へのインポートが含まれます。
<Note>移行後、ビュー、ワークフロー、権限は手動で再作成する必要があります。 この構成作業のための時間を確保してください。</Note>
## ステップ 1: 現在のデータを監査する
移行は新たなスタートの好機です。 不要なデータは持ち込まないでください。
**保持するもの:**
* アクティブな連絡先と会社
* 進行中の商談やディール
* 重要なメモとアクティビティ
* 実際に使用しているカスタムフィールド
**除外するもの:**
* 古い連絡先(2年以上アクティビティがないもの)
* 重複レコード
* テストデータ
* 未使用のカスタムフィールド
## ステップ 2: データモデルをマッピングする
現在の CRM と Twenty の間のマッピングドキュメントを作成します:
| お使いの CRM | Twenty |
| ---------- | ------------------ |
| アカウント / 組織 | **会社** |
| 連絡先 / 人 | **連絡先** |
| ディール / 商談 | **商談** |
| アクティビティ | **タスク** または **メモ** |
| カスタムオブジェクト | **カスタムオブジェクト** |
**各フィールドごとに、次を記録します:**
* ソースフィールド名
* 移行先の Twenty フィールド
* 必要な形式変換(例:日付、電話番号など)
<Note>インポート中はこのマッピングドキュメントを手元に置いてください—列のマッピング時に参照します。</Note>
## ステップ 3: Twenty ワークスペースを設定する
データをインポートする前に、Twenty ワークスペースを準備します:
### カスタムオブジェクトとフィールドを作成
1. **設定 → データモデル** に移動
2. 必要なカスタムオブジェクトを作成する
3. 標準オブジェクトおよびカスタムオブジェクトにカスタムフィールドを追加する
4. フィールドの設定(一意、必須、選択肢など)を構成する
<Warning>
**インポート前にフィールドが存在している必要があります。**
CSV インポートはレコードを作成します。フィールドは作成しません。 インポート前に **設定 → データモデル** でカスタムフィールドをすべて作成してください。
</Warning>
### チームを招待
<Warning>
**重要: データをインポートする前にユーザーを招待してください。**
データにユーザー参照(アカウント所有者、担当者など)が含まれる場合、それらのユーザーはインポート前に Twenty 上に存在している必要があります。 そうでない場合、それらのリレーションはマッピングできません。
</Warning>
1. **設定 → メンバー** に移動
2. すべてのチームメンバーを招待する
3. **全員が招待を受諾するのを待つ**
4. メンバー一覧にすべてのユーザーが表示されていることを確認する
## ステップ 4: 現在の CRM からエクスポートする
現在の CRM からデータをエクスポートします:
1. 通常は設定、データ管理、管理の下にある **エクスポート** 機能を探します
2. 可能であれば **CSV 形式** でエクスポートする
3. 各オブジェクトタイプを個別にエクスポートする(会社、連絡先、商談など)
4. 移行したいすべてのフィールドを含める
**次のオブジェクトをエクスポートします(この順序で):**
1. 会社 / アカウント / 組織
2. 連絡先 / 人
3. ディール / 商談
4. メモとアクティビティ
5. カスタムオブジェクト
## ステップ 5: データをクリーンアップして整形する
エクスポートした各 CSV を表計算アプリで開き、Twenty 用に準備します。
### 重複を削除
1. 一意のフィールドで並べ替える(連絡先はメール、会社はドメイン)
2. 重複行を削除または統合する
3. Twenty にすでに重複が存在しないことを確認する
### フィールドの形式を正しく整える
| フィールドタイプ | 必須の形式 |
| ----------- | ------------------------------- |
| **ドメイン** | `https://domain.com` |
| **メール** | `name@domain.com`(一意である必要があります) |
| **日付** | `YYYY-MM-DD` |
| **電話** | 3 列: 番号、国コード、Calling Code |
| **ブール型** | `TRUE` または `FALSE`(大文字) |
| **選択フィールド** | 表示ラベルではなく API 名を使用する |
<Warning>
**ドメインの形式は重要です。**
`https://domain.com` を使用してください(`domain.com` や `www.domain.com` ではありません)。 これは Twenty の形式に一致し、メール/カレンダー同期を接続した際の重複を防ぎます。
</Warning>
すべてのフィールドタイプに関する完全な書式要件は、[CSV ファイルを準備する方法](/l/ja/user-guide/data-migration/how-tos/prepare-your-csv-files) を参照してください。
### リレーション列を追加
レコードをリンクするには(例:連絡先を会社にリンク)、親の一意の識別子を含む列を追加します。
**例:会社リンク付きの連絡先 CSV**
```csv
firstName,lastName,email,companyDomain
John,Smith,john@acme.com,https://acme.com
Jane,Doe,jane@widgets.co,https://widgets.co
```
レコードをリンクする手順の詳細は、[リレーションをインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv) を参照してください。
### ユーザー参照を更新
データにユーザーの割り当て(所有者、担当者)が含まれる場合:
1. **ユーザーのメールアドレス** の列を追加する(古いシステムの ID だけでは不可)
2. ユーザーが Twenty のワークスペースに参加した際に使用したものと同じメールアドレスを使用してください。
完全な書式ガイドは、[CSV ファイルを準備する方法](/l/ja/user-guide/data-migration/how-tos/prepare-your-csv-files) を参照してください。
## ステップ 6: Twenty にインポートする
<Warning>
**インポート順は重要です!**
必ずこの順序でインポートします:
1. 最初に **会社**(依存関係なし)
2. 次に **連絡先**(会社にリンク)
3. 3 番目に **商談**(会社/連絡先にリンク)
4. **メモとタスク**(レコードにリンク)
5. **カスタムオブジェクト**(依存関係に従って)
参照する前に、親レコードが存在している必要があります。
</Warning>
### 各オブジェクトをインポート
各 CSV ファイルについて、順番に実行します:
1. Twenty の対象オブジェクトに移動します
2. **⋮ → Import records** をクリックします
3. CSV ファイルをアップロードします
4. 列をフィールドにマッピングします:
* ユーザーのメールアドレス列を適切なリレーションフィールドにマッピングします
* リレーション列(`companyDomain` など)をリレーションフィールドにマッピングします
5. UI でエラーを確認して修正します
6. インポートを確定します
7. 次のファイルに進む前に、いくつかのレコードを確認します
**詳細ガイド:**
* [会社をインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-companies-via-csv)
* [連絡先をインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-contacts-via-csv)
* [リレーションをインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv)
## ステップ 7: 大規模な移行(5 万件以上のレコード)
大規模な移行の場合:
| 件数 | 推奨アプローチ |
| -------- | ----------------- |
| 1 万件未満 | 単一の CSV インポート |
| 1 万〜5 万件 | 複数の CSV ファイルに分割する |
| 5 万件以上 | API を使用する |
**API でのインポートについて:**
* 大規模データセットでは高速で信頼性が高い
* バッチ処理に対応(1 回の呼び出しで最大 60 レコード)
* 詳細は [API でデータをインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-data-via-api) を参照
## ステップ 8: 移行後のセットアップ
データのインポート後、ワークスペースの設定を完了します:
### ビューを再作成
* フィルター、並べ替え、列の構成を含む保存済みビューを設定します
* 必要なカンバンビューやカレンダービューを作成します
### ワークフローを再作成
* **設定 → ワークフロー** で自動化を再構築します
* 最も重要なワークフローから開始する
* 運用に入れる前に各ワークフローをテストします
### 役割と権限の設定
* **設定 → メンバー → 役割** で役割を設定します
* ユーザーに適切な役割を割り当てます
### メールとカレンダーの連携
* 各ユーザーは **設定 → アカウント** で自分のアカウントを接続します
* Twenty がメールを連絡先レコードと同期し始めます
* [メールとカレンダー](/l/ja/user-guide/calendar-emails/overview) を参照
### チームのトレーニング
* 新しいインターフェースを一緒に確認する
* チーム固有のプロセスを文書化する
## 一般的な問題と解決策
| 問題 | 原因 | 解決策 |
| ------------------ | ---------------- | -------------------------------------------- |
| **重複エラー** | メール/ドメインがすでに存在する | ファイルから重複を削除するか、一意の識別子を含めて既存のレコードを更新する |
| **リレーションが見つかりません** | 親レコードが存在しない | 親オブジェクトを先にインポートする(連絡先の前に会社) |
| **不足しているフィールド** | カスタムフィールドが存在しない | インポート前に **設定 → データモデル** でフィールドを作成する |
| **選択フィールドのエラー** | 表示ラベルを使用している | API 名を使用する(設定で詳細モードを有効にして確認) |
| **ユーザーのリレーションが空** | ユーザーが招待を受諾していない | データをインポートする前に、すべてのユーザーが招待を受諾していることを確認してください。 |
詳細なトラブルシューティング手順は、[インポートエラーを解決する方法](/l/ja/user-guide/data-migration/how-tos/fix-import-errors) を参照してください。
## ポスト移行チェックリスト
### データの整合性
<Check>すべてのレコードがインポートされた(ソースシステムの件数と比較)</Check>
<Check>リレーションが正常に機能している(連絡先が会社にリンク)</Check>
<Check>ユーザーの割り当てが正しくマッピングされている(所有者、担当者)</Check>
<Check>カスタムフィールドが入力されている</Check>
<Check>想定外の重複がない</Check>
### 構成
<Check>ビューを再作成済み</Check>
<Check>ワークフローを再作成しテスト済み</Check>
<Check>役割と権限を設定済み</Check>
<Check>メール/カレンダー同期を接続済み</Check>
### チームの準備状況
<Check>新しいシステムについてチームをトレーニング済み</Check>
<Check>旧 CRM のアクセス計画を決定(参照用に保持する? いつ無効化するか?)</Check>
## FAQ
<AccordionGroup>
<Accordion title="ワークフローを自動的に移行できますか?">
現時点ではできません。 ワークフローは Twenty で手動で再作成する必要があります。
</Accordion>
<Accordion title="ファイル添付はどうなりますか?">
CSV のエクスポートにはファイル添付は含まれません。 手動で再アップロードするか、API で移行するか、サポートが必要な場合は弊社チームにご連絡ください。
</Accordion>
<Accordion title="移行中に両方のシステムを稼働させておけますか?">
はい、移行が完了したことを確認するまでは、旧 CRM を稼働させておくことを推奨します。 ただし、両方の環境で新しいデータを作成しないよう注意してください。
</Accordion>
<Accordion title="移行には通常どれくらい時間がかかりますか?">
データの量と複雑さによります。 小規模な移行(1 万件未満)は数時間で完了します。 大規模な移行は、データのクリーンアップやテストを含め、数日かかる場合があります。
</Accordion>
</AccordionGroup>
## ヘルプが必要ですか?
<Tip>
移行についてサポートが必要ですか? [認定済みの Twenty パートナーを探す](https://twenty.com/partners/list?categories=SOLUTIONING\&ref=docs-migrate-crm)ことで、データ、パイプライン、ユーザーの移行を最初から最後まで任せられます。
</Tip>

View File

@@ -0,0 +1,173 @@
---
title: セルフホストからクラウドへの移行
description: Twenty のセルフホストのインスタンスを Twenty Cloud に移行するためのステップバイステップガイド。
---
## 概要
このガイドでは、Twenty のセルフホストのインスタンスから Twenty Cloud へデータを移行する手順を説明します。 クラウドのワークスペースをセットアップし、データをエクスポートしてから再インポートする流れです。
<Note>移行後、ビュー、ワークフロー、役割は手動で再作成する必要があります。 この構成作業のための時間を確保してください。</Note>
## ステップ 1: クラウドワークスペースを作成する
1. [app.twenty.com](https://app.twenty.com) にアクセスし、新しいワークスペースを作成します
2. 初期セットアップウィザードを完了します
3. 新しいワークスペースの URL を控えておきます
## ステップ 2: データモデルを再作成する
データをインポートする前に、カスタムオブジェクトとフィールドを再作成してください:
1. クラウドのインスタンスで **設定 → データモデル** に移動します
2. セルフホスト環境の設定に一致するカスタムオブジェクトを作成します
3. 標準オブジェクトおよびカスタムオブジェクトにカスタムフィールドを追加します
4. フィールドの設定(一意、必須など)を行います
<Note>参照用にセルフホスト環境のデータモデルのスクリーンショットを撮るか、両方のインスタンスを並べて開いたままにしておきましょう。</Note>
## ステップ 3: すべてのユーザーを招待する
<Warning>
**重要: データをインポートする前にユーザーを招待してください。**
ユーザーを参照するレコード(例: Account Owner フィールド)をインポートする前に、ユーザーは招待を受諾している必要があります。 ユーザーがまだ存在しない場合、それらのリレーションはマッピングできません。
</Warning>
1. クラウドのインスタンスで **設定 → メンバー** に移動します
2. セルフホストでアカウントを持っていたチームメンバー全員を招待します
3. **全員が招待を受諾するのを待ちます**
4. メンバー一覧にすべてのユーザーが表示されていることを確認します
## ステップ 4: セルフホストからデータをエクスポートする
セルフホストのインスタンスから各オブジェクトをエクスポートします:
1. 各オブジェクト(会社、連絡先、商談など)に移動します
2. 移行したい**すべての列**が表示されるようにビューを設定します
3. **⋮ → Export view** をクリックします
4. 各 CSV ファイルをわかりやすい名前で保存します(例: `companies-export.csv`)
インポート時の参照のため、**この順序でエクスポート**してください:
1. 会社
2. 人物
3. 商談
4. カスタムオブジェクト(依存関係に従って)
5. タスク、メモ
## ステップ 5: ワークスペースのメンバー参照を更新する
エクスポートした CSV には、セルフホストのインスタンスのユーザー ID が含まれています。 これらの ID はクラウドのインスタンスと一致しないため、メールアドレスに置き換える必要があります。
**ユーザー参照(Owner、Assignee など)がある各 CSV ファイルについて:**
1. CSV をスプレッドシートアプリで開きます
2. 各ユーザー ID 列の隣に新しい列を追加します(例: `accountOwnerId` の隣に `accountOwnerEmail`)
3. 各ユーザーの**メールアドレス**を入力します
4. 古い ID 列は削除しても残しても構いません(インポート時にスキップされます)
**例:**
以前:
```csv
name,domain,accountOwnerId
Acme Corp,https://acme.com,old-uuid-123
```
以降:
```csv
name,domain,accountOwnerEmail
Acme Corp,https://acme.com,john@yourcompany.com
```
<Note>クラウドのワークスペース招待を受諾した際にユーザーが使用したものと同じメールアドレスを使用してください。</Note>
## ステップ 6: インポート順序を計画する
リレーションを維持するため、正しい順序でファイルをインポートします:
1. 最初に**会社**(依存関係なし)
2. 次に**連絡先**(会社にリンク)
3. 3 番目に**商談**(会社および連絡先にリンク)
4. **カスタムオブジェクト**(依存関係に従って)
5. 最後に**タスクとメモ**(他のレコードにリンク)
リレーションの維持方法の詳細は、[リレーションをインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv) を参照してください。
## ステップ 7: クラウドにインポートする
各 CSV ファイルについて、順番に実行します:
1. クラウドのインスタンスで対象のオブジェクトに移動します
2. **⋮ → Import records** をクリックします
3. CSV ファイルをアップロードします
4. 列をフィールドにマッピングします:
* ユーザーのメールアドレス列を適切なリレーションフィールドにマッピングします
* その他の列は通常どおりマッピングします
5. エラーを確認して修正します
6. インポートを確認します
7. 次のファイルに進む前に、いくつかのレコードを確認します
## ステップ 8: 設定を再作成する
データのインポート後、次の項目を手動で再作成します:
### ビュー
* フィルター、並べ替え、列の構成を含む保存済みビューを再作成します
* カンバンビューやカレンダービューを設定します
### ワークフロー
* **設定 → ワークフロー** で自動化を再作成します
* 運用に入れる前に各ワークフローをテストします
### 役割と権限
* **設定 → メンバー → 役割** で役割を設定します
* ユーザーに適切な役割を割り当てます
### 統合
* 各ユーザーのメールおよびカレンダーの同期を再接続します
* 新しい API キーで各種 API 連携を再設定します
## ポスト移行チェックリスト
<Check>すべてのデータが正常にインポートされている</Check>
<Check>オブジェクト間のリレーションが正しく機能している</Check>
<Check>ユーザーの割り当て(Owner、Assignee)が正しくマッピングされている</Check>
<Check>ビューを再作成済み</Check>
<Check>ワークフローを再作成し、テスト済み</Check>
<Check>役割と権限を構成済み</Check>
<Check>メール/カレンダーの同期を再接続済み</Check>
<Check>API 連携を新しいキーで更新済み</Check>
## FAQ
<AccordionGroup>
<Accordion title="ワークフローを自動的に移行できますか?">
現時点ではできません。 ワークフローはクラウドのインスタンスで手動で再作成する必要があります。
</Accordion>
<Accordion title="ファイルの添付や画像はどうなりますか?">
CSV のエクスポートにはファイルの添付は含まれません。 添付ファイルは手動で再アップロードするか、API で移行するか、大規模な移行については弊社チームにご連絡ください。
</Accordion>
<Accordion title="移行中に両方のインスタンスを稼働させておけますか?">
はい、クラウドへの移行が完了したことを確認するまでは、セルフホストのインスタンスを稼働させておくことを推奨します。 ただし、両方の環境で新しいデータを作成しないようご注意ください。
</Accordion>
<Accordion title="ユーザーがまだ招待を受諾していない場合はどうなりますか?">
そのユーザーを参照するレコードはインポートに失敗するか、リレーションが空になります。 データをインポートする前に、すべてのユーザーが招待を受諾していることを確認してください。
</Accordion>
</AccordionGroup>
## ヘルプが必要ですか?
<Tip>
大規模または複雑なワークスペースを移行しますか? 移行作業を最初から最後まで任せられる、[認定済みの Twenty パートナー](https://twenty.com/partners/list?categories=HOSTING\&ref=docs-migrate-cloud)を利用しましょう。 *(または、私たちのチームを CC してください: [contact@twenty.com](mailto:contact@twenty.com)。)*
</Tip>

View File

@@ -0,0 +1,267 @@
---
title: CSV ファイルを準備する
description: Twenty へのインポート用にデータをフォーマットするための、完全なステップバイステップガイド。
---
## 概要
このガイドは、インポートを成功させるための CSV ファイルの準備方法を順を追って説明します。 エラーを避けるために、次の手順に従ってください。
## ステップ 1: ファイル要件を確認する
開始する前に、ファイルが次の要件を満たしていることを確認してください。
| 要件 | 詳細 |
| ------------ | --------------------- |
| **形式** | CSV、XLSX、または XLS |
| **サイズ上限** | 1 ファイルあたり 10,000 レコード |
| **エンコーディング** | UTF-8 推奨 |
| **構造** | ファイルごとに 1 つのオブジェクトタイプ |
<Note>10,000 レコードを超えるデータセットは、複数のファイルに分割するか、[API インポート](/l/ja/user-guide/data-migration/how-tos/import-data-via-api)を使用してください。</Note>
## ステップ 2: サンプルファイルをダウンロードする
**これは最も重要なステップです。** サンプルファイルには、Twenty が想定する正確な列名と形式が示されています。
1. オブジェクトビュー(People、Companies など)に移動します。
2. 「**⋮**」→「**Import records**」をクリックします。
3. 「**Download sample file**」をクリックします。
4. このファイルをテンプレートとして使用してください。
<Note>**プロのヒント:** 代わりに、既存のレコードを少数エクスポートします。 これにより、データのあるべきフォーマットの実例が得られ、インポート時に列名が自動的にマッピングされます。</Note>
## ステップ 3: 重複値を削除する
Twenty は一部のフィールドに一意性を強制します。 重複はインポートエラーの原因になります。
| オブジェクト | 一意のフィールド |
| -------------- | ------------------------ |
| **People** | `id`, `email` |
| **会社** | `id`, `domain` |
| **カスタムオブジェクト** | `id` に加え、一意に設定した任意のフィールド |
**インポート前に:**
1. スプレッドシートを一意フィールド(email または domain)で並べ替えます。
2. 重複行を削除または統合します。
3. Twenty に既に存在する重複がないか確認します。
<Warning>**ソフト削除されたレコードも一意性の判定に含まれます。** Command Menu → See deleted records にあるレコードは重複エラーの原因になります。 それらを完全に削除するか、復元して更新してください。</Warning>
## ステップ 4: 各フィールドタイプを正しくフォーマットする
フィールドタイプごとに必要な形式が異なります。 完全なリファレンスは次のとおりです。
### テキストフィールド
* 特別なフォーマットは不要です
* 先頭/末尾の空白は自動的にトリムされます
### メールフィールド
* 有効なメール形式である必要があります: `name@domain.com`
* 一意である必要があります(ファイル内および Twenty 内に重複がないこと)
* 追加のメールについては、**Emails / Additional Emails** 列で次の形式を使用します:
```
["jane@twenty.com","jane.doe@twenty.com"]
```
### ドメインフィールド
* **推奨形式**: `https://domain.com`
* これはメールボックス/カレンダーの同期で使用される形式と一致します(重複を防止)
* 両方の列を入力してください。
* **Domain / Domain Label**: `domain.com`
* **Domain / Domain URL**: `https://domain.com`
* ファイル内および Twenty 内で一意である必要があります
### 電話番号フィールド
電話番号は、複数の列を必要とする**ネストされたフィールド**です:
| 列 | 例 |
| --------------------------------------- | ------------ |
| **Phones / Primary Phone Number** | `4159095555` |
| **Phones / Primary Phone Country Code** | `US` |
| **Phones / Primary Phone Calling Code** | `+1` |
### 住所フィールド
住所は複数列からなる **入れ子のフィールド** です(空欄のままでよい列もあります):
* **Address / Address 1**: 住所の 1 行目(番地など)
* **Address / Address 2**: 住所の 2 行目(任意)
* **Address / City**: 市区町村名
* **Address / State**: 州または都道府県
* **Address / Country**: 国名
* **Address / Post Code**: 郵便番号(ZIP コード)
### 日付フィールド
ファイル全体で形式を統一してください:
* `YYYY-MM-DD`(推奨): `2024-03-15`
* ISO 8601: `2024-03-15T10:30:00Z`
### 数値フィールド
* 数値のみ(テキスト不可)
* 小数点はピリオドを使用: `1234.56`
* 桁区切りを使用しない(`1,234.56` は不可)
### 通貨フィールド
通貨は **2 列を要する入れ子のフィールド** で、**両方に入力が必要** です:
| 列 | 例 |
| --------------------- | --------- |
| **Amount / Amount** | `1234.56` |
| **Amount / Currency** | `USD` |
### ブール値フィールド
大文字を使用: `TRUE` または `FALSE`
<Warning>小文字の `true` や `false` は動作しません。</Warning>
### 選択フィールド
表示ラベルではなく、オプションの **API 名** を使用してください。
**API 名の見つけ方:**
1. **設定 → データモデル** に移動する
2. オブジェクトとフィールドを選択
3. **高度なモード** を有効化(右下のトグル)
4. API 名をコピー(例: `OPTION_1`。"Option 1" ではありません)
<Note>新しい選択肢は自動的に作成されません。 インポート前に **設定 → データモデル** で追加してください。</Note>
### 複数選択フィールド
API 名を配列形式で記述します:
```
["VALUE1","VALUE2"]
```
### 配列フィールド
JSON 配列形式を使用します:
```
["value1","value2"]
```
### 評価フィールド
次の形式を使用: `RATING_1`、`RATING_2`、`RATING_3`、`RATING_4`、または `RATING_5`
### リンク/URL フィールド
両方の列を入力:
* **Links / Link Label**: `Twenty`
* **Links / Link URL**: `https://twenty.com`
二次リンクは **Links / Secondary Links** 列を使用します:
```
[{"url":"https://twenty.com","label":"Twenty"}]
```
### JSON フィールド
有効な JSON 形式を使用します:
```
{"key":"value","key2":"value2"}
```
### ID フィールド
* **任意**: 指定がない場合、Twenty が ID を自動生成します
* **形式**: UUID(例: `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`)
* **用途**: 新規作成ではなく既存レコードを更新する場合は ID を含めます
## 手順5: リレーション列を追加(レコードをリンクする場合)
レコードを他のオブジェクトにリンクするには(例: People を Companies にリンク)、関連レコードの一意の識別子を含む列を追加します。
**例**: People を Companies にリンク
People の CSV に列を追加:
```
firstName,lastName,email,companyDomain
John,Smith,john@acme.com,https://acme.com
Jane,Doe,jane@widgets.co,https://widgets.co
```
**リレーションに関する重要なルール:**
* 親レコードは事前に Twenty に存在している必要があります
* ラベルではなく **ドメイン URL** 形式(`https://domain.com`)を使用してください
* 一意の識別子は 1 つだけマッピングしてください(`companyId` と `companyDomain` を両方含めない)
* ワークスペースメンバーには **メールアドレス**(氏名ではなく)を使用してください
<Warning>
**インポート順序は重要です!**
「1」側を「多」側より先にインポートしてください:
1. **会社** を先に
2. **People** を 2 番目(会社参照付き)
3. **商談** を 3 番目に
参照する前に親レコードが存在している必要があります。
</Warning>
詳細な手順については、[リレーションをインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv)を参照してください。
## 手順6: Twenty にフィールドが存在することを確認
インポートで作成されるのはフィールドではなくレコードです。 インポートしたいフィールドはすべて、あらかじめデータモデルに存在している必要があります。
**インポート前に:**
1. **設定 → データモデル** に移動する
2. 対象オブジェクトを選択する
3. 必要なカスタムフィールドを作成する
4. フィールド名の正確な表記を控える(列ヘッダーと一致している必要があります)
## 手順7: 最終チェックリスト
ファイルをアップロードする前に、次を確認してください:
<Check>ファイル形式が CSV、XLSX、または XLS である</Check>
<Check>ファイルのレコード数が 10,000 未満である</Check>
<Check>エンコーディングが UTF-8 である</Check>
<Check>(People)では重複するメールがなく、(Companies)では重複するドメインがない</Check>
<Check>日付の形式が全体で統一されている</Check>
<Check>ドメインが `https://domain.com` 形式である</Check>
<Check>ブール値フィールドは `TRUE` または `FALSE`(大文字)を使用している</Check>
<Check>選択フィールドは表示ラベルではなく API 名を使用している</Check>
<Check>すべてのカスタムフィールドが 設定 → データモデル に存在する</Check>
<Check>子レコードより先に親レコードをインポートしている</Check>
<Check>リレーション列が既存レコードを参照している</Check>
## 避けるべき一般的なミス
| 誤り | 解決策 |
| -------------------------------- | --------------------------------------- |
| `TRUE` の代わりに `true` を使用している | ブール値は大文字である必要があります |
| 選択フィールドで表示ラベルを使用している | 設定で API 名を確認して使用する |
| Companies より先に People をインポートしている | 常に親オブジェクトから先にインポートする |
| 通貨フィールドで通貨コードが欠けている | Amount と Currency の両方の列を入力する |
| ドメインの形式が誤っている | `https://domain.com` を一貫して使用する |
| リレーションで複数の一意フィールドをマッピングしている | 1 つだけをマッピングする(domain か id のどちらかで、両方は不可) |
## 次のステップ
ファイルの準備ができました! 次へ:
* [会社をインポート](/l/ja/user-guide/data-migration/how-tos/import-companies-via-csv)(これを先にインポート)
* [コンタクトをインポート](/l/ja/user-guide/data-migration/how-tos/import-contacts-via-csv)
* [インポートエラーを修正](/l/ja/user-guide/data-migration/how-tos/fix-import-errors)

View File

@@ -0,0 +1,198 @@
---
title: インポートで既存のレコードを更新する
description: CSV インポートを使用したレコードの一括更新のための完全なステップバイステップガイド。
---
## 概要
多数のレコードを一度に更新する必要がありますか? 1 件ずつ編集する代わりに、CSV インポートを使って既存のレコードを一括更新しましょう。
**ユースケース:**
* 複数の連絡先の役職を更新する
* 会社情報を一括で変更する
* 新しいカスタムフィールドにデータを追加する
* 多数のレコードにわたるデータの誤りを修正する
## 仕組み
既存のレコードと一致する**一意の識別子**を含むファイルをインポートすると、Twenty は重複を作成せず、そのレコードを更新します。
| 一意の識別子が... | Twenty は... |
| ------------- | ------------------------ |
| 既存のレコードに一致する | 既存のレコードを**更新** |
| どのレコードにも一致しない | 新しいレコードを**作成** |
| ファイルに含まれていない | 新しいレコードを**作成**(ID は自動生成) |
<Warning>
**複数選択フィールドはマージではなく上書きされます。**
あるレコードで `Option A` と `Option B` が選択されている状態で `["Option C"]` をインポートすると、インポート後はそのレコードには `Option C` のみが残ります。 インポートは以前の選択をすべて置き換えます—追加はされません。
既存の値を保持するには、インポートにすべて含めてください: `["Option A","Option B","Option C"]`
</Warning>
## ステップ 1: 現在のデータをエクスポートする
まず、更新したいレコードをエクスポートします。
1. オブジェクト(連絡先、会社など)に移動します。
2. **必要な列を追加** — 更新したいフィールドを表示するには **Options → Fields** をクリックします
3. **必要に応じてフィルター** — 更新対象のレコードのみに絞り込みます
4. **⋮** → **Export view** をクリック
5. CSV ファイルを保存します
<Note>**なぜ最初にエクスポートするのか?** エクスポートされたファイルは正しい形式で、一意の識別子を含み、インポート時に自動でマッピングされます。</Note>
### エクスポートされる内容
* 現在のビューで表示されているすべての列
* レコードの一意の識別子(`id`、`email`、`domain`)
* 変更可能な現在のフィールド値
## ステップ 2: CSV ファイルを編集する
エクスポートしたファイルを表計算アプリ(Excel、Google スプレッドシートなど)で開きます。
1. **一意の識別子の列は残す** — `id`、`email`、`domain` は削除しないでください
2. 変更したい列の値を**更新**します
3. **更新が不要な列は削除**(任意ですが、その方がすっきりします)
4. **一意の識別子の値は変更しないでください** — 変更すると Twenty が新しいレコードを作成します
### 例:役職の更新
**エクスポートしたファイル:**
```csv
id,email,firstName,lastName,jobTitle
550e8400-e29b-41d4-a716-446655440001,john@acme.com,John,Smith,Sales Rep
550e8400-e29b-41d4-a716-446655440002,jane@acme.com,Jane,Doe,Sales Rep
550e8400-e29b-41d4-a716-446655440003,bob@acme.com,Bob,Johnson,Sales Rep
```
**編集後:**
```csv
id,email,firstName,lastName,jobTitle
550e8400-e29b-41d4-a716-446655440001,john@acme.com,John,Smith,Account Executive
550e8400-e29b-41d4-a716-446655440002,jane@acme.com,Jane,Doe,Senior Account Executive
550e8400-e29b-41d4-a716-446655440003,bob@acme.com,Bob,Johnson,Account Executive
```
<Warning>
**一意の識別子の値は変更しないでください。**
`john@acme.com` を `john.smith@acme.com` に変更すると、Twenty は既存のレコードを更新せずに新しいレコードを作成します。
</Warning>
## ステップ 3: 更新したファイルをインポートする
1. 対象のオブジェクトに移動します
2. **⋮** → **Import records** をクリック
3. 編集した CSV ファイルをアップロードします
4. **一意の識別子がマッピングされていることを確認** — `email`、`domain`、または `id` が正しくマッピングされているか検証します
5. フィールドのマッピングを確認します
6. エラーがないか確認します
7. **Confirm** をクリック
Twenty は一意の識別子でレコードを照合し、新しい値で更新します。
## 適切な一意の識別子の選び方
| オブジェクト | 推奨 | 代替 | ノート |
| -------------- | ---------- | ---- | ----------------- |
| **連絡先** | `メール` | `id` | メールアドレスは人間が読みやすい |
| **会社** | `ドメイン` | `id` | ドメインは人間が読みやすい |
| **カスタムオブジェクト** | 任意の一意フィールド | `id` | カスタムの一意フィールドを使用する |
<Note>**一意の識別子は 1 つだけ使用してください。** `email` と `id` の両方をマッピングしないでください。 これは混乱やエラーの原因になります。</Note>
### カスタムの一意フィールドを使用する
一意としてマークされたカスタムフィールド(他システムの外部 ID など)がある場合:
1. そのフィールドをエクスポートとインポートに含めます
2. インポート時にマッピングします
3. Twenty はそのフィールドで照合します
## ステップ 4: 更新内容を確認する
インポート後:
1. 更新されたレコードをいくつか開きます
2. 変更が反映されていることを確認します
3. 重複レコードが作成されていないことを確認します
## ファイルに含まれていないフィールドはどうなりますか?
**インポートファイルに含まれていないフィールドは変更されません。**
| ファイルに含まれている項目... | 結果 |
| -------------------------- | -------------------------------- |
| `email`、`jobTitle` | `jobTitle` のみ更新され、他のフィールドはそのままです |
| `email`、`jobTitle`、`phone` | `jobTitle` と `phone` が更新されます |
つまり、変更したいフィールド(+一意の識別子)だけを含めれば十分です。
## 更新と新規レコードの併用
同じインポートで既存レコードの更新と新規作成の両方が可能です。
```csv
email,firstName,lastName,jobTitle
john@acme.com,John,Smith,Senior Manager ← Updates existing (email matches)
newperson@acme.com,New,Person,Analyst ← Creates new (email doesn't match)
```
## 避けるべき一般的なミス
| ミス | 問題 | 結果 | 解決策 |
| -------------- | --------------------------------------------------------- | ------------------- | -------------------------------- |
| **一意の識別子の変更** | `john@acme.com` を `john.smith@acme.com` に変更した | 更新ではなく新しいレコードが作成される | 一意の識別子は変更しない |
| **複数の一意フィールド** | `email` と `id` の両方をマッピングしている | 照合の競合が発生する可能性 | 一意の識別子は 1 つだけマッピングする |
| **一意の識別子なし** | ファイルには `firstName`、`lastName`、`jobTitle` しかない | すべての行で新しいレコードが作成される | `email`、`domain`、または `id` を必ず含める |
| **大文字小文字の不一致** | ファイルは `John@acme.com` だが、Twenty では `john@acme.com` になっている | 新しいレコードを作成する | 正確な値を取得するには Twenty からエクスポートする |
## FAQ
<AccordionGroup>
<Accordion title="一部のレコードがまだ存在しない場合はどうなりますか?">
一意の識別子が既存レコードと一致しないレコードは新規レコードとして作成されます。 これにより、同じインポートで更新と新規作成の両方が可能になります。
</Accordion>
<Accordion title="フィールドの値をクリア(空に)できますか?">
はい、CSV のセルを空白のままにしてください。 インポートにより、既存レコードのそのフィールド値がクリアされます。
</Accordion>
<Accordion title="インポートに含めなかったフィールドはどうなりますか?">
インポートファイルにないフィールドは、既存レコード上で変更されません。 含めたフィールドのみが更新されます。
</Accordion>
<Accordion title="リレーションフィールド(Company など)を更新できますか?">
はい! リレーションの一意の識別子(例:`companyDomain`)を含め、リレーションフィールドにマッピングします。 リレーションが更新されます。
</Accordion>
<Accordion title="どのレコードが更新され、どれが作成されるかはどのようにわかりますか?">
インポートの確認ステップで、一意の識別子の一致に基づき、更新と作成の件数を Twenty が表示します。
</Accordion>
<Accordion title="一括更新を元に戻せますか?">
自動で元に戻す機能はありません。 一括更新の前に、バックアップとしてデータをエクスポートすることをお勧めします。
</Accordion>
</AccordionGroup>
## ベストプラクティス
1. **まずエクスポート** — 正しい形式を確実にするため、必ずエクスポートから始める
2. **更新前にバックアップ** — 大量の変更を行う前にデータをエクスポートする
3. **少数のレコードでテスト** — 大規模に実行する前に、まず 5~10 件で更新を試す
4. **人間が読みやすい識別子を使用** — `id` よりも `email` と `domain` の方が検証しやすい
5. **必要な列のみを含める** — 列が少ないほどエラーの可能性が減ります
## トラブルシューティング
お困りですか? 次を確認してください:
* [インポートエラーを解決する方法](/l/ja/user-guide/data-migration/how-tos/fix-import-errors)
* [一意性制約](/l/ja/user-guide/data-migration/capabilities/uniqueness-constraints)
* [フィールドマッピングのリファレンス](/l/ja/user-guide/data-migration/capabilities/field-mapping)

View File

@@ -0,0 +1,83 @@
---
title: データ移行
description: CSVファイルまたはAPIを使用してCRMデータをインポートおよびエクスポートできます。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## インポート方法
Twenty では、データのインポート方法として主に次の2つをサポートしています。
| メソッド | 最適用途 | 件数上限 |
| ------------ | ------------- | --------------- |
| **CSVインポート** | 標準的な移行や定期的な更新 | 1ファイルあたり10,000件 |
| **APIインポート** | 大規模な移行や自動化 | 無制限 |
<Note>非常に大きなデータセット(数十万件のレコード)の場合は、API を使用してください。 必要に応じて、当社の[実装パートナー](/l/ja/user-guide/getting-started/capabilities/implementation-services)がこれらのスクリプトの実行を支援できます。</Note>
## CSVインポートの基本
CSV、XLSX、または XLS ファイルを使用して、任意のオブジェクトのデータをインポートできます。 各ファイルには、**1種類のオブジェクトのみ**を含めてください(例:People レコードのみ)。
<Note>**インポート前にフィールドが存在している必要があります。** CSV をアップロードするとレコードは作成されますが、フィールドは作成されません。 カスタムフィールドが必要な場合は、まず**Settings → Data Model**で作成してください。</Note>
### 手順
1. データをインポートする対象のオブジェクトに移動します。
2. 右上の**⋮**アイコン(コマンドメニュー)をクリックし、**Import records**をクリックします。
3. テンプレートファイルをダウンロードし、データが想定された形式になっていることを確認します。
4. フォーマット済みのCSVファイルをアップロードします。
5. 列を Twenty のフィールドにマッピングします。
6. エラー(黄色でハイライト)を確認し、UI 上で直接編集して修正します。
7. インポートを確定します。
### オブジェクト間のリレーションをインポートする
CSV インポート機能を使用して、オブジェクト間のリレーションをインポートできます。 関連オブジェクトは、一意のフィールドを使って参照します。使用できる例:`id`、People と Workspace Members では `email`、Companies では `domain`、そのほかのオブジェクトではデータモデルで一意に設定した任意のフィールド。
<Note>**削除済みレコードも一意性に含まれます。** ソフト削除されたレコード(Command Menu → See deleted records で表示可能)も一意性チェックに含まれます。 削除済みレコードと同じ一意値のレコードをインポートすると、その削除済みレコードが復元されます。</Note>
<Warning>
**インポートの順序が重要です!**
関連オブジェクトをインポートする場合は、次の順序でファイルをアップロードしてください。
1. **Companies** を最初に(リレーションの「one」側)
2. **連絡先**を次に(companyId を介して会社にリンク)
3. **商談**を 3 番目に(会社/連絡先にリンク)
4. リレーションのある **Custom objects** は最後に
なぜですか? 1対多のリレーションでは、「one」側が参照される前に存在している必要があります。 例えば、その会社のIDを持つ Person をインポートする前に、Company レコードが存在している必要があります。
</Warning>
手順の詳細については、[こちらの記事](/l/ja/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv)を参照してください。
## データをエクスポート
バックアップ、レポーティング、または移行のためにワークスペースのデータをエクスポートします。
### 手順
1. エクスポートしたいオブジェクトに移動します。
2. 必要な列を含むようにビューを設定します。
3. **⋮** → **Export view** をクリックします。
4. CSV ファイルを保存します。
<Note>**表示されている列のみがエクスポートされます。** CSV ファイルには、現在のビューに表示されている列だけが含まれます。 どのデータを含めるかを制御するために、エクスポート前に列を追加または非表示にしてください。</Note>
<Note>**エクスポートの上限**: 1回のエクスポートにつき最大20,000件。</Note>
## 権限
データのインポートとエクスポートには特定の権限が必要です。
* **Import**: "Import CSV" 権限が必要
* **Export**: "Export CSV" 権限が必要
これらの権限がない場合は、ワークスペース管理者に連絡してください。
## 次のステップ
* [CSV ファイルの準備](/l/ja/user-guide/data-migration/how-tos/prepare-your-csv-files)
* [オブジェクト間の関係をインポート](/l/ja/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv)
* [大規模データセットをAPIでインポート](/l/ja/user-guide/data-migration/how-tos/import-data-via-api)

View File

@@ -0,0 +1,123 @@
---
title: フィールド
description: フィールドの役割とその管理方法を理解しましょう。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## フィールドについて
フィールドはスプレッドシートの列のようなものです。 テキスト、数字、日付などの異なるデータタイプを保存します。 フィールドには、標準(ビルトイン)とカスタム(ユーザー作成)があります。
### 標準フィールド
Twenty には、一般的な業務ニーズに対応する標準フィールドがビルトインされています。
たとえば、「名」および「姓」は「人物」オブジェクトの標準フィールドです。 それらは個々の名前のテキストデータを保存します。
標準フィールドは削除できませんが、必要がない場合は無効化できます。
標準の `SELECT` 型フィールドのオプションもカスタマイズできます。たとえば、商談の `Stage` のオプションです。
<img src="/images/user-guide/fields/standard-fields.png" style={{width:'100%'}} />
### カスタムフィールド
カスタムフィールドは任意のオブジェクトに追加できます。 テキスト、数字、日付、ドロップダウンの選択肢などを保存できます。 カスタムフィールドを使用して、ビジネスに特化した情報を追跡します。
たとえば、SpaceX用のカスタムフィールドとして「ロケットの運用状況」を設定できます。これはロケットが稼働中かどうかを示します。
<img src="/images/user-guide/fields/custom-fields.png" style={{width:'100%'}} />
## フィールドタイプ
Twenty はさまざまなフィールドタイプをサポートしています。
| タイプ | 説明 | 例 |
| ------ | --------------------------- | ---------------- |
| 住所 | 通り、都市、州、国、郵便番号を含む構造化された住所 | オフィス住所 |
| Array | テキスト値のリスト | タグ |
| ブール型 | 真偽値のチェックボックス | アクティブ |
| 通貨 | 通貨コード付きの金額 | 商談金額(USD) |
| 日付 | 日付の値 | 締切日 |
| 日付と時間 | 時刻付きの日付 | ミーティング時刻 |
| ドメイン | Web サイトのドメイン(Companies で使用) | acme.com |
| メール | メールアドレス(主要+追加) | 連絡先メール |
| JSON | 構造化された JSON データ | カスタムメタデータ |
| リンク | ラベル付きの URL(主要+サブ) | Web サイト、LinkedIn |
| 長文テキスト | 複数行テキスト | 説明、メモ |
| マルチ選択 | あらかじめ定義されたリストから複数選択 | タグ、カテゴリ |
| 数 | 数値(整数または小数) | 数量、スコア |
| 電話 | 国番号付きの電話番号 | 勤務先電話 |
| 評価 | 星評価(1〜5) | 優先度、スコア |
| リレーション | 他のオブジェクト内のレコードへのリンク | Company → People |
| 選択 | あらかじめ定義されたリストからの単一選択 | ステージ、ステータス |
| テキスト | 1 行のテキスト | 名前、タイトル |
## カスタムフィールドを作成する
任意のオブジェクトにカスタムフィールドを追加するには、次の手順に従います。
1. 左サイドバーの「設定」に移動します。
2. 「データモデル」に移動し、カスタマイズしたいオブジェクトを選択します。
3.
3. `+ New Field`をクリックして続行します。
4. 要件に合ったフィールド名とタイプを選択してください。 より良い理解のためにフィールドの説明を追加することを検討してください。 より良い理解のためにフィールドの説明を追加することを検討してください。 より良い理解のためにフィールドの説明を追加することを検討してください。
作成したフィールドはアプリケーションのフィールド内で利用できるようになります。 特定のビューに表示するには、オプションメニューをクリックして「フィールド」を選択します。 特定のビューに表示するには、オプションメニューをクリックして「フィールド」を選択します。
<VimeoEmbed videoId="927628219" title="動画デモ" />
**簡単な方法:** 任意のオブジェクトテーブルの右上の **+** ボタンをクリックし、「フィールドをカスタマイズ」を選択します。 これにより、データモデルの設定に直接アクセスできます。
<img src="/images/user-guide/fields/quick-new-field.png" style={{width:'100%'}} />
## フィールドを無効にする
データを失わずにアプリからフィールドを隠すには、フィールドを無効にすることができます。 これはフィールドを削除するのではなく、隠すようなものです。 これはフィールドを削除するのではなく、隠すようなものです。 これはフィールドを削除するのではなく、隠すようなものです。
以下に方法を示します。
1. オブジェクト設定で無効化したいフィールドを見つけます。
2. フィールドの横にある三点リーダー`⋮`をクリックしてメニューを開きます。
3. ドロップダウンメニューから「無効化」を選択します。
<img src="/images/user-guide/fields/deactivate-field.png" style={{width:'100%'}} />
フィールドを無効にするとどうなりますか?
1. **アプリ内では:** フィールドが消え、新しい値を追加することができなくなります。
2. **既存の関係:** それがリレーションフィールドである場合、既存の接続は維持されますが、新しいものを作成することはできません。
3. **APIアクセス:** フィールドとそのデータには引き続きAPI経由でアクセスできます。
標準フィールドとカスタムフィールドを再アクティブ化することができます。また、それらを永久に削除するオプションがあります。
## フィールドをユニークにする
異なるレコードが同じ値を持つことがないように、フィールドをユニークにします。 例えば、メールアドレスは各人物に対してユニークです。 例えば、メールアドレスは各人物に対してユニークです。 例えば、メールアドレスは各人物に対してユニークです。
ユニーク性を設定する際にエラーが発生した場合、データ内の重複した値(削除されたレコードも含む)を確認してください。
## インデックス(上級)
データベースインデックスは自動的に管理されるため、自分で追加する必要があるケースはまれであり、また間違えやすい作業でもあります。 上級モードをオンにすると、インデックスが必要だと分かっている場合に備えて、各オブジェクトの `Settings → Data Model → <object>` の下に **Indexes** セクションが追加されます。
## フィールド構成のベストプラクティス
### 命名規則と制限
* **単数形と複数形の名前は区別されていなければなりません**:私たちの GraphQL API では、mutation に対して異なる名前が必要です
* **保護されたフィールド名**:一部の名前はシステムで使用するために予約されています(例:`Type`、`Application`)
### 通貨フィールドと電話フィールド
* **デフォルト通貨**:データモデルを介して設定できます
* **デフォルト国コード**:データモデルを介して電話フィールドに設定できます
### 選択フィールド
* **各選択フィールドにデフォルトオプションを選択できます**
### レコードテキストフィールド
* **各オブジェクトには**1つのメイン表示フィールドがあります。このフィールドは左側の列に表示され、他のオブジェクトにリンクされたときにレコードを表します。 これはテキストフィールドである必要があります。 たとえば、Peopleは「名前」をメインフィールドとして使用しているため、人物を会社にリンクすると、会社のビューにその名前が表示されます。 これはテキストフィールドである必要があります。 たとえば、Peopleは「名前」をメインフィールドとして使用しているため、人物を会社にリンクすると、会社のビューにその名前が表示されます。 これはテキストフィールドである必要があります。 たとえば、Peopleは「名前」をメインフィールドとして使用しているため、人物を会社にリンクすると、会社のビューにその名前が表示されます。

View File

@@ -0,0 +1,92 @@
---
title: オブジェクト
description: Twenty の標準オブジェクトとカスタムオブジェクトについて学びます。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## 標準オブジェクト
標準オブジェクトは、作業を開始するためのワークスペースに予め定義されているエンティティです。 これらは、Twentyの全ユーザーがアクセスできる共有データモデルの一部です。 そのまま使用することも、カスタマイズすることも、無効化することもできます。
<img src="/images/user-guide/objects/standard-objects.png" style={{width:'100%'}} />
### "人"
`People` オブジェクトは連絡先を保存します。 連絡先の詳細とやり取りの履歴が含まれており、すべての顧客とのやり取りを一か所で確認できます。
### 会社
`Companies` オブジェクトはビジネスアカウントを保存します。 業界、規模、所在地などの詳細が含まれます。 `People` および `Opportunities` オブジェクトに接続します。
### 商談
`Opportunities` オブジェクトは、取引関連のデータを保存します。 見込み客から成約までの販売の進捗を追跡し、ステージ、取引規模、関連するアカウント、予想終了日に関する記録を残します。 カンバン形式で販売パイプラインを表示できます。
### ノート
`Notes` オブジェクトは、People、Companies、Opportunities などのレコードに添付できる自由形式のメモを保存します。 メモを使用して、会議の要約、重要な詳細、その他のコンテキスト情報を記録します。
### タスク
`Tasks` オブジェクトは、To-Do やアクション項目を保存します。 タスクは、People、Companies、Opportunities などのレコードに関連付けできます。 期限、担当者、完了状況を追跡して、フォローアップを的確に管理します。
## カスタムオブジェクト
カスタムオブジェクトを使用すると、標準オブジェクトでは対応できない組織独自の情報を保存できます。 例えば、SpaceXであれば、ロケットや打ち上げ用にカスタムオブジェクトを作成することが考えられます。 例えば、SpaceXであれば、ロケットや打ち上げ用にカスタムオブジェクトを作成することが考えられます。 例えば、SpaceXであれば、ロケットや打ち上げ用にカスタムオブジェクトを作成することが考えられます。
<img src="/images/user-guide/objects/custom-objects.png" style={{width:'100%'}} />
### 新しいカスタムオブジェクトの作成
新しいカスタムオブジェクトを作成するには:
1. 左側のサイドバーの設定に移動します。
2. ワークスペースの下で、データモデルに移動します。 ここでは、既存の標準オブジェクトとカスタムオブジェクト(アクティブオブジェクトと非アクティブオブジェクトの両方)の概要を確認できます。
<VimeoEmbed videoId="926288174" title="デモ動画" />
3. 上部の `+ 新しいオブジェクト` をクリックします。 カスタムオブジェクトの名前(単数形と複数形の両方)、アイコンを選択し、説明を追加し、[保存](右上)をクリックします。 上部の `+ 新しいオブジェクト` をクリックします。 カスタムオブジェクトの名前(単数形と複数形の両方)、アイコンを選択し、説明を追加し、[保存](右上)をクリックします。 カスタムオブジェクトの例として、Listingを使用し、単数形は "listing" 、複数形は "listings" 、説明は "ホストがプロパティを紹介するために作成したリスティング" となります。
4. カスタムオブジェクトが作成され、サイドバーに表示されます。 すぐにレコードを追加できます。
## オブジェクトの管理
### オブジェクトの無効化
標準オブジェクトまたはカスタムオブジェクトが不要な場合:
1. 設定 → データモデル に移動
2. 無効にしたいオブジェクトを見つけてクリックします
3. オブジェクトの **設定** タブに移動
4. 「停止」ボタンをクリックしてください
5. オブジェクトはワークスペースから非表示になりますが、データは保持されます。
### オブジェクトの再有効化
無効化したオブジェクトを再有効化するには:
1. 設定 → データモデル に移動
2. 「無効」フィルタを有効にする
3. 無効化されたオブジェクトを探します(名前の隣に`無効化された`があります)。
4. `⋮` をクリックしてから `Activate` をクリックして再有効化します
5. オブジェクトとそのすべてのデータが復元されます。
## ベストプラクティス
### カスタムオブジェクトを作成するタイミング
* **独自のビジネスエンティティ**: 業界やプロセスに特有のもの
* **複雑なリレーションシップ**: 複数のエンティティ間の関係を追跡する必要がある場合
* **スケーラブルなデータ**: 多数のインスタンスが発生する可能性がある場合
### 代わりにフィールドを使用するタイミング
* **シンプルな属性**: 既存のオブジェクトを記述するプロパティ
* **カテゴリやラベル**: 既存のレコードを分類する方法
* **単一の値**: 独自のライフサイクルを必要としない情報
### オブジェクトの命名
* **明確で説明的な名前を使う**: オブジェクトが何を表すかを一目でわかるようにする
* **規約に従う**: オブジェクト名は単数形、コレクションは複数形を使用する
* **チームを考慮する**: 全員が理解できる名前を選ぶ

View File

@@ -0,0 +1,94 @@
---
title: リレーションフィールド
description: リレーションフィールドを使用して、異なるオブジェクト間でレコードをリンクします。
---
## リレーションの種類
### 1対多
オブジェクトAの1件のレコードは、オブジェクトBの複数のレコードにリンクできます。
**例:** 1つの会社には多数の連絡先(従業員)がいます。
### 多対1
オブジェクトAの複数のレコードは、オブジェクトBの1件のレコードにリンクできます。
**例:** 多数の連絡先は1社に所属できます。
### 複数のオブジェクトタイプへのリレーション
一部のオブジェクトは、リレーションの片側で複数のオブジェクトタイプにリンクできます。
**例:** メモは、連絡先1件、会社1社、商談1件に同時にリンクできます。 メモは"多"の側にあり、複数の"1"の側にリンクしています。
<img src="/images/user-guide/fields/many-to-one-morph.png" style={{width:'100%'}} />
同様に、プロジェクト("1"の側)は、複数の連絡先、複数の会社、複数のメモからリンクを受け取ることができます。
<img src="/images/user-guide/fields/one-to-many-morph.png" style={{width:'100%'}} />
<Warning>
**インポート/エクスポートの制限**: 複数のオブジェクトタイプを指すリレーションは、CSV のインポート/エクスポートにはまだ対応していません。 これはロードマップに含まれています。
</Warning>
### 多対多
オブジェクトAの複数のレコードは、オブジェクトBの複数のレコードにリンクできます。
**例:** 多数の連絡先は多数のプロジェクトにリンクでき、その逆も可能です。
多対多のリレーションでは、両側を接続する中間オブジェクトを用いる**ジャンクションオブジェクト**パターンを使用します。 ジャンクションリレーション機能により、Twenty は最終的にリンクされたレコードを直接表示し、中間オブジェクトを UI から隠します。
<Warning>
**ベータ機能**: 使用前に **Settings → Community → Features** でジャンクションリレーションを有効化する必要があります。
</Warning>
完全なステップバイステップのガイドについては、[多対多リレーションの作成方法](/l/ja/user-guide/data-model/how-tos/create-many-to-many-relations) を参照してください。
## リレーションフィールドの作成
1. **設定 → データモデル** に移動
2. リレーションを追加したいオブジェクトを選択します
3. **+ 新規フィールド** をクリックしてください
4. フィールドタイプとして **Relation** を選択
5. 関連付け先のオブジェクトを選択します
6. リレーションの設定を行います:
* **ソースオブジェクト上のフィールド名**: 編集しているオブジェクト上のリレーションフィールドの名前
* **対象オブジェクト上のフィールド名**: 対象オブジェクトに表示されるリレーションフィールドの名前
* リレーションタイプ(1対多、多対1)
7. **保存**をクリック
## 標準リレーション
Twenty には標準オブジェクト間のあらかじめ用意されたリレーションがあります:
| 元オブジェクト | 宛先オブジェクト | リレーションタイプ |
| ------- | -------- | --------- |
| 人物 | 会社 | 多対1 |
| 商談 | 会社 | 多対1 |
| 商談 | 人物 | 多対1 |
## ベストプラクティス
### リレーションの計画
* **データモデルをマッピング**: 作成前にリレーションを計画する
* **方向性を検討**: どのオブジェクトがそのリレーションを"所有"するかを考える
* **循環依存を避ける**: データモデルをクリーンに保つ
### リレーションの命名
* **明確な名前を使う**: リレーションが何を表すかが一目でわかるようにする
* **一貫性を保つ**: リレーション全体で似た命名パターンを使用する
* **両側を考慮する**: リレーションの両側に適切な名前を付ける
### パフォーマンス
* **リレーションの作りすぎに注意**: リレーションが多すぎるとワークスペースが遅くなる可能性があります
## 制限事項
* **リレーションを削除**するとリンクは削除されますが、関連レコード自体は削除されません。
* **循環リレーション**はデータの整合性のため避けるべきです

View File

@@ -0,0 +1,72 @@
---
title: カスタムフィールドの作成
description: 任意のオブジェクトにカスタムフィールドを追加するためのステップバイステップガイド
---
カスタムフィールドを使用すると、ビジネス固有の情報をキャプチャできます。 それらを任意のオブジェクト — 標準またはカスタムに追加します。
## 歩数
1. **設定 → データモデル** に移動
2. フィールドを追加するオブジェクトを選択します。
3. **+ 新しいフィールド** をクリックします。
4. **フィールドタイプ** を選択してください (すべてのタイプについては [Fields](/l/ja/user-guide/data-model/capabilities/fields) を参照してください)
5. **フィールド名** と説明を入力してください
6. フィールド固有の設定を構成します (下記参照)
7. **保存**をクリック
**クイックメソッド** テーブルビューの列ヘッダーの最後に **+** をクリックします → **フィールドをカスタマイズ** 。
## ビューにフィールドを表示
新しいフィールドは自動的に表示されません。 表示する:
1. オブジェクトのテーブルビューを開く
2. **オプション → フィールド** をクリックします。
3. フィールドの横にある **目のアイコン** をクリックして表示します
4. ドラッグして並べ替え
## 設定オプション
### 選択/複数選択用
1. **+ オプションを追加**をクリックして選択肢を作成します
2. 必要に応じて**デフォルトオプション**を設定してください
3. ドラッグして並べ替えオプション
<Note>
**インポートにAPI名を使用します。** API名を表示するには、設定で**詳細モード**を有効にします。 [Field Mapping](/l/ja/user-guide/data-migration/capabilities/field-mapping)を参照してください。
</Note>
### 通貨フィールド用
**デフォルトの通貨** (米ドル、ユーロなど) を設定します。 新しい記録の為に
### 電話項目用
新しい電話番号を入力するには、**デフォルトの国コード**を設定してください。
### フィールドをユニークにする
**ユニーク**をオンにすると、レコード間の重複値を防ぐことができます。
<Note>
重複が(削除されたレコードを含む)存在する場合、エラーが発生します。 重複を最初にクリーンアップします。
</Note>
### デフォルト値の設定
format@@0フィールドでは、新規レコードに事前に選択されているオプションを選択できます。 チェックボックス項目では、デフォルトでチェックボックスかチェックオフかを設定します。
## フィールドを無効にしています
1. **設定 → データモデル** に移動
2. フィールドを探す
3. **⋮ → Deactivate** をクリックします
データは保存されます。 再アクティブ化または後で永久に削除できます。
## 関連
* [Fields](/l/ja/user-guide/data-model/capabilities/fields) — すべてのフィールドタイプについて説明されています
* [Data Model FAQ](/l/ja/user-guide/data-model/how-tos/data-model-faq) — よくある質問

View File

@@ -0,0 +1,51 @@
---
title: カスタムオブジェクトを作成する
description: Twenty でカスタムオブジェクトを作成するためのステップバイステップガイド。
---
カスタムオブジェクトを使用すると、標準オブジェクトでは対応できないビジネス固有の情報を保存できます。 例: プロジェクト、製品、チケット、リスティング。
<Note>
**オブジェクトが必要か、フィールドが必要か迷っていますか?** 詳しくは[データモデルの理解](/l/ja/user-guide/data-model/overview)を参照してください。
</Note>
## 手順
1. **設定 → データモデル** に移動
2. **+ オブジェクトを追加**をクリックします
3. 次を入力:
* **単数名**(例: "Listing")
* **複数名**(例: "Listings")
* **アイコン**
* **説明**(任意)
4. **保存**をクリック
作成したオブジェクトはすぐにサイドバーに表示されます。
## 次: フィールドを追加
新しいオブジェクトには基本フィールドがあらかじめ含まれています。 必要なデータを収集するために、カスタムフィールドを追加します:
1. **設定 → データモデル** で、対象のオブジェクトを選択します
2. **+ 新しいフィールド** をクリックします。
3. フィールドタイプを選択し、設定して保存します
フィールドタイプと設定の詳細は、[カスタムフィールドの作成方法](/l/ja/user-guide/data-model/how-tos/create-custom-fields)を参照してください。
## 他のオブジェクトと接続する
オブジェクトを People、Companies、その他のオブジェクトにリンクするには、リレーションフィールドを作成します。 [リレーションフィールドの作成方法](/l/ja/user-guide/data-model/how-tos/create-relation-fields)を参照してください。
## オブジェクトの無効化
オブジェクトが不要になった場合:
1. **設定 → データ モデル → お好みのオブジェクト → 設定** に移動
2. **無効化**ボタンをクリックしてください
オブジェクトは非表示になりますが、データは保持されます。 後で再有効化することも、完全に削除することもできます。
## 関連
* [オブジェクト](/l/ja/user-guide/data-model/capabilities/objects) — 標準オブジェクトとカスタムオブジェクト
* [データモデル FAQ](/l/ja/user-guide/data-model/how-tos/data-model-faq) — よくある質問

View File

@@ -0,0 +1,175 @@
---
title: 多対多リレーションを作成する
description: ジャンクションオブジェクトを使うことで、両側の多数のレコード同士をリンクできます。
---
多対多リレーションでは、両側で複数のレコードを相互に接続できます。 例えば、多数の連絡先が多数のプロジェクトで作業でき、各プロジェクトには多数の連絡先が紐づきます。
<Warning>
**ベータ機能**: ジャンクションリレーションは現在ベータ版です。 このガイドに進む前に、**Settings → Community → Features** で有効にしてください。
</Warning>
<Note>
この機能を使うには **Advanced mode** も有効にする必要があります(Settings の左下にあるトグルで切り替え)。
</Note>
## 多対多を使うタイミング
関係の両側が複数の接続を持ちうる場合に、多対多を使用します。
| 関係 | 例 |
| ------------ | -------------------------------------------------- |
| 連絡先 ↔ プロジェクト | 1 人の連絡先は複数のプロジェクトで作業でき、1 つのプロジェクトには複数のチームメンバーがいます。 |
| 会社 ↔ タグ | 1 社には複数のタグを付与でき、1 つのタグは複数の会社に適用できます。 |
| 商品 ↔ 注文 | 1 つの商品は複数の注文に含まれ、1 件の注文には複数の商品が含まれます。 |
## 仕組み
Twenty は多対多リレーションに **ジャンクションオブジェクト** パターンを使用します。 ジャンクションオブジェクトは 2 つのオブジェクトの間に位置し、接続を保持します。
```
People ←→ Project Assignments ←→ Projects
```
**Project Assignments** オブジェクト(ジャンクション)には次があります。
* People へのリレーション(多対1)
* Projects へのリレーション(多対1)
ジャンクションリレーションのトグルを有効にすると、Twenty は中間のジャンクションレコードを表示せず、リンクされたレコードを直接表示します。
## 前提条件
1. **ベータ機能で Junction Relations を有効化**: **Settings → Community → Features** に移動し、**Junction Relations** を有効にします
2. **Advanced mode を有効化**: 設定サイドバーの左下にある **Advanced mode** のトグルをオンにします
3. データモデルを計画する:
* どの 2 つのオブジェクトを接続しますか?
* ジャンクションオブジェクトの名称は何にしますか?
## ステップ 1: ジャンクションオブジェクトを作成する
まず、接続を保持する中間オブジェクトを作成します。
1. **設定 → データモデル** に移動します
2. **+ オブジェクトを追加**をクリックします
3. わかりやすい名前を付けます(例: "Project Assignment"、"Team Member"、"Product Order")
4. "Name フィールドの作成をスキップ" をオンに切り替えます
<img src="/images/user-guide/fields/new-pivot-object.png" alt="新規ピボットオブジェクト" />
5. **保存**をクリック
<Tip>
**命名規則**: "Project Assignment" や "Team Membership" のように、関係を表す名前を使用してください。 これにより、データモデルが理解しやすくなります。
</Tip>
## 手順 2: オブジェクトとジャンクションの間にリレーションを作成する
2 つのオブジェクトそれぞれに、ジャンクションオブジェクトへのリレーションフィールドを追加します。
### 最初のリレーション(オブジェクト A → ジャンクション)
1. **Settings → Data Model** で最初のオブジェクトを選択します
2. **+ Add Relation** をクリック
3. ジャンクションオブジェクトを選択します(例: "Project Assignments")
4. リレーションタイプを **One-To-Many** に設定します(1 人の連絡先は複数の割り当てにリンクできます)
5. フィールドに名前を付けます:
* People 側のフィールド: 例: "Project Assignments"
* ジャンクション側のフィールド: 例: "Person"
6. **保存**をクリック
### 2 番目のリレーション(オブジェクト B → ジャンクション)
1. **Settings → Data Model** で 2 番目のオブジェクトを選択します
2. **+ Add Relation** をクリック
3. ジャンクションオブジェクトを選択します(例: "Project Assignments")
4. リレーションタイプを **1対多** に設定します(1 つのプロジェクトは複数の割り当てにリンクできます)
5. **"これはジャンクションオブジェクトへのリレーションです"** を有効にします
<img src="/images/user-guide/fields/junction-relation-toggle.png" style={{width:'100%'}} />
6. フィールドに名前を付けます:
* ジャンクション側のフィールド: 例: "Project"
* Projects 側のフィールド: 例: "Team Members"
7. **保存**をクリック
## ステップ 3: ジャンクションリレーションの表示を設定する
次に、中間のジャンクションオブジェクトを介さずにリンクされたレコードを直接表示するよう、元のオブジェクトを設定します。
1. **設定 → データモデル** に移動します
2. 最初のオブジェクトを選択します(例: "People")
3. ジャンクションオブジェクトを指すリレーションフィールド(例: "Project Assignments")を見つけます
4. クリックしてフィールドを編集します
5. **"これはジャンクションオブジェクトへのリレーションです"** を有効にします
6. **Target relation** を選択します(例: "Project" — 反対側を指すジャンクション上のフィールド)
7. **保存**をクリック
## 結果
設定後:
* **Person** レコードでは、"Project Assignments" フィールドに **Projects** が直接表示されます(割り当てレコードではありません)
* **Project** レコードでは、"Team Members" フィールドに **People** が直接表示されます
ジャンクションオブジェクト自体は存在し接続を保存しますが、UI ではよりすっきりした多対多ビューとして表示されます。
## 例: People ↔ Projects
完全な手順は以下のとおりです:
### ジャンクションオブジェクトを作成する
* 名前: **Project Assignment**
* 説明: "人と、その人が携わっているプロジェクトを関連付けます"
### リレーションを追加する
1. **People → Project Assignment**
* タイプ: 1対多
* People 側のフィールド: "Project Assignments"
* Assignment 側のフィールド: "Person"
2. **Projects → Project Assignment**
* タイプ: 1対多
* Projects 側のフィールド: "Team Members"
* Assignment 側のフィールド: "Project"
### ジャンクションの表示を設定する
1. **People** オブジェクトで:
* "Project Assignments" フィールドを編集
* ジャンクションのトグルを有効にする
* 対象: "Project"
2. **Projects** オブジェクトで:
* "Team Members" フィールドを編集
* ジャンクションのトグルを有効にする
* 対象: "Person"
### 使ってみる
* Person レコードを開く → 紐づく Projects を直接表示
* Project レコードを開く → チームメンバーを直接表示
* どちら側からでも新しい接続を作成できます
## 接続に追加データを持たせる
ジャンクションオブジェクトは実体のあるオブジェクトなので、関係に関する情報を保存するためのカスタムフィールドを追加できます。
* **役割**: "Developer"、"Designer"、"Manager"
* **開始日**: プロジェクトに参加した人
* **割り当て時間**: 当該プロジェクトの週あたりの時間
このデータにアクセスするには、ジャンクションオブジェクトに直接移動するか、API 経由でクエリします。
## 制限事項
* **CSV インポート/エクスポート**: 多対多リレーションの直接インポートには対応していません。 代わりに、ジャンクションオブジェクトにレコードをインポートしてください。
* **フィルター**: 多対多リレーションでのフィルタリングには制限がある場合があります。
## 関連
* [リレーションフィールド](/l/ja/user-guide/data-model/capabilities/relation-fields) — リレーションタイプの解説
* [カスタムオブジェクトの作成](/l/ja/user-guide/data-model/how-tos/create-custom-objects) — オブジェクトの作成方法
* [リレーションフィールドを作成](/l/ja/user-guide/data-model/how-tos/create-relation-fields) — 基本的なリレーションの設定

View File

@@ -0,0 +1,70 @@
---
title: 関連フィールドの作成
description: リレーションフィールドでオブジェクトを接続するためのステップバイステップガイド。
---
リレーションフィールドは異なるオブジェクトのレコードを接続します—たとえば、People を Companies にリンクします。
<Note>
**リレーション名は作成後に変更できません**(API に影響するため)。 名前は慎重に計画してください。
</Note>
## 始める前に
決めること:
* どのオブジェクトを接続しますか? (例:People → Companies)
* どちらが「one」側ですか? (例:Company)
* どちらが「many」側ですか? (例:People — 多くの人が1つの会社で働く)
* 各側のフィールド名は何にしますか?
リレーションの種類については、[Relation Fields](/l/ja/user-guide/data-model/capabilities/relation-fields) を参照してください。
## 手順
1. **Settings → Data Model** に移動します
2. リレーションを作成したいオブジェクト(通常は「many」側)を選択します
3. **+ New Field** をクリックします
4. フィールドタイプとして **Relation** を選択します
5. **対象オブジェクト** を選択します
6. **One-to-Many** または **Many-to-One** を選択します
7. リレーションの**両側**のフィールド名を入力します
8. **保存**をクリック
## 例:People → Companies
* **Settings → Data Model → People** に移動します
* リレーションフィールドを追加します
* 対象:**Companies**
* タイプ:**Many-to-One**
* People 側のフィールド:**Company**
* Companies 側のフィールド:**Employees**
これで、各 Person は Company にリンクでき、各 Company には People が表示されます。
## リレーションの非アクティブ化
1. **設定 → データ モデル → 選択対象** に移動
2. リレーションフィールドを見つけてクリックします
3. **Deactivate** ボタンをクリックします
リンクは保持されますが非表示になります。 再有効化すると復元されます。
<Note>
**リレーションを非アクティブ化しても、レコードは削除されません。** 削除されるのは、それらの間のリンクだけです。
</Note>
## リレーションの削除
1. **設定 → データ モデル → 選択対象** に移動
2. リレーションフィールドを見つけてクリックします
3. **Delete** ボタンをクリックします
<Note>
カスタムリレーションにのみ適用されます。 標準リレーションは無効にできます。
</Note>
## 関連
* [Relation Fields](/l/ja/user-guide/data-model/capabilities/relation-fields) — 種類と制限事項
* [How to Import Relations](/l/ja/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv) — リンクされたレコードを一括インポート

View File

@@ -0,0 +1,22 @@
---
title: データモデルをカスタマイズする
description: データモデルのカスタマイズオプションの概要。
---
Twentyのデータモデルは完全にカスタマイズ可能です。 ビジネスに合わせて、オブジェクト、フィールド、リレーションを作成できます。
## クイックリンク
| やりたいこと... | ガイド |
| ----------------- | ------------------------------------------------------------------------- |
| 新しいオブジェクトを作成する | [カスタムオブジェクトの作成方法](/l/ja/user-guide/data-model/how-tos/create-custom-objects) |
| オブジェクトにフィールドを追加する | [カスタムフィールドの作成方法](/l/ja/user-guide/data-model/how-tos/create-custom-fields) |
| オブジェクト同士を関連付ける | [リレーションフィールドの作成方法](/l/ja/user-guide/data-model/how-tos/create-relation-fields) |
## さらに詳しく
* [データモデルを理解する](/l/ja/user-guide/data-model/overview) — 重要な概念と計画のヒント
* [オブジェクト](/l/ja/user-guide/data-model/capabilities/objects) — 標準オブジェクトとカスタムオブジェクト
* [フィールド](/l/ja/user-guide/data-model/capabilities/fields) — すべてのフィールドタイプ
* [リレーションフィールド](/l/ja/user-guide/data-model/capabilities/relation-fields) — オブジェクトの関連付け
* [データモデルFAQ](/l/ja/user-guide/data-model/how-tos/data-model-faq) — よくある質問

View File

@@ -0,0 +1,162 @@
---
title: データモデルFAQ
description: Twenty のデータモデルに関するよくある質問。
---
## オブジェクト管理
<AccordionGroup>
<Accordion title="カスタムオブジェクトを削除できますか?">
はい、カスタムオブジェクトは削除できます。 まず無効化することもできます。無効化すると、データを保持したまま、オブジェクトとそのデータがインターフェースから非表示になります。
</Accordion>
<Accordion title="標準オブジェクト(人、会社など)を削除できますか?">
いいえ、標準オブジェクトは削除できません。 無効化のみ可能です。無効化するとインターフェースからは非表示になりますが、データは保持されます。
</Accordion>
<Accordion title="カスタムオブジェクトはいくつ作成できますか?">
必要なだけカスタムオブジェクトやフィールドを作成できます—価格は変わりません。
</Accordion>
<Accordion title="標準オブジェクトの名前を変更できますか?">
標準オブジェクト(People、Companies、Opportunities)のラベル名は変更できますが、API 名は変更できません。 API 名は、すべての Twenty ワークスペース間で一貫性を保つため固定されています。
</Accordion>
<Accordion title="オブジェクトのアイコンを変更できますか?">
はい、**Settings → Data Model** で標準オブジェクトとカスタムオブジェクトのアイコンを変更できます。
</Accordion>
<Accordion title="左のナビゲーションバーでオブジェクトを並べ替えることはできますか?">
まだできません。
まだできません。 ナビゲーションでのオブジェクトの順序は現在固定されていますが、この機能は将来のリリースで予定されています。
</Accordion>
<Accordion title="左のナビゲーションバーからオブジェクトを非表示にできますか?">
すべてのアクティブなオブジェクトがナビゲーションに表示されます。
すべてのアクティブなオブジェクトがナビゲーションに表示されます。 必須でないオブジェクトは、**設定 → データモデル** から非アクティブ化できます。
すべてのアクティブなオブジェクトがナビゲーションに表示されます。 必須でないオブジェクトは、**設定 → データモデル** から非アクティブ化できます。
</Accordion>
</AccordionGroup>
## フィールドの機能
<AccordionGroup>
<Accordion title="作成後にフィールドの型を変更できますか?">
いいえ、作成後にフィールドの型は変更できません。 別の型が必要な場合は、正しい型の新しいフィールドを作成し、データを移行してから、古いフィールドを無効化してください。
</Accordion>
<Accordion title="なぜ異なる単数形と複数形の名前が必要なのですか?">
GraphQL APIは、異なる操作に対し両方の形式を使用します:
* 単一のレコード操作には、`createPerson`(単数形)
* 一括操作には、`createPeople`(複数形)
単数形と複数形が同じ場合に制限が発生しますが、開発者の体験を向上させます。
</Accordion>
<Accordion title="なぜいくつかのフィールド名は保護されているのですか?">
`Type` や `Application` のようないくつかのフィールド名はシステム用に予約されています。 代わりに`Category`や`Classification`のような代替名を選択してください。
代わりに`Category`や`Classification`のような代替名を選択してください。
</Accordion>
<Accordion title="フィールドを無効化するとどうなりますか?">
* そのフィールドはインターフェースから非表示になります
* 既存のデータは保持されます
* API 経由でそのフィールドに引き続きアクセスできます
* 既存のリレーションは維持されますが、新規に作成することはできません
* そのフィールドは後で再有効化できます
</Accordion>
<Accordion title="フィールドを必須にできますか?">
現在、カスタムフィールドを必須にすることはできません。 すべてのフィールドは空の値を受け付けます。 ワークフローを使用して、フィールドが空のときにアラート送信やアクションのブロックを行い、必須を強制できます。
</Accordion>
<Accordion title="一意と必須の違いは何ですか?">
* **一意**: 2 つのレコードがこのフィールドで同じ値を持つことはできません
* **必須**: フィールドには値が必要です(現在、カスタムフィールドではサポートされていません)
</Accordion>
<Accordion title="数式フィールドを作成できますか?">
数式フィールドは **H2 2026** に追加されます。
数式フィールドは**2026年Q1**に提供されます。 その間、自動で計算してフィールド値を更新するワークフローを使用できます。
</Accordion>
<Accordion title="オブジェクトにネストされたフィールドを持つことはできますか?">
Nested fields are coming in **H2 20226** . 現在、関連オブジェクトからフィールド値を取得するためのワークフローを使用できます。 例えば、人のレコードに会社の業界を表示するには、[People] にカスタムフィールドを作成し、ワークフローを使って値を同期します。
</Accordion>
<Accordion title="オブジェクト内のフィールドを並べ替えることはできますか?">
はい、設定 → データ モデル → お好みのオブジェクト → レイアウト を選択し、**レコードページのカスタマイズ**をクリックします。 このボタンが無効の場合は、レコードを作成する必要があります。
</Accordion>
</AccordionGroup>
## 関連
<AccordionGroup>
<Accordion title="同じオブジェクトを指すリレーションを作成できますか?">
はい! 自己参照リレーションはサポートされており、アカウント階層などのユースケースでの使用が推奨されます。 例えば、親子アカウントを追跡するために、Companies 同士のリレーションを作成します。
</Accordion>
<Accordion title="多対多の関係を作成できますか?">
**H2 2026**には多くの関係があります。 現在は、回避策として、1 対多のリレーションを 2 つ持つ中間オブジェクトを作成してください。
例えば、People と Projects(多対多)を関連付けるには、"Project Assignments" オブジェクトを作成し、次の構成にします:
* People へのリレーション(多数の割り当て → 1 人)
* Projects へのリレーション(多数の割り当て → 1 プロジェクト)
</Accordion>
<Accordion title="複数のオブジェクトタイプへのリレーション(Morph リレーション)とは何ですか?">
これは、1 つのフィールドを通じて 1 つのオブジェクトが複数の異なるオブジェクトタイプに関連付けられるようにするものです。 例えば、メモは People と Companies と Opportunities に同時に添付できます。
各メモは、連絡先 1 名、会社 1 社、商談 1 件に同時にリンクします。
詳しくは [リレーションフィールド](/l/ja/user-guide/data-model/capabilities/relation-fields) をご覧ください。
</Accordion>
<Accordion title="同じオブジェクト間で複数のリレーションを持てますか?">
はい、同じ 2 つのオブジェクト間に複数のリレーションを作成できます。 例えば、Company は People に対して "Primary Contact" リレーションと "Billing Contact" リレーションの両方を持つことができます。
</Accordion>
<Accordion title="レコードを削除すると、リレーションはどうなりますか?">
レコードを削除すると、関連レコードからそのリレーションのリンクが削除されます。 関連レコード自体は削除されません。
</Accordion>
<Accordion title="循環リレーションを作成できますか?">
技術的には可能ですが、循環リレーション(A → B → C → A)は混乱を招き、パフォーマンス上の問題を引き起こす可能性があるため、避けるべきです。
</Accordion>
</AccordionGroup>
## アクセスと権限
<AccordionGroup>
<Accordion title="データモデルをどこで見て編集できますか?">
**Settings → Data Model** に移動すると、すべてのオブジェクトとフィールドを表示および編集できます。
</Accordion>
<Accordion title="なぜ設定内でデータモデルが見えないのですか?">
ワークスペースの管理者にお問い合わせください。 データモデルへのアクセスは通常、管理者に制限されています。
</Accordion>
</AccordionGroup>
## データ管理
<AccordionGroup>
<Accordion title="保持できるレコード数に上限はありますか?">
レコード数に厳密な上限はありません。 ただし、非常に大きなデータセットは、一部のビューでパフォーマンスに影響を与える可能性があります。 フィルターやビューを活用して、大規模なデータセットを効率的に管理してください。
</Accordion>
<Accordion title="カスタムオブジェクトにデータをインポートできますか?">
はい、カスタムオブジェクトを含む任意のオブジェクトに CSV データをインポートできます。 インポートプロセスでは、カスタムフィールドのフィールドマッピングをサポートしています。 詳しくは [CSV ファイルの準備方法](/l/ja/user-guide/data-migration/how-tos/prepare-your-csv-files) をご覧ください。
</Accordion>
<Accordion title="データモデルの設定をエクスポートできますか?">
現在、データモデル設定の組み込みエクスポート機能はありません。 ワークスペース間でデータモデルを移行する必要がある場合は、サポートにお問い合わせください。
</Accordion>
<Accordion title="1つのオブジェクトにはいくつのフィールドがありますか?">
単一のオブジェクトが持つことができるフィールドの最大数は、Postgresの制限ごとに1600フィールドであり、既存のフィールドと削除されたフィールドの両方を含みます。 公正使用ポリシーに該当する1600フィールドの上限に達した場合、Twentyがワークスペースを修正しないことに注意してください。
</Accordion>
</AccordionGroup>
## さらなるヘルプが必要ですか?
複雑なデータモデル設計の支援については、[実装サービス](/l/ja/user-guide/getting-started/capabilities/implementation-services)をご覧ください。

View File

@@ -0,0 +1,177 @@
---
title: データモデル
description: データモデルとは何か、ビジネスに適したデータモデルの設計方法を学びましょう。
---
## データモデルとは何ですか?
データモデルは、CRMにおける情報がどのように整理されるかを定義する構造です。 それは、どのオブジェクトが存在するか(会社、人、機会など)、それらが持つプロパティ(フィールド)が何か、そしてそれらがどのように関連しているかを決定します。 それを顧客データの地図として考えることができます。 それは、どのオブジェクトが存在するか(会社、人、機会など)、それらが持つプロパティ(フィールド)が何か、そしてそれらがどのように関連しているかを決定します。 それを顧客データの地図として考えることができます。 それは、どのオブジェクトが存在するか(会社、人、機会など)、それらが持つプロパティ(フィールド)が何か、そしてそれらがどのように関連しているかを決定します。 それを顧客データの地図として考えることができます。 それは、どのオブジェクトが存在するか(会社、人、機会など)、それらが持つプロパティ(フィールド)が何か、そしてそれらがどのように関連しているかを決定します。 それを顧客データの地図として考えることができます。 それは、どのオブジェクトが存在するか(会社、人、機会など)、それらが持つプロパティ(フィールド)が何か、そしてそれらがどのように関連しているかを決定します。 それを顧客データの地図として考えることができます。 それは、どのオブジェクトが存在するか(会社、人、機会など)、それらが持つプロパティ(フィールド)が何か、そしてそれらがどのように関連しているかを決定します。 それを顧客データの地図として考えることができます。 顧客データの**設計図**だと考えてください—一度設計したら、実際のデータで埋めていきます。
## 主要な概念
### オブジェクト
**オブジェクト**は、CRMにおけるデータの主要なカテゴリです。 各オブジェクトは、追跡したい対象の種類を表します。
Twenty には標準オブジェクトがあります:
* **People** — 個人(連絡先、リード、パートナー)
* **Companies** — 組織
* **Opportunities** — 商談または売上
* **メモ** — レコードに添付されているノート
* **Tasks** — レコードに関連付けられたToDo
あなたのビジネス固有のあらゆるもの向けに**カスタムオブジェクト**を作成することもできます(例:Projects、Subscriptions、Events)。
### フィールド
**フィールド**は、各オブジェクトを記述するプロパティ(属性)です。 実際の情報を保存します。
例えば、**People** オブジェクトには次のようなフィールドがあります:
* 名前
* メール
* 電話
* 職種
* Company(Companies オブジェクトへのリレーション)
フィールドにはさまざまな**タイプ**があります: テキスト、数値、日付、セレクト、マルチセレクト、リレーションなど。 任意のオブジェクトにカスタムフィールドを追加できます。
### レコード
**レコード**は、オブジェクト内の個別のエントリであり、あなたが作成・管理する実データです。
例えば:
* "John Smith" は People オブジェクトの**レコード**です
* "Acme Corp" は Companies オブジェクトの**レコード**です
**例え:**
| データモデルの概念 | 実世界のたとえ |
| ---------- | ------------------- |
| **オブジェクト** | 本のセクション(カテゴリ) |
| **フィールド** | スプレッドシートの列(プロパティ) |
| **レコード** | スプレッドシートの行(実際のエントリ) |
データモデル(オブジェクト + フィールド)は一度設計し、その構造の中で多数のレコードを作成します。
## データモデルをカスタマイズする理由
すべてのビジネスは違った方法で動作します。 データモデルをカスタマイズすれば、硬直的なシステムに自分のプロセスを押し込めるのではなく、Twenty を**あなたの**プロセスに合わせて形作れます。
Twenty は高い柔軟性を提供します:
* 必要なだけカスタムオブジェクトを作成できます
* 無制限にカスタムフィールドを追加できます
* カスタマイズしても価格は変わりません
## データモデルを設計するためのヒント
### 1. コアとなるオブジェクトから始める
取り扱う主要な概念を特定しましょう。 Twenty にはすでに次のものが用意されています:
* **People** — 連絡先
* **Companies** — 取引先
* **Opportunities** — 商談
他に何が必要か考えてみましょう:
* Stripe には `Subscriptions` オブジェクトが必要になるでしょう
* Airbnb には `Trips` オブジェクトが必要になるでしょう
* アクセラレーターには `Batches` オブジェクトが必要になるでしょう
### 2. バリエーションには新規オブジェクトではなくフィールドを使う
既存オブジェクトの単なる特性であれば、**フィールド**にしましょう。
**フィールドを使うケース:**
* カテゴリやラベル(例:Companies の `Industry`)
* ステータス値(例:Opportunities の `Stage`)
* 属性やプロパティ
### 3. 独立して成立する場合はオブジェクトを作成する
その概念に固有のライフサイクル、プロパティ、またはリレーションシップがあるなら、オブジェクトにする価値があります。
**オブジェクトを作成する対象:**
* **Projects** — 期限、所有者、タスクを持つもの
* **Subscriptions** — 会社、製品、請求書を結びつけるもの
* **Events** — 参加者とフォローアップアクションを伴うもの
これらは単一のフィールドを超えており、独自のデータと関係を有しています。
### 4. レコード数が不定の場合はオブジェクトを作成する
関連付け回数が複数で、どれだけになるかわからない場合は、オブジェクトを使用します。
**悪いアプローチ:**
`Product 1`、`Product 2`、`Product 3` のようなフィールドを作成する...
**良いアプローチ:**
`Products` オブジェクトを作成してレコードに関連付ける。 こうすることで、製品が1つでも100でも、モデルを変更せずに対応できます。
### 5. まずはシンプルに
まずはフィールドから始めましょう。 限界を感じたときにのみ新しいオブジェクトへ移行しましょう:
* 1つのオブジェクトにフィールドが多すぎる
* 別々にすべきレコードが繰り返されている
* リレーションがうまく収まらない
## 人、会社、機会に関する特別な注意事項
<Warning>
**メールとカレンダーの同期は、人、会社、機会でのみ機能します。**
メールボックス/カレンダーから同期済みのメールやミーティングにアクセスできるのは、これらのオブジェクトだけです。 可能な限りこれらを使用することを推奨します。
</Warning>
**ベストプラクティス:**
* 「人」のカテゴリが必要な場合は、新しいオブジェクトではなくフィールドを使用してください
* 例: 別々のオブジェクトを作成するのではなく、値として「見込み客」と「パートナー」を持つ `Person Type` フィールドを使用します
* フィルター用に別々の**ビュー**を作成します: 1つはパートナーを表示し、もう1つは見込み客を表示します
**すべてのレコードに当てはまらないフィールドがあっても問題ありません。** 例えば、`Person Type = Partner` の場合にのみ適用される、「人」オブジェクトの `Referral Link` フィールド。 関連しないビューではこのフィールドを非表示にします。
## 選択を導くための質問
自問してください:
<Check>これは、すでに持っているものの単なるプロパティですか、それとも独自のプロパティが必要ですか?</Check>
<Check>各レコードで、その数を事前に知らずに複数を追跡する必要がありますか?</Check>
<Check>この概念は、1つだけでなく複数の異なるオブジェクトに関連しますか?</Check>
<Check>それは独自のライフサイクル(ステージ、開始/終了日)を持ちますか?</Check>
1つ以上に "はい" と答えるなら、新しいオブジェクトにする時期かもしれません。
## データモデルへのアクセス
1. 左サイドバーの**設定**に移動します
2. **データモデル**をクリックします
3. すべてのオブジェクト(標準およびカスタム)を表示します
4. 任意のオブジェクトをクリックして、そのフィールドを表示・編集します
<Note>
**設定にデータモデルが見当たりませんか?**
データモデルへのアクセスは通常、管理者に制限されています。 アクセスが必要な場合は、ワークスペース管理者に連絡してください。
</Note>
## 次のステップ
データモデルの計画が完了したら:
* [カスタムオブジェクトの作成方法](/l/ja/user-guide/data-model/how-tos/create-custom-objects)
* [カスタムフィールドの作成方法](/l/ja/user-guide/data-model/how-tos/create-custom-fields)
* [リレーションフィールドの作成方法](/l/ja/user-guide/data-model/how-tos/create-relation-fields)
## ヘルプが必要ですか?
<Tip>
データモデルの設計でサポートが必要ですか? [Find a Certified Twenty partner](https://twenty.com/partners/list?categories=SOLUTIONING\&ref=docs-data-model) は、オブジェクト、フィールド、リレーションシップを設計および構築します。
</Tip>

View File

@@ -0,0 +1,104 @@
---
title: 用語集
description: Twentyで使用される基本的な用語に慣れましょう。
---
## API
API(アプリケーションプログラミングインターフェース)は、Twentyを他のソフトウェアシステムと接続し、カスタム統合を構築することを可能にします。
## アプリ
アプリは、データモデルやロジック関数を定義できる、コードとして構築されたカスタム拡張機能です。 これにより、開発者は複数のワークスペースにデプロイ可能な再利用可能なカスタマイズを作成できます。
## コードアクション
コードアクションは、データの変換、計算、組み込みアクションでは実現できない複雑なロジックの実行のために、カスタムの JavaScript を記述できるワークフローのステップです。
## コマンドメニュー
コマンドメニューは、`Cmd + K`(Macの場合)、`Ctrl + K`(Windowsの場合)で開くことができるクイックアクセスインターフェースであり、操作を実行したり、レコードを作成したり、ワークスペースを効率的に移動したりすることを可能にします。
## Company と People
CRMには基本的な2つの種類のレコードがあります:
* `Company`は企業や組織を表します。
* `People`はあなたの企業の現在および潜在的な顧客を表します。
## カスタムフィールド
カスタムフィールドは、ビジネスのニーズとプロセスに特化した情報をキャプチャするために作成されたデータフィールドです。
## データモデル
データモデルとは、CRMで情報がどのように編成されているかを定義する構造であり、どのオブジェクトが存在するか、それらのプロパティ(フィールド)、およびそれらがどのように関連しているかを含みます。
## お気に入り
お気に入りとは、すぐにアクセスできるようにマークされたレコードであり、サイドバーに表示され、重要なデータへの即時ナビゲーションを可能にします。
## フィールド
フィールドとは、エンティティに特定のデータが保存される特定の領域を指します。
## イテレータ
イテレーターは、アイテムの配列をループし、リスト内の各アイテムに対して後続のアクションを実行するワークフローアクションです。
## カンバン
`Kanban`は、カードと列を使ってビジネスプロセスを視覚的に追跡する方法です。 各列はプロセスの各ステージ(例:新規、進行中、成約、失注)を表し、進行に応じてレコードをこれらのステージへ移動します。
## オブジェクト
オブジェクトは、CRMで特定の種類のエンティティを表すデータ構造です(例:People、Companies、Opportunities)。 オブジェクトには、標準(ビルトイン)とカスタム(ユーザー作成)があります。
## 商談
Twenty CRMの商談は、アカウントや連絡先との潜在的な取引や販売を指します。
## レコード
レコードは、特定の口座や連絡先などのオブジェクトのインスタンスです。
## リレーションフィールド
リレーションフィールドは異なるオブジェクト間の接続を作成し、レコード同士をリンクできます(例:人を会社に関連付ける)。
## 標準フィールド
標準フィールドは、デフォルトでオブジェクトに付属する事前に構築されたデータフィールドであり、すべてのワークスペースで共通の機能を提供します。
## タスク
Twenty CRMのタスクは、連絡先、アカウント、または商談に関連する、担当者に割り当てられるアクティビティです。
## トリガー
トリガーはワークフローの開始点、すなわち自動化を開始するイベントまたは条件です。 例としては、レコードの作成、レコードの更新、Webhook、スケジュールされた時刻などがあります。
## ビュー
ビューを使用してレコードの表示をカスタマイズし、フィルター、レイアウト、並べ替えオプションを各ビューに設定することができます。
## アップサート
アップサートは「update」と「insert」を組み合わせた操作で、一致が見つかった場合は既存のレコードを更新し、一致が存在しない場合は新しいレコードを作成します。
## ウェブフック
ウェブフックは、特定のイベントが発生したときにTwentyから他のアプリケーションへ送信される自動メッセージで、リアルタイムのデータ同期を可能にします。
## ワークフロー
ワークフローは特定の条件に基づいてアクションをトリガーする自動プロセスであり、繰り返しのタスクやビジネスプロセスを自動化するのに役立ちます。
## ワークスペース
`Workspace`は通常、Twentyを使用している企業を表します。 そこには、あなたやチームメンバーがTwentyに追加したすべてのレコードとデータが保存されます。
ワークスペースには、通常、従業員のメールアドレスに使われる会社のドメイン名が1つ設定されています。
## ワークスペースメンバー
ワークスペースメンバーは、ワークスペースにアクセスできるあなたのチームのTwentyユーザーです。 レコードの所有者または担当者として割り当てることができます。

View File

@@ -0,0 +1,17 @@
---
title: 導入サービス
description: 開始の手助けや高度なカスタマイズの作成が必要な場合にも、私たちは解決策を提供します。
---
## 実装パートナー
認定されたTwentyパートナーと連携し、高度なカスタマイズ、統合、専任の導入サポートを受けましょう。
<CardGroup cols={2}>
<Card title="認定パートナーを閲覧する" icon="magnifying-glass" href="https://twenty.com/partners/list?ref=docs-implementation-services">
パートナーを見つけて直接連絡しましょう。地域、言語、専門分野で絞り込めます。
</Card>
<Card title="Twentyによるマッチングを受ける" icon="envelope" href="mailto:contact@twenty.com">
必要な内容をお知らせいただければ、最適なパートナーをご紹介します。
</Card>
</CardGroup>

View File

@@ -0,0 +1,46 @@
---
title: 二十歳とは?
description: 「Twenty」はオープンソースのCRMで、お客様のビジネスニーズに合った構成要素を提供します。
---
## ビジョン
優れたCRMを作成するのは難しいのです。それはバランスを取る行為だからです。
各ビジネスの要件は一見単純に見えますが、それぞれのニーズは異なります。
結果として、CRMは基本すぎるか、すべてをこなすが何事にも秀でていないものになります。
各ビジネスの要件は一見単純に見えますが、それぞれのニーズは異なります。
結果として、CRMは基本すぎるか、すべてをこなすが何事にも秀でていないものになります。
各企業の要件は明確に見えますが、皆のニーズは異なります。
その結果、CRMはあまりにも基本的なものか、万能選手を目指して結果的にどれも得意でないものになります。
最初は、トゥエンティはあなたが既に知っているほとんどのCRMと同じように見えます:取引の追跡、連絡先の整理、タスクやノートの管理ができます。
**しかし、それを区別するのは、拡張性へのアプローチです。 私たちはあなたのビジネス上の問題を解決するためのブロックを提供するオープンなプラットフォームを構築しています。**
我々は機能リストよりも、普遍的な原則と共通のパターンを優先します。
すべての答えを出そうとはせず、代わりにユーザーが最も効果的な方法を見つけるのを助けます。
オープンソースは我々のアプローチの基盤です、それはトゥエンティがコミュニティとともに、ために進化していくことを保証します。
## 利点
**カスタマイズ可能:** あなたのビジネスニーズに合わせて設計されています。
**コミュニティ主導:** 大きなオープンソースコミュニティによって構築され、維持されています。
**コスト効果:** 自己ホストが常に可能なので、ベンダーロックされることはありません。
## 主な機能
* **カレンダーとメール:** メールボックスとカレンダーを同期してCRMレコード上のすべての通信を見ることができます。 [詳細はこちら](/l/ja/user-guide/calendar-emails/overview).
* **データモデル:** 独自のビジネスプロセスに合わせてカスタムオブジェクトとフィールドを作成します。 [Explore](/l/ja/user-guide/data-model/overview).
* **データの移行:** CSVまたはAPI経由でデータをインポートしてエクスポートします。 [始める](/l/ja/user-guide/data-migration/overview).
* **ビューとパイプライン:** テーブルビュー、カンバンボード、販売パイプラインでデータを整理します。 [Discover](/l/ja/user-guide/views-pipelines/overview).
* **ワークフロー:** ビジネスプロセスを自動化し、外部ツールと統合します。 [自動化を構築](/l/ja/user-guide/workflows/overview)。
* **AI:** AI搭載の機能やエージェントでCRMを強化します。 [AIを詳しく見る](/l/ja/user-guide/ai/overview)。
* **ダッシュボード:** カスタムレポートや可視化でパフォーマンスを追跡します。 [ダッシュボードを表示](/l/ja/user-guide/dashboards/overview)。
* **権限とアクセス:** ロールベースの権限で、誰がデータを閲覧、編集、管理できるかを制御します。 [アクセスを設定](/l/ja/user-guide/permissions-access/overview)。
* **ノートとタスク:** より良いコラボレーションのために、レコードに関連付けられたノートやタスクを作成します。
* **APIおよびWebhooks:** 他のアプリと接続し、カスタム統合を構築します。 [統合を開始](/l/ja/developers/extend/api).
## 今すぐ参加
[こちらで登録](https://app.twenty.com)または[GitHubで貢献者になる](https://github.com/twentyhq/twenty)。

View File

@@ -0,0 +1,78 @@
---
title: ワークスペースを構成する
description: すべてのビジネスは違った方法で動作します。 ニーズに合わせて Twenty を整えるために、まずは次の3つのステップから始めましょう。
---
<Note>**クイックウィン**: まずはメールボックスを接続しましょう。 これは即座に価値を提供し、チームが実際のデータでTwentyを行動しているところを確認するのに役立ちます。 設定 → アカウントで行えます。</Note>
## 1. データモデルをカスタマイズする
Twentyは、日常をサポートする最適なデータモデルを形成するために必要な柔軟性を提供します。
異なるオブジェクト間の関係を含む、任意のタイプのオブジェクトとフィールドを作成できます。 You can do so under Settings → Data Model.
異なるオブジェクト間の関係を含む、任意のタイプのオブジェクトとフィールドを作成できます。 You can do so under Settings → Data Model. 設定 → データモデルで行えます。
ここにいくつかのヒントがあります:
* **カスタムフィールドやカスタムオブジェクトの数に制限はありません**。 **カスタムフィールドやカスタムオブジェクトの数には制限がありません**。 カスタムオブジェクトやフィールドを追加しても、プランをアップグレードする必要はありません。 カスタムオブジェクトやフィールドを追加しても、プランをアップグレードする必要はありません。
* **メールボックスやカレンダーから同期されたメールと会議には、「人」「会社」「機会」の3つのオブジェクトからアクセスできます。** 可能な限りそれらを使用し、記録を整理するためにフィールドを追加することをお勧めします。 こちらは例です: こちらは例です: こちらは例です:
* Peopleオブジェクトを見込み客やパートナーに使用し、`Person Type`という名前のPeopleオブジェクトにフィールドを作成するのが最善です。 Partner custom オブジェクトを作成する代わりに、パートナーのレコードからこの人と交換されたメールにアクセスできないためです。
* 「人」カテゴリの中でパートナーを表示するためのビュー、見込み客を表示するためのビューを作成します。
* 2人の「人」は同じメールアドレスを持つことはできません。 2つの会社は同じドメインを持つことはできません。 2つの会社は同じドメインを持つことはできません。 2つの会社は同じドメインを持つことはできません。
* 使用したくない標準フィールドとオブジェクトを無効化できます。
* ビューからフィールドを隠すことができます:フィールドを作成することを恐れないでください、それらすべてを表示する必要はありません。
データモデルの設計方法についてもっと学ぶには、[この記事](/l/ja/user-guide/data-model/overview)をお読みください。
## 2. データを導入する
既存のデータをTwentyに導入すると、チームが最初からコンテキストを得ることができます。
### メールボックスを接続する
ワークスペースの作成時に行っていない場合は、設定 → アカウントで **Google または Microsoft アカウント** を接続してください。 これにより、Twentyが次のことを行えるようになります:
* メッセージと会議のインポート
* インタラクションに基づく自動連絡先作成(オプション)
* チームにコミュニケーション履歴を表示し続ける
**他のプロバイダーを使用していますか?**
SMTP経由で別のメールボックスを追加するか、CalDAV経由で別のカレンダーを追加できます。 [設定] → [リリース] → [ラボ]で機能を有効にしてから、[設定] → [アカウント]タブに戻る必要があります。 [設定] → [リリース] → [ラボ]で機能を有効にしてから、[設定] → [アカウント]タブに戻る必要があります。 設定するには、**設定 → アカウント** に移動します。
### CSV形式でデータをインポート
コマンドメニュー(`Cmd + K`または`Ctrl + K`)を使用して、CSV経由で人、会社、機会、または任意のカスタムオブジェクトをインポートします。
**重要なガイドライン**:
* サンプルファイルをダウンロードして予想される形式を理解します
* 各ファイルを10kレコードまで制限する
* 人の重複メール、会社の重複ドメインを削除する
* インポート前にエラー(黄色でハイライト)をレビューして修正する
データインポートについてさらに学ぶには、[この記事](/l/ja/user-guide/data-migration/overview)を読んでください。
## 3. 最初のビューを作成する
さまざまなビューを作成することは、チームにとってデータを活用できるようにするための鍵です。
進め方はこちらです:
* **列の追加または非表示**
オプション→フィールド(右上の)をクリックして、特定のビューに表示されるフィールドを管理します。 そこからフィールドを表示/非表示にできます。
* **並べ替えフィールド**
オプション→ フィールド(右上)をクリックして、指定されたビューからフィールドを並べ替えます。 ドラッグアンドドロップでフィールドを並べ替えます。
* **ビューをフィルタリングする**
右上のフィルターを使用して表示されるレコードを絞り込みます。
* **レコードを並び替える**
右上の並び替え機能を使用するか、列名を直接クリックして表示されるレコードを並び替えます。
* **レイアウトを選択する**
オブジェクトに「ステージ」または同様の選択タイプフィールドがある限り、**カンバンレイアウト**または**グループ化**レイアウトに切り替えることができます。
* **ビューをお気に入りとして保存する**
これは、異なるビューを表示するドロップダウンメニューを使用して行うことができます。
## 次は何をしますか?
[ワークフロー](/l/ja/user-guide/workflows/overview)を使用して自動化を開始してください。

View File

@@ -0,0 +1,48 @@
---
title: ワークスペースを作成する
description: Twenty に登録し、サブスクリプションプランを選択して、アカウントを設定するためのステップバイステップガイドに従ってください。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## ステップ1: 登録
1. [Twentyへのサインアップ](https://app.twenty.com)に移動します。
2. ご希望のサインアップ方法を選択してください:
* Googleアカウントでの登録には、**Googleで続行** を選択してください。
* Microsoftアカウントでの登録には、**Microsoftで続行** を選択してください。
* または、メール登録のために**メールで続行**。
<VimeoEmbed videoId="927066829" title="デモ動画" />
## ステップ 2: トライアル期間の選択
2 つのトライアル期間から選択:
### 30 日間
クレジットカードで
### 7 日間
クレジットカードなしで
どちらのトライアルも含まれます:
* フルアクセス
* 連絡先無制限
* メール統合
* カスタムオブジェクト
* API & Webhooks
「プランの変更」をクリックして、別のプランや請求間隔を選択できます。
<img src="/images/user-guide/create-workspace/choose-plan.png" style={{width:'100%'}} />
## ステップ 3: 支払い確認 & アカウント設定
Stripeによる支払い承認後、ワークスペースとユーザープロフィールを作成するように指示されます。 サブスクリプションはいつでもキャンセルできます。
## サポート
ご質問やサポートが必要な場合は、[contact@twenty.com](mailto:contact@twenty.com) または [Discord](https://discord.gg/cx5n4Jzs57) で専属のサポートチームに連絡してください。

View File

@@ -0,0 +1,84 @@
---
title: Twenty の操作方法
description: プラットフォームのナビゲーション方法や、さまざまなアクションを実行する場所の概要を素早く把握できます。
---
## メインレイアウト
画面の中央は、**あなたのレコードが存在する場所**です。People、Companies、Opportunities、Tasks、Notes、Dashboards、Workflows、およびあなたが作成したその他のオブジェクトがここにあります。 ここで日常業務が行われます。
そこから**レコードを表示、編集、削除**できるほか、**新しいビューを作成**することもできます。
<img src="/images/user-guide/home/main-layout.png" style={{width:'100%'}} />
## ナビゲーションバー
左側では、上から下にかけて次のことができます:
* ドロップダウンメニューを使用して**複数のワークスペース**を切り替える、または新しいワークスペースを作成する
* **検索バー**を使用(`/` を押すとすぐにフォーカスできます)
* **設定**セクションを開く
* **お気に入りのビュー**へ直接アクセスできます。 お気に入りはユーザーごとに固有です。
* 異なるオブジェクトを切り替える
* ワークフローを使用して**自動化を作成**
<img src="/images/user-guide/home/navigation-bar.png" style={{width:'100%'}} />
## コマンドメニュー
コマンドメニューは、Twenty における**アクションへのクイックアクセス**を提供します。 アクセス方法は2通りあります:
* **キーボードショートカット**:`Cmd + K`(Mac)または`Ctrl + K`(Windows)を押します
* **マウス**:右上の三点メニューをクリック
そこから次の操作ができます:
* 新しいレコードを作成
* **CSVでデータをインポートおよびエクスポート**
* 新しいビューを作成
* 削除されたレコードにアクセスできます(Twenty はソフト削除とハード削除をサポートしています)
* ワークスペース内のオブジェクトに素早くアクセスするためのキーボードショートカットを確認
<img src="/images/user-guide/home/command-menu.png" style={{width:'100%'}} />
## 検索バー
検索バーには、Command Menu、ナビゲーションバー上部、または `/` を押して即座にフォーカスすることでアクセスできます。 検索はすべてのオブジェクトを横断して機能します。
<img src="/images/user-guide/home/search-bar.png" style={{width:'100%'}} />
## サイドパネル
レコードをクリックすると、右側にサイドパネルが表示されます。 これにより、別のページに移動することなく、そのレコードの主要な情報の概要をすばやく確認できます。 そこから、この概要を閉じるか、Open ボタンをクリックしてこのレコードの追加情報を表示するかを選択できます。
<img src="/images/user-guide/home/side-panel.png" style={{width:'100%'}} />
## ビュー
すべてのオブジェクト(例:商談や人物)は複数のビューをサポートしています。 オブジェクトごとのビュー数に制限はありません。
メインレイアウトの左上にあるドロップダウンメニューを使用して、さまざまなビューを切り替えます。 例えば:
* ステージごとの商談を追跡するためにカンバンビューを使用
* セクションを作成し効率を向上させるためにグループ化ビューを使用
* 特定のレコードに焦点を当てるためにフィルターを使用します(例:先週作成されたリード)
* フィルターされたビューを保存して後で再利用
* すばやくアクセスするためにビューをお気に入りに登録
<img src="/images/user-guide/home/view-menu.png" style={{width:'100%'}} />
Views を初めて利用する場合は、[ビューとパイプラインのガイド](/l/ja/user-guide/views-pipelines/overview)を読んで、作成とカスタマイズの方法を学んでください。
## 設定
左上から設定を開いて次のことを行います:
* **メールボックスとカレンダーのアカウントを接続**し、メールとカレンダーをシームレスに同期
* **データモデルをカスタマイズ**:カスタムオブジェクト、フィールド、リレーションシップを作成
* **APIプレイグラウンドにアクセスし、ウェブフックを設定**
* **ユーザー権限を管理**し、ワークスペースのアクセス制御を行う
* チームメンバーを招待し、ユーザーロールを管理
* プロフィールとワークスペースの環境設定を編集
* 請求を設定し、ワークフロー クレジットの使用状況を監視
* 近日公開の機能を確認して有効化(Updates → Early Access 内)
* **サポートにアクセス**してライブチャットで問い合わせる
* **ドキュメントを開く**と、ユーザーガイドおよび開発者ドキュメントを閲覧できます
<Note>Settings でこれらのセクションがすべて表示されない場合は、workspace administrator にお問い合わせください。一部のセクションにはアクセス制限があります。</Note>

View File

@@ -0,0 +1,59 @@
---
title: ユーザーガイド
description: Twenty ユーザーガイドへようこそ。高度な設定やベストプラクティスのためのリソースです。
---
import { CardTitle } from "/snippets/card-title.mdx"
<CardGroup cols={3}>
<Card href="/l/ja/user-guide/data-model/overview" img="/images/user-guide/halftone/data-model.png">
<CardTitle>データモデル</CardTitle>
固有のビジネスプロセスに合わせてデータモデルをカスタマイズします。
</Card>
<Card href="/l/ja/user-guide/data-migration/overview" img="/images/user-guide/halftone/data-migration.png">
<CardTitle>データ移行</CardTitle>
CSV または API でデータをインポート/エクスポートします。
</Card>
<Card href="/l/ja/user-guide/calendar-emails/overview" img="/images/user-guide/halftone/calendar-emails.png">
<CardTitle>カレンダーとメール</CardTitle>
チームの会議やメールを一元管理します。
</Card>
<Card href="/l/ja/user-guide/workflows/overview" img="/images/user-guide/halftone/workflows.png">
<CardTitle>ワークフロー</CardTitle>
プロセスを自動化し、外部ツールと統合します。
</Card>
<Card href="/l/ja/user-guide/ai/overview" img="/images/user-guide/halftone/ai.png">
<CardTitle>AI</CardTitle>
AI エージェントでチームを強化します。
</Card>
<Card href="/l/ja/user-guide/layout/overview" img="/images/user-guide/halftone/layout.png">
<CardTitle>レイアウト</CardTitle>
ナビゲーション、ビュー、レコードページのカスタマイズ。
</Card>
<Card href="/l/ja/user-guide/dashboards/overview" img="/images/user-guide/halftone/dashboards.png">
<CardTitle>ダッシュボード</CardTitle>
パフォーマンスを追跡するためのリアルタイムなインサイトを提供します。
</Card>
<Card href="/l/ja/user-guide/permissions-access/overview" img="/images/user-guide/halftone/permissions.png">
<CardTitle>権限とアクセス</CardTitle>
Twenty へのロールおよびアクセス権を管理します。
</Card>
<Card href="/l/ja/user-guide/billing/overview" img="/images/user-guide/halftone/billing.png">
<CardTitle>請求</CardTitle>
Twenty の料金と請求の仕組みを理解します。
</Card>
<Card href="/l/ja/user-guide/settings/overview" img="/images/user-guide/halftone/settings.png">
<CardTitle>設定</CardTitle>
ワークスペースの設定を行います。
</Card>
</CardGroup>

View File

@@ -0,0 +1,38 @@
---
title: ナビゲーション
description: チームの働き方に合わせて左サイドバーをカスタマイズできます。
---
左サイドバーは、Twenty内を移動するための主な手段です。 完全にカスタマイズ可能—どの設定ページにも触れることなく、ワークフローに合わせて再配置できます。
## 項目の並べ替え
サイドバー内の任意の項目をドラッグ&ドロップして位置を変更します。 並び順はユーザーごとに保存されるため、各チームメンバーが自分のサイドバーを自由に配置できます。
## フォルダー
関連する項目をフォルダーにまとめます。 たとえば、パイプラインのビューを含む "Sales" フォルダー、チケット用の "Support" フォルダー、内部オブジェクト用の "Operations" フォルダーを作成できます。
フォルダーを作成するには、サイドバーで右クリックするか、`+` ボタンを使用します。
## オブジェクトの非表示
使用しないオブジェクトはサイドバーから非表示にできます。 削除はされません—表示されなくなるだけです。 設定 → データ モデルからいつでも表示できます。
## お気に入り
サイドバー上部のお気に入りセクションにビュー、レコード、または検索をピン留めすると、ワンクリックでアクセスできます。 お気に入りは個人単位です—各ユーザーが自分で管理します。
## カスタムリンク
外部ツールへのリンクをサイドバーに直接追加できます。 社内Wiki、他ツールのダッシュボード、またはチームで日常的に使用する任意のURLへのリンクに便利です。
## コマンドメニュー
`Cmd+K`(または `Ctrl+K`)を押してコマンドメニューを開きます—サイドバーを操作せずに任意のレコード、ビュー、またはアクションに移動できるクイックアクセス検索バーです。
## サイドバーのカスタマイズ
サイドバーをカスタマイズするには、サイドバーの「Workspace」セクションにカーソルを合わせて、レンチアイコンをクリックします。
<img src="/images/user-guide/layout/navigation-edit-icon.png" alt="ナビゲーションの編集アイコン" />

View File

@@ -0,0 +1,61 @@
---
title: レコードページ
description: タブやウィジェットを使って、各レコードの詳細ページのレイアウトをカスタマイズできます。
---
## 概要
Twenty でレコードを開くと、詳細ページは**タブ**と**ウィジェット**で構成されています。 どちらもオブジェクトタイプごとに完全にカスタマイズできます。
## タブ
各レコードページには、ブラウザのタブと同様に、複数のタブを設けることができます。 それらを使って、レコードのさまざまな側面を整理します。 たとえば、Company レコードには、概要、コミュニケーション、タスク、ファイルのタブがある場合があります。
次のことができます:
* タブの追加と削除
* タブの名前を変更
* ドラッグしてタブの順序を変更
* デフォルトで表示するタブを設定
## ウィジェット
ウィジェットは各タブ内の基本構成要素です。 利用可能なウィジェットの種類:
| ウィジェット | 表示内容 |
| ----------- | ---------------------- |
| **フィールド** | レコードのフィールド(グループ化または個別) |
| **関連レコード** | 関連付けでリンクされたレコードのテーブル |
| **メール** | 接続済みアカウントのメール履歴 |
| **カレンダー** | レコードに関連付けられたカレンダーイベント |
| **タイムライン** | アクティビティとイベントの履歴 |
| **タスク** | 関連するタスク |
| **ノート** | リッチテキストのノート |
| **ファイル** | 添付ファイル |
| **チャート** | 関連レコードのビジュアルデータ |
| **iFrame** | 埋め込まれた外部コンテンツ |
| **リッチテキスト** | 静的コンテンツまたは説明 |
## レコードページのカスタマイズ
1. 任意のレコードを開く
2. `Cmd+K` を押して、「Edit record page layout」を検索します
または
1. 設定 → データモデル → 任意のオブジェクト → レイアウトに移動します
2. そのオブジェクトの「レコードページをカスタマイズ」ボタンをクリックします
3. カスタマイズモードになりました:
* ウィジェットピッカーから**ウィジェットを追加**
* グリッド上で再配置するために**ウィジェットをドラッグ**
* 端をドラッグして**ウィジェットのサイズを変更**
* **フィールドを設定**(各ウィジェット内に表示するフィールド)
* **タブを管理** — 追加、削除、名前変更、並べ替え
4. 変更を保存 — そのオブジェクトタイプのすべてのレコードに適用されます
## フィールドの表示設定
Fields ウィジェット内では、表示するフィールドとその順序を制御できます。 これにより、焦点を絞ったレイアウトを作成できます — たとえば、概要タブには最重要なフィールドのみを表示し、詳細なフィールドは別のタブに配置します。

View File

@@ -0,0 +1,45 @@
---
title: レイアウト
description: Twentyにおけるナビゲーション、閲覧、レコードの表示方法をカスタマイズできます。
---
Twentyのレイアウトは、アプリのナビゲーション方法、レコード一覧の閲覧方法、個別のレコードを開いたときに表示される内容の3つのレベルでカスタマイズできます。
## ナビゲーション
左サイドバーは完全にカスタマイズ可能です。 次のことができます:
* **項目を並べ替え**(ドラッグ&ドロップで)
* **フォルダーを作成**して関連するオブジェクトやビューをグループ化
* **使用しないオブジェクトを非表示**
* **カスタムリンクを追加**して外部ツールにアクセス
* **お気に入りにピン留め**してビュー、レコード、検索へすばやくアクセス
[ナビゲーションのリファレンス →](/l/ja/user-guide/layout/capabilities/navigation)
## ビュー
ビューはレコード一覧の表示方法を制御します。 Twentyは3種類のビュータイプをサポートしています:
| ビュー | 最適な用途 |
| --------- | ---------------------------------------- |
| **テーブル** | 多数のレコードを一度に扱う — スプレッドシート形式の行と列 |
| **カンバン** | パイプラインの追跡 — ステージごとに整理されたカードをドラッグ&ドロップで操作 |
| **カレンダー** | 時間ベースの計画 — 日付フィールドに基づいてレコードを表示 |
各ビューは、フィルター、並べ替え、フィールドの可視性、グループ化の設定を個別に保存します。 ビューはワークスペースで共有することも、非公開のままにすることもできます。
[テーブルビュー →](/l/ja/user-guide/views-pipelines/capabilities/table-views) · [カンバンビュー →](/l/ja/user-guide/views-pipelines/capabilities/kanban-views) · [カレンダービュー →](/l/ja/user-guide/views-pipelines/capabilities/calendar-view)
## レコードページ
レコードを開くと、詳細ページはカスタマイズ可能なタブとウィジェットで構成されます。 次のことができます:
* **タブの追加・削除・並べ替え**(任意のレコードタイプで)
* **ウィジェットを設定** — フィールド、関連レコード、電子メール、タイムライン、カレンダー、タスク、メモ、ファイル、グラフ、iFrameなど。
* **ウィジェットをドラッグしてサイズ変更**(グリッドレイアウト上)
* **フィールドの可視性を制御**(ウィジェットごと)
コマンドメニュー(`Cmd+K` → 「レコードページのレイアウトを編集」)からレイアウトのカスタマイズモードに入ります。
[レコードページのリファレンス →](/l/ja/user-guide/layout/capabilities/record-pages)

View File

@@ -0,0 +1,125 @@
---
title: 法的なFAQ
description: よく寄せられる法的な質問。
---
## データ居住地と国際送金
<AccordionGroup>
<Accordion title="ワークスペースのデータ、添付ファイル、ログ、バックアップはどの国と地域に保存されますか?">
20 CloudはドイツのフランクフルトにあるAWSサーバー上で動作します。
</Accordion>
<Accordion title="ホスティング地域は契約的に私たちのワークスペースのために修正することができますか?">
ホスティング地域の選択は、2027年から利用可能になり、当初は新しいワークスペースが対象となります。 既存のワークスペースについては、後日、地域の変更をリクエストできるようになります。 また、インスタンスのセットアップについてサポートが必要な場合は、[当社のパートナー](https://twenty.com/partners/list?categories=HOSTING)までお問い合わせください。
</Accordion>
<Accordion title="どのサブプロセッサが当社のCRMデータを処理またはアクセスし、どの国に所在していますか?">
すべてのサブプロセッサーの一覧は、[当社のトラストセンター](https://trust.twenty.com/?tab=subprocessors)でご覧いただけます。
</Accordion>
<Accordion title="国際データ転送にどのような保護措置が適用されますか?">
EU標準契約条項は、UK付属文書およびスイス向け修正条項とあわせて、EU域外への国際的なデータ移転(すべてのサブプロセッサーへの移転を含む)に適用されます。
</Accordion>
</AccordionGroup>
## データ処理協定と法的役割
<AccordionGroup>
<Accordion title="現在のデータ処理契約(Data Processing Agreement)はどこで確認できますか?">
署名済みのDPAは、https://{your-domain}/settings/legal/dpa(例: https://getting-started.twenty.com/settings/legal/dpa)で生成できます。
</Accordion>
<Accordion title="当社がデータコントローラのままでいる間、20はCRMに保存されているマーチャントおよび連絡先情報のデータプロセッサとして機能しますか?">
[プライバシーポリシー](https://twenty.com/privacy-policy)に記載のとおり、CRM に保存されているマーチャントおよび連絡先情報について、Twenty はデータプロセッサーとして、御社はデータコントローラーとしてそれぞれの役割を担います。
</Accordion>
<Accordion title="CRMコンテンツは、これまでに20またはサードパーティのAIモデルのトレーニングに使用されていますか?">
CRMコンテンツは、サブプロセッサーの利用規約に応じてAIモデルのトレーニングに使用される場合があります。 Twentyは独自のAIモデルを保有しておらず、Twenty Cloudで利用可能なすべてのAIモデルはサブプロセッサーによって提供されています。
</Accordion>
<Accordion title="オプションのAI処理が存在する場合、ワークスペースで完全に無効にすることはできますか?">
AIは、「Settings → AI → Models」で、すべてのAIモデルをオフにすることで完全に無効化できます。 さらに、AIチャットやワークフロー内のAIノードと積極的にやり取りを行わない限り、AIにデータが送信されることはありません。
</Accordion>
</AccordionGroup>
## セキュリティとアクセスコントロール
<AccordionGroup>
<Accordion title="通信中および保存時に暗号化は使用されていますか。また、キー管理の運用方法とテナントデータの分離方法について教えてください。">
すべてのデータは、通信中および保存時の両方で暗号化されています。 テナントデータはテナントごとのスキーマ構成によって分離されており、暗号鍵は定期的にローテーションされています。
</Accordion>
<Accordion title="どのような目的で、どのような目的で、どのようにアクセスが承認され、ログされるのですか?">
Twenty のエンジニアリングおよびサポートチームは、問題の調査および解決のために、お客様のワークスペースへアクセスする場合があります。 ワークスペースの所有者がこれを管理します。サポートによるアクセスは、[Settings → General → Security]でいつでも無効化でき、一度オフにすると、再度オンにするまでオフのままです。
</Accordion>
<Accordion title="データに影響を与えるセキュリティインシデントが確認された後、インシデント通知プロセスとターゲット通知の期間はどのようなものですか?">
お客様のデータに影響を与えることが確認された個人データの侵害が発生した場合 我々は過度の遅延なしにあなたに通知しますし、いずれの場合でもそれを認識するようになってから48時間以内に。 当社の通知には、当時知られている範囲内での違反の性質が含まれます。 影響を受けるデータと個人のカテゴリーと概算の量、おそらく結果、そして取られるか計画された修復と緩和措置。 調査が進むにつれて、最新情報を提供します。
</Accordion>
</AccordionGroup>
## データの保存と削除
<AccordionGroup>
<Accordion title="個々のCRMレコードが削除されると、いつアクティブなシステムから削除されますか?">
レコードが削除されると、まずソフトデリートされ、この段階ではまだ復元が可能です。 保持期間が終了するか、ユーザーが手動で破棄した場合、そのレコードは完全に削除され、稼働中のシステムからも削除されます。
</Accordion>
<Accordion title="ソフトデリートされたレコードはシステム内にどのくらい保持されますか?">
デフォルトでは、ソフトデリートされたレコードは14日間保持され、その後システムから完全に削除されます。 ソフトデリートされたレコードの保持期間は、「Settings → General → Security」で変更できます。
</Accordion>
<Accordion title="どのくらいの期間、そのレコードがバックアップや技術的なログに残る可能性がありますか?">
削除されたレコードは30日間バックアップに保持され、その後完全に削除されます。
</Accordion>
<Accordion title="ワークスペースが閉じられている、または完全な削除が要求される場合、プロダクションデータ、添付ファイル、ログ、およびバックアップにどのような正確なタイムラインが適用されますか?">
ワークスペースが削除されると、そのデータは、サービス終了からおおよそ 90 日以内(通常はそれより早く)に本番環境のシステムから削除されます。 バックアップおよびアーカイブコピーは、その後さらに 90 日以内に上書きまたは消去され、その時点ですべてのデータは完全に削除されます。 これら両方の期間を通じて、データはすべての運用上の利用から隔離されています。 ご要望に応じて、パージ完了後に書面による証明書を提供できます。 完全な条件については、お客様のデータ処理契約書の第 4.9 条をご確認ください。
</Accordion>
<Accordion title="バックアップ保持期間中、運用アクセスから分離されたデータは削除され、使用されますか?">
はい、任意のバックアップ保持期間中に、削除されたデータは、運用中の使用から分離されます。
</Accordion>
<Accordion title="法律、請求、詐欺防止、セキュリティ、または監査目的で、データのカテゴリが長く保持されますか? もしそうなら、どのカテゴリーとどのくらいの期間ですか?">
データ保持に関する詳しい情報については、[当社のトラストセンター](https://trust.twenty.com/?tab=documents)で入手可能なデータ管理および保持ポリシーをご請求ください。
</Accordion>
<Accordion title="Twenty は、完全な削除要求が完了したときに書面による確認を提供できますか?">
削除要求を承認し、削除が完了したら書面による確認を提供します。
</Accordion>
</AccordionGroup>
## バックアップと回復力
<AccordionGroup>
<Accordion title="バックアップの頻度と保持期間は何ですか?">
バックアップは継続的に作成され、スナップショットは毎日取得されます。保持期間は30日間です。
</Accordion>
<Accordion title="Twenty Cloudの回復目標と回復時間の目標は何ですか?">
RTOとRPOはどちらも(当社のDPAによると)6時間です。
</Accordion>
<Accordion title="復元を要求または実行するためのプロセスは何ですか?">
リストアをリクエストする場合は、サポートチャット、または[contact@twenty.com](mailto:contact@twenty.com)宛てのメールで当社チームまでご連絡ください。
</Accordion>
<Accordion title="バックアップは暗号化され、プライマリワークスペースのデータと同じ領域に保存されますか?">
すべてのバックアップは暗号化され、同じ管轄内の地理的に別々の場所(EUデータなど)に保存されます。
</Accordion>
</AccordionGroup>
## コンプライアンス
<AccordionGroup>
<Accordion title="GDPRに準拠していますか?">
はい、[GDPR (GDPR)準拠](https://trust.twenty.com/?tab=securityControls\&frameworks=gdpr_v1)です。
</Accordion>
<Accordion title="20SOC 2は準拠していますか?">
はい、20 は [SOC 2 準拠](https://trust.twenty.com/?tab=securityControls\&frameworks=soc2_v1) です。
</Accordion>
<Accordion title="HIPAA に準拠していますか?">
いいえ、20はHIPAAに準拠する過程にあります。
</Accordion>
</AccordionGroup>
## ライセンスについて
<AccordionGroup>
<Accordion title="自分のチームの内部利用のために機能を追加する目的でコードを変更した場合、それらの変更を公表する必要はありますか?">
いいえ. 自分のチームのために修正版を実行しているだけであれば、それは配布には当たらないため、公表義務は発生しません。 AGPL のネットワーク条項は、組織外の人々がネットワーク経由であなたの変更済みインスタンスとやり取りする場合に適用されます。
</Accordion>
<Accordion title="別個のフロントエンドを作成し、Twenty をそのままバックエンドとして使用する場合でも、それらの変更を公表する必要がありますか?">
いいえ. あなたのフロントエンドは、あなた自身による独立した成果物であり、API を通じて Twenty と通信しても、その事実は変わりません。 Twenty 自体は変更されていないため、公表すべきものは何もありません。
</Accordion>
<Accordion title="再販するために機能を追加するなどしてコードを変更した場合、それらの変更を公表する必要がありますか?">
はい。コードを改変して他者に配布する以上、それらの変更を公表する義務があります。 変更内容を公表したくない場合は、Organization ライセンスを取得することができます。
</Accordion>
</AccordionGroup>
さらにご質問がある場合は、[利用規約](https://twenty.com/terms)、[プライバシーポリシー](https://twenty.com/privacy-policy)、[トラストセンター](https://trust.twenty.com/)をご確認ください。 それでもご不明点が解消しない場合は、[contact@twenty.com](mailto:contact@twenty.com) まで、またはサポートチャットからお問い合わせください。

View File

@@ -0,0 +1,12 @@
---
title: 法務
description: 法務関連の事項
---
[FAQ](/l/ja/user-guide/legal/how-tos/legal-faq)をご確認ください。
## 役立つリンク
* [利用規約](https://twenty.com/terms)
* [プライバシーポリシー](https://twenty.com/privacy-policy)
* [トラストセンター](https://trust.twenty.com/)

View File

@@ -0,0 +1,213 @@
---
title: 権限
description: ロールベースの権限でオブジェクト、フィールド、設定へのアクセスを制御します。
---
Twentyの権限システムにより、3つの主要な領域へのアクセスを制御できます:
* **オブジェクトとフィールド**: レコードと個々のフィールドを表示、編集、削除できる人を制御する
* **設定**: ワークスペースの構成および管理機能へのアクセスを管理する
* **アクション**: データのインポートやメールの送信など一般的なワークスペースアクションを制御する
## ロールの作成
新しい役割を作成するには:
1. **設定 → メンバー → 役割** に移動します
2. **すべての役割** で、 **+ 役割を作成** をクリック
3. 役割名を入力
4. デフォルトの**権限**タブで、[権限を設定](#customize-permissions)
5. **保存**をクリックして完了します
## 役割を削除する
役割を削除するには:
1. **設定 → メンバー → 役割** に移動します
2. 削除したい役割をクリック
3. **設定** タブを開き、 **役割を削除** をクリック
4. モーダルで **確認** をクリック
<Note>
ロールが削除されると、そのロールに割り当てられていたワークスペースメンバーは自動的にデフォルトのロールに再割り当てされます。 **管理者** ロール以外のすべてのロールは削除できます。 **管理者** 役割には常に少なくとも1人のメンバーが割り当てられている必要があります。
</Note>
## メンバーに役割を割り当てる
### 現在の割り当てを表示
* **設定 → メンバー → 役割** に移動します
* すべての役割と各役割に割り当てられているメンバー数を確認
* どのメンバーがどの役割を持っているかを表示
### メンバーに役割を割り当てる
1. **設定 → メンバー → 役割** に移動します
2. 割り当てたい役割をクリック
3. **割り当て** タブを開く
4. **+ メンバーに割り当てる** をクリック
5. リストからワークスペースメンバーを選択
6. 割り当てを確認する
### デフォルトの役割を設定する
1. **設定 → メンバー → 役割** に移動します
2. **オプション** セクションで **デフォルトの役割** を見つける
3. 新しいメンバーが自動的に受け取る役割を選択
4. 新しいワークスペースメンバーが参加するとき、この役割が割り当てられます
<Note>
ロールは既存のワークスペースメンバーにのみ割り当てできます。 新しいメンバーを招待するには、[メンバー管理](/l/ja/user-guide/settings/capabilities/member-management)を使用します。
</Note>
## 権限をカスタマイズする
権限は、ワークスペースのオブジェクト、レコード、設定、アクションなど、ワークスペース内で各ロールにアクセスまたは変更できるものを決定します。
### オブジェクトの権限
**オブジェクト**セクションでは、このロールがワークスペース全体のレコードに対して何ができるかを制御します。
#### デフォルトの権限を設定(すべてのオブジェクト)
まず、デフォルトで**すべてのオブジェクト**に適用されるベースライン権限を設定します。
| 権限 | 説明 |
| --------------------- | ------------------- |
| **全オブジェクトでレコードを表示する** | リストおよび詳細ページでレコードを表示 |
| **全オブジェクトでレコードを編集する** | 既存のレコードを変更 |
| **全オブジェクトでレコードを削除する** | レコードをソフト削除(復元可能) |
| **全オブジェクトでレコードを破棄する** | レコードを完全に削除 |
このロールのデフォルトの動作にすべき内容に基づいて選択または選択解除します。
<Note>
**例 — インターン ロール**: インターンは、デフォルトではすべてのオブジェクトを閲覧できるが編集はできないようにします。 "すべてのオブジェクトでレコードを表示"を有効にし、"すべてのオブジェクトでレコードを編集"は未選択のままにします。
</Note>
#### オブジェクトレベルの例外を追加
デフォルトを設定したら、**オブジェクトレベル**のサブセクションで特定のオブジェクトに対してデフォルトを上書きするルールを追加します。
**+ ルールを追加**をクリックし、オブジェクトを選択して例外を作成します。
**インターン ロールのルール例:**
| ルール | 効果 |
| ----------------------------- | ------------------------------------- |
| Opportunities → "レコードを表示"を無効化 | インターンはOpportunitiesオブジェクトをまったく閲覧できません |
| People → "レコードを編集"を有効化 | インターンはPeopleのレコードを編集できます(他のオブジェクトは不可) |
### 行レベルの権限
<Note>
行レベルの権限は、**プレミアム機能**であり、(クラウド版およびセルフホスト版の)**Organization**プランで利用できます。
</Note>
行レベルの権限を使用すると、動的な条件に基づいて、あるロールが閲覧または編集できる個々のレコードを制限できます。 オブジェクト権限(オブジェクト種別全体に適用される)とは異なり、行レベルの権限は各レコードを個別に評価します。
**ユースケース例:**
* 営業担当者は自分の商談のみを閲覧できる
* マネージャーは自分の担当地域内のすべてのレコードを閲覧できる
* サポート担当者は自分に割り当てられたチケットのみを閲覧できる
行レベルの権限を設定するには、ロールを開き、**Objects**タブに移動して、**Row-Level**セクションで特定のオブジェクトに対するフィルター条件を定義します。
### フィールドの権限
各オブジェクトレベルのルール内で、さらに踏み込んで特定のフィールドへのアクセスを制御するための**フィールドレベルの権限**を設定できます。
| 権限 | 説明 |
| ------------ | ------------ |
| **フィールドを表示** | フィールド値を表示 |
| **フィールドを編集** | フィールド値を変更 |
| **アクセス不可** | フィールドは完全に非表示 |
**例 — 機微なフィールドの制限:**
Peopleの編集権限を持つインターン ロールでは、特定のフィールドを制限したい場合があります。
* People → Email → **フィールドを表示**のみ(編集不可)
* People → Address → **アクセス不可**(完全に非表示)
これにより、インターンはPeopleのほとんどのフィールドを編集できる一方、機微情報は保護されます。
### 権限の継承のしくみ
権限は一般から個別へと段階的に適用されます。
1. **すべてのオブジェクト** → すべてのオブジェクトに対するベースラインを設定
2. **オブジェクトレベルのルール** → 特定のオブジェクトのベースラインを上書き
3. **フィールドレベルのルール** → 特定のフィールドについてオブジェクトの設定を上書き
より具体的な設定が常に優先されます。
### 権限オーバーライドを管理する
継承された権限を上書きするには:
1. 継承されたルールを削除するには **X** をクリック
2. 必要な特定の権限を選択
3. 変更を元に戻すには、オレンジ色の **元に戻す** アイコン(円形の矢印)をクリック
完了したら、役割ページにリダイレクトされたら **終了** をクリックし、**保存** をクリック。
### ワークスペース設定の権限
ワークスペース設定へのアクセスを2つの方法で制御する:
* **すべてのアクセスを設定** を切り替えて完全アクセスを許可する
* あるいは、特定の権限(例えば、APIキー生成、ワークスペース設定、役割割り当て、データモデル構成、セキュリティ設定、ワークフロー管理)を有効にする
<Note>
**現在の制限**: ワークフローを手動でトリガーするには、現在、ワークフロー管理へのアクセスが必要です。 この動作は今後のリリースで変更される可能性があります。
</Note>
### ワークスペースアクションの権限
一般的なワークスペースアクションへのアクセスを制御する:
* **すべてのアプリケーションのアクセス** を切り替えて完全な権限を与える
* あるいは、 **メール送信**, **CSVインポート**, **CSVエクスポート** などの個別のアクションを有効にする
## APIキーとAIエージェントにロールを割り当てる
ワークスペースメンバー以外にも、**API キー**や**AI エージェント**にロールを割り当てることができます。 これは、ワークスペース内で誰が何をできるかを正確に制御したいチーム、特に自動化プロセスや連携を含む場合に有用です。
### API キーとAI エージェントにロールを割り当てる理由
* **セキュリティ**: 自動化プロセスがアクセスまたは変更できる範囲を制限
* **コンプライアンス**: 連携が必要なデータのみに触れるようにする
* **制御**: 誤設定された自動化による偶発的なデータ変更を防止
* **監査可能性**: どの連携またはエージェントがどの操作を実行したかを追跡
### API キーにロールを割り当てる
1. **設定 → メンバー → 役割** に移動します
2. 割り当てたい役割をクリック
3. **割り当て** タブを開く
4. **API キー**セクションで、**+ API キーに割り当て**をクリック
5. リストからAPI キーを選択
6. 割り当てを確認する
そのAPI キーは、割り当てたロールで定義されたすべての権限を継承します。 このキーで行われるAPI 呼び出しは、それに応じて制限されます。
<Note>
ロールが割り当てられていないAPI キーはデフォルトの権限を使用します。 より厳格なセキュリティのため、本番のAPI キーには必ず特定のロールを割り当ててください。
</Note>
### AI エージェントにロールを割り当てる
1. **設定 → メンバー → 役割** に移動します
2. 割り当てたい役割をクリック
3. **割り当て** タブを開く
4. **AI エージェント**セクションで、**+ AI エージェントに割り当て**をクリック
5. リストからAI エージェントを選択
6. 割り当てを確認する
AI エージェントは、割り当てられたロールで許可されたデータへのアクセスと操作のみ実行できます。
<Note>
ワークフロー内で実行されるAI エージェントについては、ワークフローにより広い権限があっても、意図した範囲外のデータにアクセスまたは変更できないことを保証します。
</Note>

View File

@@ -0,0 +1,125 @@
---
title: SSO構成
description: 安全なエンタープライズ認証のためにシングルサインオンを構成します。
---
## SSO について
シングルサインオン(SSO)により、組織の ID プロバイダーを使用してチームメンバーが Twenty にログインできます。 これにより、次のことが可能になります:
* **一元的なアクセス制御**: 1 か所からアクセスを管理
* **強化されたセキュリティ**: 既存のセキュリティポリシーを活用
* **優れたユーザー体験**: すべてのツールで 1 組の認証情報を使用
## サポート対象のプロバイダー
Twenty は次の SSO をサポートしています:
* **SAML 2.0**: ほとんどのエンタープライズ ID プロバイダーで動作
* **Google Workspace**: Google を利用する組織向け
* **Microsoft Entra ID** (旧 Azure AD): Microsoft 環境用
## SSO のセットアップ
### 前提条件
* Organization プラン(クラウドおよびセルフホストのワークスペース)
* ID プロバイダーへの管理者アクセス権
* Twenty ワークスペースへの管理者アクセス
### 構成手順
#### 1. SSO 設定にアクセス
1. **設定 → セキュリティ** に移動します
2. **SSO 構成** セクションを見つけます
3. **SSO を構成** をクリック
#### 2) プロバイダーを選択
一覧から ID プロバイダーを選択するか、その他のプロバイダーの場合は「Custom SAML」を選択します。
#### 3. ID プロバイダーを構成
ID プロバイダーで次を設定する必要があります:
* **エンティティ ID**: Twenty が提供
* **ACS URL**: 認証用のコールバック URL
* **証明書**: セキュアな通信のため
#### 4. Twenty にプロバイダーの詳細を入力
* **SSO URL**: プロバイダーのログイン URL
* **エンティティ ID**: プロバイダーの識別子
* **証明書**: プロバイダーの X.509 証明書
#### 5. テストして有効化
1. セットアップを確認するには **構成をテスト** をクリック
2. テストが成功したら SSO を有効化します
3. ユーザー プロビジョニングの設定を行います
## ユーザー プロビジョニング
### ジャストインタイム(JIT)プロビジョニング
* 初回ログイン時にユーザーが自動作成されます
* ユーザーにはデフォルトの役割が自動的に割り当てられます
* 手動でユーザーを作成する必要はありません
### 手動プロビジョニング
* ログイン可能になる前にユーザーを招待します
* 特定のロールを事前に割り当てます
* 誰がワークスペースにアクセスできるかをより詳細に制御します
## SSO ユーザーの管理
### ロールの割り当て
SSO ユーザーには、通常のユーザーと同様にロールを割り当てられます:
1. **設定 → メンバー** に移動
2. ユーザーを見つけます
3. 必要に応じてロールを変更します
### アクセスの取り消し
SSO ユーザーのアクセスを削除するには:
* ID プロバイダーから削除する、または
* Twenty のワークスペースから削除します
## ベストプラクティス
### セキュリティ
* **SSO を必須にする**: SSO ユーザーのパスワードログインを無効化
* **定期的な監査**: 定期的にアクセスを見直す
* **強力な IdP ポリシー**: ID プロバイダーで MFA を強制
### ユーザー管理
* **明確な命名**: ディレクトリで一貫した命名を使用
* **グループ マッピング**: IdP のグループを Twenty のロールにマッピング(可能な場合)
* **オフボーディング プロセス**: デプロビジョニングのワークフローに Twenty を含める
## トラブルシューティング
### 一般的な問題
* **証明書エラー**: 証明書の有効期限が切れていないことを確認してください
* **URLの不一致**: ACSのURLが一致していることを確認してください
* **ユーザーが見つからない**: JIT プロビジョニングの設定を確認
### サポートを受ける
問題が発生した場合は、次の情報を添えてサポートにお問い合わせください:
* 受信したエラーメッセージ
* 使用している ID プロバイダー
* 構成の詳細(機微なデータを除く)
<Tip>
組織向けに SSO の設定が必要ですか? SSO とアイデンティティのセットアップを専門とする[認定済みの Twenty パートナーを探す](https://twenty.com/partners/list?categories=SOLUTIONING\&ref=docs-sso)。 *(Twenty に直接相談したい場合は、 [contact@20y.com](mailto:contact@twenty.com)*
</Tip>

View File

@@ -0,0 +1,120 @@
---
title: 権限に関するFAQ
description: ロールと権限に関するよくある質問。
---
## 役割
<AccordionGroup>
<Accordion title="Twenty にはデフォルトでどのようなロールがありますか?">
デフォルトでは、**管理者** と **メンバー** のロールが20個付いています。 チームのニーズに基づいて、追加のカスタムロールを作成できます(例: 営業担当、マネージャー、閲覧専用ユーザー)。
</Accordion>
<Accordion title="Admin ロールを削除できますか?">
いいえ、Admin ロールは削除できません。 Admin ロールには、常に少なくとも1人のメンバーが割り当てられている必要があります。
</Accordion>
<Accordion title="ロールを削除するとどうなりますか?">
そのロールに割り当てられているワークスペースメンバーは、自動的にデフォルトのロールに再割り当てされます。
</Accordion>
<Accordion title="新規メンバーのデフォルトロールはどのように設定しますか?">
**設定 → メンバー → 役割** に移動し、**Default Role** オプションを見つけ、参加時に新規メンバーに自動的に付与される役割を選択します。
</Accordion>
<Accordion title="1人のユーザーに複数のロールを割り当てることはできますか?">
いいえ、各ユーザーが同時に持てるロールは1つだけです。 権限の組み合わせが必要な場合は、カスタムロールを作成してください。
</Accordion>
</AccordionGroup>
## 権限
<AccordionGroup>
<Accordion title="オブジェクト権限とフィールド権限の違いは何ですか?">
* **オブジェクト権限**: レコード全体へのアクセスを制御します(例: People レコードの閲覧/編集/削除が可能)
* **フィールド権限**: オブジェクト内の特定のフィールドへのアクセスを制御します(例: Salary フィールドは閲覧のみで編集不可)
フィールド権限により、機密データをより細かく制御できます。
</Accordion>
<Accordion title="権限のオーバーライドはどのように機能しますか?">
権限は一般から個別へと段階的に適用されます。
1. **All Objects** はすべてのオブジェクトの基準を設定します
2. **Object-Level Permissions** は、特定のオブジェクトに対してグローバル設定を上書きできます
3. **Field-Level Permissions** は、特定のフィールドに対してオブジェクト設定を上書きできます
より具体的な設定が常に優先されます。
</Accordion>
<Accordion title="各権限レベルは何を意味しますか?">
オブジェクトの場合:
* **See Records**: リストや詳細ページでレコードを閲覧
* **Edit Records**: 既存のレコードを編集
* **Delete Records**: レコードをソフト削除(復元可能)
* **Destroy Records**: レコードを完全に削除
フィールドの場合:
* **See Field**: フィールド値を閲覧
* **Edit Field**: フィールド値を編集
* **No Access**: フィールドは完全に非表示
</Accordion>
<Accordion title="特定のレコードへのアクセスを制限できますか(行レベル権限)?">
行レベルの権限は **Organization** プランで利用できます。 これにより、条件に基づいて特定のレコードへのアクセスを制限できます(例: 自分の商談のみを閲覧)。
</Accordion>
<Accordion title="特定のユーザーに対してフィールドを読み取り専用にするにはどうすればよいですか?">
1. **設定 → メンバー → 役割** に移動します
2. ロールを選択
3. 該当フィールドを含むオブジェクトに移動
4. フィールド権限を **See Field** に設定します(Edit Field は付与しない)
</Accordion>
</AccordionGroup>
## 設定とアクション
<AccordionGroup>
<Accordion title="設定に関する権限には何がありますか?">
次の項目へのアクセスを制御できます:
* API キーの生成
* ワークスペースの設定
* ロールの割り当て
* データモデルの設定
* セキュリティ設定
* ワークフロー管理
**Settings All Access** を使ってフルアクセスを付与するか、特定の権限のみを有効にします。
</Accordion>
<Accordion title="アクションに関する権限には何がありますか?">
次の項目を制御できます:
* **Send Email**: Twenty からメールを送信できる
* **Import CSV**: CSV でデータをインポートできる
* **Export CSV**: データを CSV にエクスポートできる
**Application All Access** を使ってすべてのアクションを付与するか、必要なものだけを有効にします。
</Accordion>
</AccordionGroup>
## SSO
<AccordionGroup>
<Accordion title="SSO はすべてのプランで利用できますか?">
いいえ、SSO は **Organization** プランでのみ利用可能なプレミアム機能です。
</Accordion>
<Accordion title="どのアイデンティティプロバイダーがサポートされていますか?">
Twenty は次のものをサポートしています:
* **SAML 2.0**(多くのエンタープライズ向けアイデンティティプロバイダーで動作)
* **Google Workspace**
* **Microsoft Entra ID**(旧 Azure AD)
</Accordion>
<Accordion title="Just-in-Time(JIT)プロビジョニングとは何ですか?">
JIT プロビジョニングでは、ユーザーが初めて SSO でログインした際に、Twenty にユーザーアカウントが自動作成されます。 デフォルトのロールが自動的に割り当てられます。
</Accordion>
<Accordion title="すべてのユーザーに SSO を必須にできますか?">
はい、SSO を設定すると、SSO ユーザーのパスワードログインを無効化し、アイデンティティプロバイダーを通じた認証を強制できます。
</Accordion>
</AccordionGroup>

View File

@@ -0,0 +1,34 @@
---
title: 権限とアクセス
description: ワークスペースのロール、権限、およびアクセス制御を管理します。
---
Twentyの権限システムは、ワークスペース内のデータに誰がアクセスし、変更できるかを制御できます。 ロールを作成し、権限を割り当て、安全なアクセスのためにSSOを構成します。
## このセクションの内容
<CardGroup cols={2}>
<Card title="権限" icon="lock" href="/l/ja/user-guide/permissions-access/capabilities/permissions">
ロールを作成し、オブジェクト、フィールド、設定の権限を構成します。
</Card>
<Card title="SSO構成" icon="key" href="/l/ja/user-guide/permissions-access/capabilities/sso-configuration">
アイデンティティプロバイダーでシングルサインオンを設定します。
</Card>
<Card title="よくある質問" icon="circle-question" href="/l/ja/user-guide/permissions-access/how-tos/permissions-faq">
ロール、権限、SSOに関するよくある質問。
</Card>
</CardGroup>
## 主な機能
* **ロールベースのアクセス**: 特定の権限を持つカスタムロールを作成
* **オブジェクト権限**: レコードを表示、編集、または削除できるユーザーを制御
* **フィールド権限**: 機微なフィールドへのアクセスを制限
* **設定権限**: ワークスペースの構成へのアクセスを制御
* **SSO統合**: エンタープライズセキュリティのためにシングルサインオンを構成(Organization プラン)
## クイックリンク
* [ロールを作成](/l/ja/user-guide/permissions-access/capabilities/permissions#create-a-role)
* [SSOを構成](/l/ja/user-guide/permissions-access/capabilities/sso-configuration)
* [チームメンバーを管理](/l/ja/user-guide/settings/capabilities/member-management)

View File

@@ -0,0 +1,36 @@
---
title: コミュニティ - 設定
description: Twenty で早期アクセス機能を有効にします。
---
## コミュニティ設定について
「コミュニティ」セクションでは、一般提供前の早期アクセス機能を有効化できるほか、Twenty パートナーを検索できます。
## 早期アクセス機能
早期アクセス機能は、一般提供に先立って検証中の機能です。
**現在早期アクセス中:**
* **ジャンクションリレーション** — 多対多リレーション
### 早期アクセス機能を有効にする方法
1. **設定 → コミュニティ** に移動します
2. **Features** セクションに移動します
3. 有効にしたい機能を見つけます
4. オンに切り替えます
5. 機能はすぐに利用可能になります
<Note>
早期アクセス機能は、ユーザーからのフィードバックに基づいて変更される場合があります。 皆さまのフィードバックは Twenty の改善に役立ちます!
</Note>
## 機能のフィードバック
皆さまのフィードバックは Twenty の改善に役立ちます:
* 早期アクセス機能の問題を報告してください
* 新機能をどのように使っているかを共有してください
* [コミュニティ Discord](https://discord.gg/cx5n4Jzs57) で改善案を提案してください

View File

@@ -0,0 +1,52 @@
---
title: ドメイン設定
description: ワークスペースのドメイン、承認済みアクセスドメイン、およびアプリのカスタムドメインを構成します。
---
ドメイン設定は、設定内容に応じて 3 か所に分かれています。
## ワークスペースドメイン
**設定 → 一般**で設定します。
サブドメイン名を編集するか、ワークスペース用にカスタムドメインを設定します。
### ドメインをカスタマイズ
1. **Subdomain** をクリックしてサブドメインを編集します(例: `yourcompany.20y.com`)
2. または、**カスタムドメイン** をクリックしてカスタムドメインを設定します(例: `crm.yourcompany.com`)
カスタムドメインの場合は、ドメインプロバイダー側で DNS 設定を構成する必要があります。
## 承認されたドメイン
**設定 → メンバー → 招待** で設定します。
会社ドメインを追加して、チームメンバーがこのワークスペースに自動的にサインアップできるようにします。
### 承認されたアクセスドメインを追加
1. **Add Approved Access Domain** をクリック
2. 会社のドメインを入力します(例: `yourcompany.com`)
3. 保存
設定が完了すると、そのドメインのメールアドレスを持つユーザーは、直接の招待なしにあなたのワークスペースに参加できます。
<Note>
これにより、ワークスペースを組織内に限定したまま、チーム全体が自己登録できるため便利です。
</Note>
## アプリのカスタムドメイン
**Settings → Apps → your app → Settings → App URL** で設定します。
Web 上でルートを公開するアプリは、専用の URL から配信され、これは **App URL** セクションに表示されます。 代わりに、自分が所有しているドメインからアプリを配信できます。
### カスタムドメインを追加
1. **カスタムドメイン** をクリックします。
2. 使用したいドメインを入力します(例: `app.yourcompany.com`)
3. 指示に従って DNS 設定を構成します
4. ドメインを検証します
そのアプリのルートのみがそのドメインから到達可能になります。 SSL 証明書は自動的にプロビジョニングされます。

View File

@@ -0,0 +1,38 @@
---
title: エクスペリエンス設定
description: インターフェーステーマや地域の設定をカスタマイズします。
---
**設定 → エクスペリエンス** で、Twenty のエクスペリエンスをパーソナライズできます。
## 外観
ビジュアルテーマを選択してください:
* **ライト**:クリーンで明るいインターフェース
* **ダーク**:光が少ない条件で目に優しい
* **システム設定**:デバイスのテーマに自動的に合わせます
## 言語
Twenty インターフェースの表示言語をドロップダウンメニューから選択してください。
## 形式
日付、時間、数値、タイムゾーン、カレンダーの開始日を設定します。
| 設定 | 説明 |
| ------------- | --------------------------------- |
| **タイムゾーン** | 正確なタイムスタンプとスケジューリングのためのローカルタイムゾーン |
| **日付形式** | 日付の表示形式(例:Dec 12, 2025) |
| **時間形式** | 12時間制(午後7:22)または24時間制 |
| **数字の形式** | 小数点と桁区切り(例:1,234.56) |
| **カレンダーの開始日** | 週の開始曜日(日曜日または月曜日) |
各設定は**システム設定**にするとデバイスの設定に自動的に合わせられます。特定の形式を選択することもできます。
## 更新方法
1. **設定 → エクスペリエンス** へ移動
2. 各セクションで好みを調整します
3. 変更は自動的に保存されます

View File

@@ -0,0 +1,86 @@
---
title: メンバー管理
description: チームメンバーを招待し、ワークスペースのアクセスを管理します。
---
**設定 → メンバー** で、ワークスペースにアクセスできるユーザーを管理します。
## 新規メンバーを招待
### メール招待を使用する
1. **設定 → メンバー → 招待** に移動します
2. **+ 招待** をクリック
3. その人のメールアドレスを入力
4. 新しいメンバーのロールを選択します。
5. **招待を送信** をクリック
招待されたユーザーには、ワークスペースに参加するためのリンクが記載されたメールが届きます。
### 招待リンクを使用する
1. **設定 → メンバー → 招待** に移動します
2. ワークスペースの招待リンクをコピー
3. 新しいチームメンバーにリンクを共有
4. サインアップするとアクセスできるようになります
## メンバーの表示と管理
### すべてのメンバーを表示
**設定 → メンバー → チーム** に移動して、すべてのアクティブなメンバーを表示
保留中の招待状を表示するには、\*\*設定 → メンバー → 招待
### メンバーのプロフィールを編集
メンバーをクリックしてプロフィールページを開きます。 管理者として、以下が可能です:
* **名前** を編集
* **プロフィール画像** を更新
* **代理ログイン** でそのアカウントとして操作 (トラブルシューティングに便利)
* そのアカウントを **削除**
### メンバーのロールを変更
メンバーのプロフィールページで:
1. **権限** タブを開く
2. 現在割り当てられているロールを表示
3. ドロップダウンメニューから別のロールを選択します。
4. 変更は即時に反映されます
→ [ロールと権限の詳細](/l/ja/user-guide/permissions-access/capabilities/permissions)
### メンバーを削除
1. メンバーをクリックしてプロフィールを開きます。
2. ワークスペースから削除するには、**アカウントを削除**をクリックしてください
<Warning>
削除されたメンバーは直ちにアクセス権を失います。 そのデータ(レコード、メモ、タスク)はワークスペースに残ります。
</Warning>
<Note>
削除されたメンバーの電子メールとカレンダーのイベントはアーカイブされ、他のメンバーが利用できます。
</Note>
## 保留中の招待
未承諾の招待を管理します:
* **再送**: 招待メールを再送します
* **キャンセル**: 承諾前の招待を取り消します
## 承認されたアクセスドメイン
メールドメインに基づき、チームメンバーが自動参加できるようにします:
1. **設定 → メンバー → 招待** に移動します
2. 会社のドメインを追加します(例: `yourcompany.com`)
3. そのメールドメインを持つユーザーは、招待なしで参加できます。
## 関連
* [権限](/l/ja/user-guide/permissions-access/capabilities/permissions) — 各ロールでできることを設定
* [Domain Settings](/l/ja/user-guide/settings/capabilities/domains-settings) — 承認されたドメインを構成する

View File

@@ -0,0 +1,44 @@
---
title: プロフィール設定
description: 個人プロフィールとセキュリティ設定を管理します。
---
## 個人情報
### 名前とメールアドレス
* **表示名**: 他のワークスペースメンバーに見える名前を更新する
* **メールアドレス**: ログインメールを変更する(確認が必要)
* **プロフィール画像**: カスタムアバターをアップロードするか、イニシャルを使用します
## セキュリティ設定
### 二要素認証 (2FA)
アカウントに追加のセキュリティ層を追加するために2FAを有効にします:
1. **設定 → プロフィール** に移動
2. **認証アプリ** をクリックします。
3. 認証アプリでQRコードをスキャンします
4. 確認するために認証コードを入力します
### パスワード管理
* **パスワードを変更**: 現在のパスワードを更新
* **パスワードの要件**: 少なくとも8文字である必要があります
## プロフィール管理
### アカウント削除
<Warning>
アカウントを削除すると、すべてのワークスペースへのアクセスが永続的に削除されます。 この操作は元に戻すことができず、メンバーであるすべてのワークスペースへのアクセスを失います。特定のチームからのみ退出したい場合は、代わりに個別のワークスペースを退出することを検討してください。
この操作は元に戻せません。 メンバーとして参加しているすべてのワークスペースへのアクセス権を失います。 特定のチームからのみ退出したい場合は、代わりに個別のワークスペースから退出することを検討してください。
</Warning>
アカウントを削除するには:
1. **設定 → プロフィール** に移動
2. **危険地帯**までスクロールします
3. **アカウント削除**をクリックします
4. メールアドレスを入力して確認します

View File

@@ -0,0 +1,30 @@
---
title: ワークスペース設定
description: ワークスペースの名前とブランディングをカスタマイズする。
---
ワークスペースの画像、名前、削除オプションはすべて、**設定 → 一般**でアクセスできます。
## ワークスペースの画像
* **ロゴをアップロード**: カスタムワークスペースのロゴを追加する
* **対応形式**: 10MB以下のPNG、JPEG、GIFファイル
* **削除**: 現在のワークスペースロゴを削除する
## ワークスペース名
* **名前**: ワークスペースの表示名を変更する
* この名前は全てのワークスペースメンバーに表示されます
## 危険ゾーン
<Warning>
ワークスペースを削除すると、すべてのデータが削除され、直ちにすべてのメンバーのアクセス権が取り消されます — この操作は元に戻すことはできません。
</Warning>
ワークスペースを削除するには:
1. **ワークスペースを削除**ボタンをクリックしてください
2. プロンプトが表示されたら削除を確認する
**注**: ワークスペースを削除できるのは、ワークスペース管理者だけです。

View File

@@ -0,0 +1,171 @@
---
title: 設定FAQ
description: Twenty の設定に関するよくある質問。
---
## ワークスペース設定
<AccordionGroup>
<Accordion title="ワークスペース名を変更するにはどうすればよいですか?">
1. **設定 → 一般** に移動
2. ワークスペース名の項目を見つけます
3. 新しい名前を入力します
4. 変更は自動的に保存されます
</Accordion>
<Accordion title="ワークスペースのロゴを更新するにはどうすればよいですか?">
1. **設定 → 一般** に移動
2. 現在のロゴまたはアップロードエリアをクリックします
3. 画像ファイル(PNG、JPEG、または 10MB 未満の GIF)を選択します
4. ロゴはすぐに更新されます
</Accordion>
<Accordion title="複数のワークスペースを持てますか?">
はい、複数のワークスペースを作成し、メンバーになることができます。 各ワークスペースは独自のデータ、設定、サブスクリプションを持ちます。
</Accordion>
<Accordion title="ワークスペースを削除するにはどうすればよいですか?">
1. **設定 → 一般** に移動
2. 危険地帯までスクロールします
3. **ワークスペースを削除**をクリックします
4. 削除を確認します
注意:これによりすべてのデータが永久に削除され、元に戻せません。
</Accordion>
<Accordion title="誤って複数のワークスペースを作成してしまいました。 どうすればよいですか?">
不要なワークスペースは **設定 → 一般 → ワークスペースを削除**から削除してください。
<Warning>
**アカウント**を削除しないでください(設定 → プロフィールからアクセス可能):アカウントはすべてのワークスペースで共有されています。 アカウントを削除すると、すべてのワークスペースへのアクセスを失います。
</Warning>
</Accordion>
<Accordion title="削除せずにワークスペースを無効化するにはどうすればよいですか?">
ワークスペースを一時的に無効にしたい場合(完全に削除するのではなく)、**設定 → 請求** に移動して**プランをキャンセル**をクリックします。 データは猶予期間中保持されます。
</Accordion>
</AccordionGroup>
## プロフィール設定
<AccordionGroup>
<Accordion title="パスワードを変更するにはどうすればよいですか?">
1. **設定 → プロフィール** に移動
2. **パスワード** セクションを見つけます
3. 現在のパスワードを入力します
4. 新しいパスワードを入力します
5. 変更を保存します
</Accordion>
<Accordion title="二要素認証を有効にするにはどうすればよいですか?">
1. **設定 → プロフィール** に移動
2. **2FA** セクションを見つけます
3. **2FA有効化**をクリック
4. 認証アプリでQRコードをスキャンします
5. 認証コードを入力します
</Accordion>
<Accordion title="メールアドレスを変更できますか?">
メールアドレスの変更をご希望の場合は、[contact@twenty.com](mailto:contact@twenty.com) までご連絡ください。
</Accordion>
<Accordion title="アカウントを削除するにはどうすればよいですか?">
1. **設定 → プロフィール** に移動
2. 危険地帯までスクロールします
3. **アカウント削除**をクリックします
4. メールアドレスを入力して確認します
注意:これにより、すべてのワークスペースへのアクセスが削除され、接続済みアカウントから同期されたすべてのメールが削除されます。
</Accordion>
</AccordionGroup>
## エクスペリエンス設定
<AccordionGroup>
<Accordion title="ライトモードとダークモードを切り替えるにはどうすればよいですか?">
1. **設定 → エクスペリエンス** に移動
2. **テーマ** セクションを見つけます
3. ライト、ダーク、またはシステムを選択します
</Accordion>
<Accordion title="日付形式を変更するにはどうすればよいですか?">
1. **設定 → エクスペリエンス** に移動
2. 日付形式を見つけます
3. 希望の形式を選択します
4. 変更はすぐに反映されます
</Accordion>
<Accordion title="タイムゾーンを変更するにはどうすればよいですか?">
1. **設定 → エクスペリエンス** に移動
2. タイムゾーンを見つけます
3. 自分の地域のタイムゾーンを選択します
4. すべてのタイムスタンプが調整されます
</Accordion>
<Accordion title="言語を変更できますか?">
1. **設定 → エクスペリエンス** に移動
2. 言語を見つけます
3. 利用可能な言語から選択します
4. インターフェースは選択に合わせて更新されます
</Accordion>
</AccordionGroup>
## アカウント設定
<AccordionGroup>
<Accordion title="メールアカウントを接続するにはどうすればよいですか?">
1. **設定 → アカウント** に移動します
2. **アカウントを追加**をクリックします
3. Google または Microsoft を選択します
4. アクセスを承認します
5. 同期設定を構成します
</Accordion>
<Accordion title="複数のメールアカウントを接続できますか?">
はい、複数のメールアカウントを接続できます。 **設定 → アカウント** に移動し、必要に応じてアカウントを追加してください。
</Accordion>
<Accordion title="メールアカウントの接続を解除するにはどうすればよいですか?">
1. **設定 → アカウント** に移動します
2. 接続を解除するアカウントを見つけます
3. **接続を解除**をクリックします
4. 操作を確認します
</Accordion>
</AccordionGroup>
## ドメイン
<AccordionGroup>
<Accordion title="ワークスペースドメインをカスタマイズできますか?">
はい! **設定 → 一般 → ワークスペースドメイン** に移動し、**ドメインをカスタマイズ**をクリックします。 次の 2 つの選択肢があります:
* **サブドメイン**:`yourcompany.twenty.com` のような Twenty のサブドメインを使用します
* **カスタムドメイン**:`crm.yourcompany.com` のような独自ドメインを使用します(DNS の設定が必要)
サブドメインはすぐに設定できますが、カスタムドメインはチーム向けに完全なブランド体験を提供します。
</Accordion>
<Accordion title="承認されたアクセスドメインはどのように機能しますか?">
会社のメールアドレスを持つチームメンバーが自動的にあなたのワークスペースに参加できるよう、承認されたアクセスドメインを構成できます。 **設定 → メンバー → 招待** に移動し、会社のドメイン(例:`yourcompany.com`)を追加します。
</Accordion>
</AccordionGroup>
## 早期アクセス機能
<AccordionGroup>
<Accordion title="早期アクセス機能とは何ですか?">
早期アクセス機能は、一般提供に先立って検証中の機能です。
</Accordion>
<Accordion title="早期アクセス機能は安全に使用できますか?">
早期アクセス機能は機能的で安全に使用できますが、一般提供前にユーザーからのフィードバックに基づいて変更が生じる場合があります。
</Accordion>
<Accordion title="早期アクセス機能を有効にするにはどうすればよいですか?">
1. **設定 → コミュニティ** に移動
2. **機能** セクションまでスクロールします。
3. 有効にしたい機能を見つけます
4. オンに切り替えます
5. 機能はすぐに利用可能になります
</Accordion>
</AccordionGroup>

View File

@@ -0,0 +1,62 @@
---
title: 設定
description: 必須の設定を行い、Twenty のワークスペースをセットアップします。
---
## 初期セットアップ
ワークスペースを初めて作成するとき、設定すべき重要な項目がいくつかあります。
### ワークスペース名とロゴ
1. **設定 → 一般** に移動
2. ワークスペース名を更新します
3. 会社のロゴをアップロードします
4. 変更を保存します
### タイムゾーンと日付形式
1. **設定 → エクスペリエンス** に移動
2. タイムゾーンを選択します
3. 希望の日付形式を選択します
4. 変更を保存します
## 基本設定
### メールとカレンダーの連携
メールとカレンダーの同期:
1. **設定 → アカウント** に移動します
2. **アカウントを追加**をクリックします
3. Google または Microsoft アカウントを接続します
4. 同期設定を構成します
→ [メールとカレンダー設定の完全ガイド](/l/ja/user-guide/calendar-emails/overview)
### チームを招待
ワークスペースにチームメンバーを追加します:
1. **設定 → メンバー** に移動
2. **+ 招待** をクリック
3. メールアドレスを入力します
4. 適切なロールを割り当てます
<Note>
チームを招待する前に、**設定 → メンバー → ロール** でデフォルトのロールを確認してください。 新しいメンバーが参加すると、このロールが自動的に割り当てられます。
</Note>
## ワークスペース設定チェックリスト
* ワークスペース名とロゴを設定済み
* タイムゾーンと日付形式を設定済み
* メールとカレンダーを連携済み
* チームメンバーを招待済み
* ロールと権限を設定済み
## 次のステップ
* [ワークスペース設定](/l/ja/user-guide/settings/capabilities/workspace-settings)
* [プロフィール設定](/l/ja/user-guide/settings/capabilities/profile-settings)
* [エクスペリエンス設定](/l/ja/user-guide/settings/capabilities/experience-settings)

View File

@@ -0,0 +1,46 @@
---
title: カレンダー表示
description: 日付フィールドのあるレコードをカレンダーに表示します。
---
## カレンダービューについて
カレンダービューは、日付フィールドに基づいてレコードをカレンダー上に表示します。 各レコードは、対応する日付にイベントとして表示されます。
<img src="/images/user-guide/views/calendar-view-zoom.png" style={{width:'100%'}} />
## カレンダービューの作成
1. 日付フィールドのあるオブジェクトに移動します
2. ビューのドロップダウンをクリックし、**+ ビューを追加**を選択します
3. ビューに名前を付け、**作成**をクリック
4. 右側の**オプション**を開きます
5. レイアウトとして**カレンダー**を選択します
6. レコードの配置に使用する**日付フィールド**を選択します
7. **ビューを更新**をクリックします
## カレンダーの設定
### 日付フィールドを選択
**オプション**で、カレンダー上の表示位置を決定する日付フィールドを選択します。
### 表示するフィールド
各カレンダーイベントに表示するフィールドを設定します:
1. **オプション → フィールド**をクリックします
2. フィールドのオン/オフを切り替えます
3. ドラッグして並べ替えます
## ユースケース
* **会議と通話**: 今後の予定を表示
* **期限**: 期日やクローズ日を追跡
* **イベント**: 予定された活動の計画と可視化
* **フォローアップ**: タスクの期日を確認
## 関連
* [ビューの概要](/l/ja/user-guide/views-pipelines/overview) — ビューの作成と管理
* [フィルターと並べ替え](/l/ja/user-guide/views-pipelines/capabilities/filters-and-sorting) — カレンダーデータのフィルタリング

View File

@@ -0,0 +1,52 @@
---
title: フィールドと列
description: 表示するフィールドと整理方法を選択します。
---
## 表示するフィールドの選択
各ビューは異なるフィールドセットを表示できます。 表示内容をカスタマイズして、重要な情報に集中できます。
### フィールドの表示/非表示
1. 右上の **Options** をクリックします
2. **Fields** をクリックします
3. 各フィールドの横にある **目のアイコン** をクリックして表示/非表示を切り替えます
### フィールドの並べ替え
ビュー内でのフィールドの表示順を変更します:
1. **Options → Fields** をクリックします
2. フィールドを上下にドラッグします
3. 変更は自動的に保存されます
## ビュータイプ別のフィールド表示
### テーブルビュー
* フィールドは列として表示されます
* 列の境界をドラッグしてサイズを変更します
### カンバンビュー
* フィールドはカード上に表示されます
* Options → Fields で並べ替えます
* Compact ビューを使用してすべてのフィールドを非表示にします
### カレンダー表示
* 選択したフィールドがカレンダーイベントに表示されます
* Options → Fields で設定します
## ベストプラクティス
* **必要なものだけを表示** — あまりにも多くのフィールドが表示されます
* **重要なフィールドを先頭に** — よく使う列を左側に
* **複数のビューを作成** — 用途に応じて異なるフィールドセットを用意できます
* **ビューごとにフィールドの表示を設定** — 同じオブジェクトでもフォーカスを変えられます
## 関連
* [テーブルビュー](/l/ja/user-guide/views-pipelines/capabilities/table-views) — リストビューの機能
* [カンバンビュー](/l/ja/user-guide/views-pipelines/capabilities/kanban-views) — カードベースのビュー

View File

@@ -0,0 +1,78 @@
---
title: フィルターと並べ替え
description: 必要なものを正確に見つけるために、レコードをフィルターし、並べ替えます。
---
## データのフィルタリング
フィルターは、条件に一致するレコードだけを表示することで、特定のレコードに集中できるようにします。
### フィルターの追加
1. ツールバーの **Filter** ボタンをクリックします。
2. フィルター対象のフィールドを選択します。
3. 演算子(等しい、含むなど)を選択します。
4. フィルターの値を入力します。
5. **Apply** をクリックします。
### フィルター演算子
| フィールドタイプ | 利用可能な演算子 |
| -------- | --------------------- |
| テキスト | 等しい、含む、で始まる、で終わる、空である |
| 数 | 等しい、より大きい、より小さい、空である |
| 日付 | 等しい、以前、以後、空である |
| 選択 | 等しい、いずれかに一致する、空である |
| チェックボックス | 真である、偽である |
| リレーション | 等しい、空である |
### 複数のフィルター
複数のフィルターを組み合わせて結果を絞り込みます:
* すべてのフィルターは AND ロジックで適用されます
* フィルターを追加するたびに結果がさらに絞り込まれます
### フィルターの削除
* 各フィルターチップの **X** をクリックします。
* **Clear all** をクリックしてすべてのフィルターを削除します。
## データの並べ替え
並べ替えにより、レコードの表示順が決まります。
### 並べ替えの追加
1. ツールバーの **Sort** ボタンをクリックします。
2. 並べ替え対象のフィールドを選択します。
3. 昇順 (A-Z, 0-9) または降順 (Z-A, 9-0) を選択します。
4. **Apply** をクリックします。
### 複数の並べ替え
複数の並べ替えレベルを追加します:
* 最初の並べ替えが優先されます
* 以降の並べ替えは同一値のグループ内で適用されます
### 列のクイック並べ替え
列ヘッダーをクリックして並べ替えます:
* 1回目のクリック: 昇順
* 2回目のクリック: 降順
* 3回目のクリック: 並べ替えを解除
## フィルターと並べ替えの設定を保存
フィルターと並べ替えはビューと一緒に保存されます:
1. フィルターと並べ替えを設定します
2. 現在のビューを更新するには **Save** をクリックします。
3. または **Save as new view** をクリックして別バージョンを作成します。
## 関連
* [テーブルビュー](/l/ja/user-guide/views-pipelines/capabilities/table-views) — グループ化機能
* [ビューの概要](/l/ja/user-guide/views-pipelines/overview) — ビューの作成と管理

View File

@@ -0,0 +1,98 @@
---
title: カンバンボードビュー
description: カンバンビューを使用してワークフローを可視化し、管理する方法を学びましょう。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## カンバンビューについて
カンバンビューはプロセスフローを視覚的にマッピングするもので、各列がそれぞれ異なるステージを表し、各カードがレコードを表します。
## カードをステージ間で移動
カードはワークフローの進行に合わせて、カードをクリックして押し続け、次のステージまでドラッグすることでステージ間を移動できます。
<VimeoEmbed videoId="927888627" title="デモ動画" />
## ステージの追加と削除
ステージ(それぞれがセレクトフィールドの値を表します)を使って、ニーズに合わせてワークフローを調整できます。
### ステージを追加する
ステージを追加するには、「設定 > データモデル」に移動し、オブジェクトを選択し、カンバンボードが依存するフィールドを選択して、セレクトフィールド設定にアクセスします。
<VimeoEmbed videoId="927890428" title="デモ動画" />
### ステージを削除する
ステージを削除するには、ステージ名または `⋮` アイコンにカーソルを合わせ、セレクトフィールド設定で `Edit from settings` をクリックし、該当ステージの横にある **削除** をクリックします。
## 表示するフィールド
カンバンボードを構成し、いくつかのフィールドを表示または隠すことができます。 フィールドを表示または非表示にするには、右上の **Options** をクリックし、続いて **Fields** をクリックしてオプションの一覧を表示し、フィールドの横にある目のアイコンをクリックして表示/非表示を切り替えます。
フィールドの順序を並べ替える場合は、フィールド名を押し続けて、希望の場所にドラッグします。
<img src="/images/user-guide/kanban-views/filter.png" style={{width:'100%'}} />
## コンパクトビュー
すべてのフィールドを非表示にして、一目で全レコードの概要を把握できます。 有効にするには:
1. 右上の **Options** をクリックします
2. **Compact view** のトグルをオンにします
<img src="/images/user-guide/kanban-views/compact-view.png" style={{width:'100%'}} />
## 列の集計
カンバンビューの各列では上部に集計値を表示でき、一目でデータを把握できます。
### 利用可能な集計
| 集計 | 説明 |
| -------- | ------------------ |
| **カウント** | 列内のレコード数 |
| **合計** | 数値フィールドの合計(例:商談金額) |
| **平均** | 数値フィールドの平均値 |
| **最小** | 最小値 |
| **最大** | 最大値 |
### 集計の設定
1. 列の上部にあるステージ値の横に表示されている数値をクリックします
2. 集計タイプを選択します
3. 集計するフィールドを選択します
**例:** Amount フィールドを合計で集計し、ステージごとの商談総額を表示します。
## カンバンビューを使うタイミング
カンバンビューは次の用途に最適です:
* **営業パイプライン**: リードからクローズまで、ステージごとに商談を追跡
* **プロジェクト管理**: ワークフローの状態ごとにタスクを追跡
* **採用**: 採用ステージごとに候補者を追跡
* **ステージを持つあらゆるプロセス**: 定義済みステージでワークフローを可視化
## ベストプラクティス
### ステージを整理する
* **ステージ数を絞る**: 可視性の観点では 5~7 ステージが理想的
* **明確な命名**: 説明的なステージ名を使用
* **論理的な順序**: プロセス順にステージを並べる
### カード表示を最適化
* **主要フィールドを表示**: 最重要情報のみを表示
* **コンパクトビューを使用**: 俯瞰的な概要に最適
* **色分け**: ステージの色でステータスを素早く識別
### データ品質を維持
* **定期的に更新**: カードがステージを移動し続けるようにする
* **完了をアーカイブ**: クローズ済みの項目をアクティブビューから移動
* **滞留カードを見直す**: ステージで停滞しているカードをフォローアップする

View File

@@ -0,0 +1,64 @@
---
title: テーブルビュー
description: データをスプレッドシートのような一覧形式で表示します。
---
## テーブルビューについて
テーブルビューはスプレッドシートのように、カスタマイズ可能な列を持つ行でレコードを表示します。 これは、ほとんどのオブジェクトのデフォルトのビュータイプです。
<img src="/images/user-guide/table-views/table-view.png" style={{width:'100%'}} />
## 機能
### 列の設定
* 列(フィールド)の表示/非表示
* 列の幅を変更します
* ドラッグして列の順序を変更します
### 選択フィールドでグループ化
選択タイプのフィールドに基づいて、レコードを折りたたみ可能なグループに整理します。
<img src="/images/user-guide/table-views/table-group-by.png" style={{width:'100%'}} />
1. **オプション** をクリックします
2. **グループ** を選択します
3. 選択フィールドを選択します
4. **オプション → グループ → 並べ替え** でグループの順序を設定します:
* **アルファベット順** または **逆アルファベット順**
* **手動の順序**: 「表示グループ」内でグループをドラッグして並べ替えます
* グループの横にある **目のアイコン** をクリックして非表示にします
**ユースケース:**
* グループ会社の種類
* 案件をステージ別にグループ化
* タスクをステータス別にグループ化
<Note>
**最適なパフォーマンスのため、1つのビューで表示するグループは10〜15に制限してください。** それ以上が必要な場合は、代わりにダッシュボードの使用を検討してください。
</Note>
### 列の幅
表示内容を増減できるように列のサイズを変更します:
1. 2つの列ヘッダーの間にカーソルを置きます
2. 列の境界をクリックしてドラッグします
3. 離して新しい幅を確定します
## テーブルビューを使うタイミング
テーブルビューが最適なのは次の場合です:
* **大規模データセットの閲覧** — 多数のレコードを素早く確認できます
* **データ入力** — 複数のレコードを効率的に編集できます
* **詳細な分析** — 多くのフィールドを一度に確認できます
* **並べ替えとフィルタリング** — 特定のレコードを見つけることができます
## 関連
* [フィールドと列](/l/ja/user-guide/views-pipelines/capabilities/fields-and-columns) — 表示するフィールドの設定
* [フィルターと並べ替え](/l/ja/user-guide/views-pipelines/capabilities/filters-and-sorting) — レコードの絞り込み

View File

@@ -0,0 +1,74 @@
---
title: 表示設定
description: ビューの表示範囲、名称、アイコン、整理を管理します。
---
## ビューの可視性
カスタムビューを誰が閲覧できるかを管理します。
### 表示範囲のオプション
| 設定 | 誰が閲覧できるか |
| ----------- | ------------- |
| **ワークスペース** | ワークスペースの全メンバー |
| **非公開** | 自分のみ |
### 表示範囲を変更する
1. ビューを開きます
2. **オプション → 表示範囲**をクリックします
3. **ワークスペース** または **非公開** を選択します
<Note>
デフォルトの "All [Object Name]" ビューは表示範囲を変更できません。
</Note>
## ビューの名前を変更する
1. ビュードロップダウンを開きます
2. ビューの横にある **⋮** メニューをクリックします
3. **編集** を選択します
4. 新しい名前を入力します
## ビューのアイコンを変更する
1. ビュードロップダウンを開きます
2. ビューの横にある **⋮** メニューをクリックします
3. **編集** を選択します
4. アイコンをクリックして変更します
## ビューを並べ替える
ドロップダウンに表示されるビューの順序を変更します:
1. ビュードロップダウンを開きます
2. ハンドルを使ってビューをドラッグします
3. 目的の位置にドロップします
4. 順序は自動的に保存されます
## ビューをお気に入りにする
頻繁に使用するビューをピン留めして、すばやくアクセスできるようにします:
1. ビュードロップダウンを開きます
2. ビューの横にある **⋮** メニューをクリックします
3. **お気に入りに追加** を選択します
お気に入りに追加したビューは、簡単にアクセスできる専用セクションに表示されます。
## ビューを削除する
1. ビュードロップダウンを開きます
2. ビューの横にある **⋮** メニューをクリックします
3. **削除** を選択します
4. 削除を確認します
<Warning>
削除したビューは復元できません。
</Warning>
## 関連
* [ビューの概要](/l/ja/user-guide/views-pipelines/overview) — ビューの作成
* [アクセス制限の方法](/l/ja/user-guide/views-pipelines/how-tos/restrict-access-to-your-view) — ステップバイステップガイド

View File

@@ -0,0 +1,61 @@
---
title: 期限付きタスクのカレンダービューを作成
description: タスクと期限をカレンダー上で可視化します。
---
<img src="/images/user-guide/views/calendar-view-zoom.png" style={{width:'100%'}} />
## 前提条件
タスク オブジェクトには、**期限日** フィールド(「日付」または「日付と時刻」タイプ)が必要です。
## 手順
1. **タスク** に移動します
2. ビューのドロップダウンをクリックし、**+ ビューを追加**を選択します
3. ビューに名前を付けます(例: "タスク カレンダー")。
4. **作成** をクリックします
5. **オプション** をクリックし、レイアウトとして **カレンダー** を選択します
6. 日付フィールドとして **期限日** を選択します
7. **保存**をクリック
## カレンダーの設定
### イベントにフィールドを表示
1. **オプション → フィールド**をクリックします
2. フィールドの表示/非表示を切り替えるには、**目のアイコン**をクリックします
3. ドラッグして並べ替えます
表示を推奨するフィールド:
* **タイトル** — タスク名
* **担当者** — 誰が担当か
* **ステータス** — 現在の進捗
### カレンダーを絞り込む
目的別のビューを作成:
* **自分のタスク**: 担当者 = 自分 でフィルター
* **今週**: 期日 = 今週 でフィルター
* **期限超過**: 期日 < 今日、ステータス ≠ 完了でフィルタリング
## その他のカレンダーのユースケース
| オブジェクト | 日付フィールド | 目的 |
| -------- | ------- | ------------------ |
| 商談 | 締切日 | 予定される締切を追跡する |
| カスタムイベント | イベント日 | アクティビティを計画する |
| プロジェクト | 期限 | プロジェクトのタイムラインを監視する |
## ヒント
* **毎週見直す**: 毎週の始めにカレンダービューを確認する
* **テーブルビューと組み合わせる**: 概要はカレンダー、詳細はテーブルを使用する
* **可視性を設定**: 個人タスクのカレンダーは Unlisted のままにする
## 関連
* [カレンダービュー](/l/ja/user-guide/views-pipelines/capabilities/calendar-view) — カレンダービューのすべての機能
* [フィルターと並べ替え](/l/ja/user-guide/views-pipelines/capabilities/filters-and-sorting) — カレンダーをフィルタリング

View File

@@ -0,0 +1,80 @@
---
title: プロジェクト用のカンバンビューを作成
description: ビジュアルボードでプロジェクトをステージごとに追跡します。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
カンバンビューを使って、プロジェクト(またはステージのある任意のオブジェクト)を、列間を移動するカードとして可視化します。
<VimeoEmbed videoId="927888627" title="デモ動画" />
## 前提条件
列として使用するには、対象のオブジェクトに **選択フィールド**(例: ステータス、ステージ、フェーズ)が必要です。
まだない場合:
1. **設定 → データモデル** に移動します
2. 対象のオブジェクトを選択します
3. ステージの選択肢を持つ選択フィールドを追加します
## 手順
1. 対象のオブジェクト(例: プロジェクト、タスク)に移動します
2. ビューのドロップダウンをクリックし、**+ ビューを追加**を選択します
3. ビューに名前を付けます(例: "プロジェクト ボード")
4. **作成** をクリックします
5. **オプション** をクリックし、レイアウトとして **カンバン** を選択します
6. ビューは選択フィールドを列として自動的に使用します
7. **保存**をクリック
## ボードを構成する
### カードに主要フィールドを表示
1. **オプション → フィールド** をクリックします
2. 「非表示フィールド」セクションでフィールドを探します
3. カードに表示するには、**目のアイコン**をクリックします
4. ドラッグして並べ替えます
<img src="/images/user-guide/kanban-views/filter.png" style={{width:'100%'}} />
### コンパクトビューを有効にする
全体をざっと確認したい場合:
1. **オプション** をクリックします
2. **コンパクトビュー** をオンにします
カードにはレコード名のみが表示されます。
<img src="/images/user-guide/kanban-views/compact-view.png" style={{width:'100%'}} />
### 集計を追加
各列の上部に件数や合計を表示します:
1. 列名の横の数値をクリックします
2. 集計方法(件数、合計 など)を選択します
3. 必要に応じてフィールドを選択します
## カードの移動
列間でカードをドラッグ&ドロップして、ステータスを更新します。
<VimeoEmbed videoId="927888627" title="デモ動画" />
## 例: タスクボード
| 列(ステータス) | カード |
| -------- | ------ |
| **未着手** | 新規タスク |
| **進行中** | 進行中の作業 |
| **レビュー** | 承認待ち |
| **完了** | 完了 |
## 関連
* [カンバンビュー](/l/ja/user-guide/views-pipelines/capabilities/kanban-views) — 集計、コンパクトビュー、ステージ
* [セールスパイプラインの設定方法](/l/ja/user-guide/views-pipelines/how-tos/set-up-a-sales-pipeline) — 商談向けのカンバン

View File

@@ -0,0 +1,51 @@
---
title: グループ化を使ってテーブルビューを作成
description: フィールド値ごとにレコードを折りたたみ可能なグループに整理します。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
Select フィールドでテーブルビューをグループ化し、レコードを折りたたみ可能なセクションに整理します。
<img src="/images/user-guide/table-views/table-group-by.png" style={{width:'100%'}} />
## 手順
1. オブジェクト(人、会社など)に移動します。
2. ビューのドロップダウンをクリックし、**+ ビューを追加**を選択します
3. ビューに名前を付けます(例: "種類別の会社")。
4. **作成** をクリックします
5. **オプション → グループ** をクリックします
6. グループ化の基準にする Select フィールドを選択します
7. **保存**をクリック
## グループの順序を設定
**オプション → グループ → 並べ替え** で、グループの並び順を選択します:
| オプション | 説明 |
| ------------- | -------------------------------- |
| **アルファベット順** | A から Z |
| **アルファベット逆順** | Z から A |
| **手動** | "表示中のグループ" の下で、グループをドラッグして並べ替えます |
グループの横にある **目のアイコン** をクリックして、ビューから非表示にします。
<Note>
**最適なパフォーマンスのため、表示中のグループは10〜15に制限してください。** それ以上が必要な場合は、代わりにダッシュボードの使用を検討してください。
</Note>
## 例:業種別の会社
1. **会社** に移動します
2. "業種別" という名前の新しいビューを作成します
3. **オプション → グループ** をクリックします
4. **業種** フィールドを選択します
5. 保存
これで会社が業種ごとに整理され、1つのセグメントに集中しやすくなります。
## 関連
* [テーブルビュー](/l/ja/user-guide/views-pipelines/capabilities/table-views) — テーブルビューのすべての機能
* [フィルターと並べ替え](/l/ja/user-guide/views-pipelines/capabilities/filters-and-sorting) — グループ化をフィルターと組み合わせる

View File

@@ -0,0 +1,32 @@
---
title: 自分のビューへのアクセスを制限する
description: カスタムビューを誰が閲覧できるかを管理します。
---
各ビュー(デフォルトの「すべての[Object Name]」ビューを除く)には、独自の可視性設定があります。
## 手順
1. 制限したいビューを開きます
2. 右上の**オプション**をクリック
3. **可視性**をクリック
4. **非公開**を選択
これで、ビューは自分にのみ表示されます。
## 可視性のオプション
| 設定 | 閲覧可能なユーザー |
| ----------- | ------------- |
| **ワークスペース** | ワークスペースの全メンバー |
| **非公開** | 自分のみ |
## ノート
* デフォルトの「すべての[Object Name]」ビューは非公開にできません
* 非公開ビューは他のユーザーのビューのドロップダウンに表示されません
* 可視性はいつでもワークスペースに戻すことができます
## 関連
* [ビュー設定](/l/ja/user-guide/views-pipelines/capabilities/view-settings) — ビューのすべての設定オプション

View File

@@ -0,0 +1,120 @@
---
title: セールスパイプラインの設定
description: ステージを介して商談を追跡するための販売パイプラインを設定します。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
Twenty の Sales パイプラインは、商談オブジェクトのカンバン ビューです。各列は、販売プロセスのステージを表します。
## ステップ 1: ステージの設定
ステージは商談オブジェクトの **ステージ** 項目で定義されます。
1. **設定 → データモデル** に移動
2. **商談** を選択
3. **ステージ**フィールドを見つけてクリックしてください
4. あなたのプロセスに合わせてステージを追加、削除、またはリネームします
<VimeoEmbed videoId="927890428" title="デモ動画" />
### 推奨ステージ
| ステージ | 目的 |
| ---------- | ---------------- |
| **新しい** | 特定されたばかりの新鮮な機会 |
| **適格** | 良いフィットとして確認されました |
| **ミーティング** | ディスカッションに参加 |
| **提案** | 提案が送信されました |
| **交渉** | 用語で作業する |
| **獲得完了** | 取引が成功しました |
| **閉鎖失敗** | 取引に失敗しました |
<Note>
**5~7段階が最適です** ステージが多すぎるとパイプラインをスキャンしにくくなります。ディールの進捗状況が可視性を失うことはほとんどありません。
</Note>
## ステップ 2: パイプラインビューを作成
1. **商談** に移動
2. ビュードロップダウンをクリックして → **+ ビューを追加**
3. 「セールスパイプライン」という名前を付けてください
4. **作成**をクリックしてください
5. **Options** を開き、レイアウトとして **Kanban** を選択します
ビューは自動的に列に format@@0 フィールドを使用します。
## ステップ 3: ビューの構成
### キーフィールドを表示
1. **オプション → フィールド** をクリックします。
2. 「非表示フィールド」セクションのフィールドを探します
3. **目のアイコン**をクリックすると、会社、金額、日付を閉じる、オーナーが表示されます。
### 集計を有効にする
各列の上部に合計を表示:
1. 列の上部にあるステージ名の横に表示される数字をクリックします
2. 集計の種類(カウント、合計、平均など)を選択します。
3. 集計するフィールドを選択します(例:金額)
**例:** Amount フィールドを合計で集計し、ステージごとの商談総額を表示します。
### コンパクトビューを使用する (オプション)
最小限のカードコンテンツを持つ高レベルの概要:
1. **Options** をクリックします
2. **コンパクトビュー** のトグルをオンにする
## ステップ 4: 個人ビューとチームビューを作成
### "パイプライン"
* **フィルター**: 所有者 = Me
* **可視性**: リストに追加されていない(パーソナルビュー)
### "チームパイプライン"
* **フィルター**: なし (すべて表示)
* **可視性**: ワークスペース (共有ビュー)
### "今月の閉店"
* **タイプ**: 表
* **フィルター**: Close Date = 今月、Stage ≠ Closed Won、Stage ≠ Closed Lost
* **並べ替え**: 終了日昇順
## 商談との作業
### 案件の作成
* 商談ビューで\*\*+ 新しい\*\*をクリックしてください
* または、特定のステージカラムの\*\*+\*\*をクリックしてください
### ステージを移動する
列間で商談カードをドラッグアンドドロップして、ステージを更新します。
<VimeoEmbed videoId="927888627" title="ビデオのデモ" />
## ベストプラクティス
### パイプライン衛生型
* 彼らが進むにつれて毎日情報を更新します
* 速やかに古い取引を移動または閉じる
* 現実的な日付を保ちます
### ステージ制限
* 各ステージの明確な基準を定義する
* 基準が満たされたときに迅速に取引を移動する
* お得な情報をステージにあまりにも長く座らせてはいけません
## 関連
* [かんばんビュー](/l/ja/user-guide/views-pipelines/capabilities/kanban-views) — 集計とコンパクトビュー
* [フィルターと並べ替え](/l/ja/user-guide/views-pipelines/capabilities/filters-and-sorting) — 絞り込まれたビューの作成

View File

@@ -0,0 +1,149 @@
---
title: パイプラインに Expected Amount を表示する。
description: ステージの確率に基づいて商談額に重み付けを行い、計算して表示します。
---
Expected Amount は計算値です:**Amount × Probability**。 これにより、成約見込みに基づいて商談に重み付けを行い、売上を予測できます。
<Tip>
これは、ワークフローを使用して[数式フィールド](/l/ja/user-guide/workflows/how-tos/crm-automations/formula-fields)を作成する例です。
</Tip>
このガイドでは、パイプラインで Expected Amount を計算・表示するために必要なカスタムフィールドとワークフローの設定手順を説明します。
## ステップ1:カスタムフィールドを作成
Opportunities オブジェクトに2つのカスタムフィールドが必要です。
### Probability フィールドを作成
1. **Settings → Data Model → Opportunities** に移動します
2. **+ Add Field** をクリックします
3. 設定:
* **名前**: Probability
* **タイプ**: Number
* **説明**: ステージに基づく確率(0〜100%)
4. **保存**をクリック
### Expected Amount フィールドを作成
1. **+ Add Field** をクリックします
2. 設定:
* **名前**: Expected Amount
* **タイプ**: Currency
* **説明**: 計算式: Amount × Probability
3. **保存**をクリック
### 任意:ユーザー向けにフィールドを読み取り専用にする
ユーザーにこれらの計算フィールドを手動編集させたくない場合:
1. **設定 → メンバー → 役割** に移動します
2. 設定するロールを選択
3. Opportunities オブジェクトを探す
4. **Probability** と **Expected Amount** フィールドを読み取り専用に設定
これにより、これらの値を更新できるのはワークフローのみになります。
## ステップ2:ワークフロー #1 を作成 — ステージ変更時に Probability を更新
このワークフローは、商談が新しいステージへ移動したときに Probability を自動設定します。
### ワークフローを作成
1. **Workflows** に移動します
2. **+ New Workflow** をクリックします
3. 名前を「Update Probability on Stage Change」にします
### トリガーを設定
1. **Record Created or Updated** トリガーを追加
2. オブジェクトとして **Opportunities** を選択
3. フィルター: **Stage** フィールドが更新されたとき
### 各ステージごとに分岐を追加
各ステージに対して、対応する確率のブランチを作成します。
| ステージ | "確率" |
| ----------- | ---- |
| 新規 | 10% |
| 適格 | 25% |
| Meeting | 40% |
| Proposal | 60% |
| Negotiation | 80% |
| Closed Won | 100% |
| Closed Lost | 0% |
<Note>
新しいブランチを作成するには、ワークフローキャンバスを右クリックし、**New action** をクリックします。 次に、前のノードからこの新しいアクションに矢印をドラッグして接続します。
</Note>
各ステージについて:
1. **Filter** ノードを追加: Stage = [stage name]
2. **Update Record** アクションを追加:
* レコード: トリガーとなった Opportunity
* フィールド: Probability
* 値: [そのステージの確率]
### Expected Amount を計算
ブランチを再結合した後:
1. **Filter** ノードを追加: Amount が空でない
2. **Update Record** アクションを追加:
* レコード: トリガーとなった Opportunity
* フィールド: Expected Amount
* 値: Amount × Probability
## ステップ3:ワークフロー #2 を作成 — Amount 変更時に再計算
このワークフローは、商談の Amount が変更されたときに Expected Amount を更新します。
### ワークフローを作成
1. **Workflows** に移動します
2. **+ New Workflow** をクリックします
3. 名前を「Recalculate Expected Amount on Amount Change」にします
### トリガーを設定
1. **Record Created or Updated** トリガーを追加
2. オブジェクトとして **Opportunities** を選択
3. フィルター: **Amount** フィールドが更新されたとき
### ロジックを追加
1. **Filter** ノードを追加: Amount が空でない
2. **Update Record** アクションを追加:
* レコード: トリガーとなった Opportunity
* フィールド: Expected Amount
* 値: Amount × Probability
## ステップ4:パイプラインに表示
カンバンビューに Expected Amount の合計を表示します:
1. お使いの **Sales Pipeline** のカンバンビューを開きます
2. 列の上部にある任意のステージ名の横の **数値** をクリックします
3. **Sum** を選択します
4. **Expected Amount** を選択します
各列には、そのステージの重み付け済みパイプライン合計が表示されます。
## 概要
| コンポーネント | 目的 |
| ------------------------- | ---------------------------------------------------------- |
| **Probability フィールド** | ステージに基づく受注確率を保存します |
| **Expected Amount フィールド** | Amount × Probability を保存します |
| **ワークフロー #1** | ステージが変更されたときに Probability を更新し、その後 Expected Amount を再計算します |
| **ワークフロー #2** | Amount が変更されたときに Expected Amount を再計算します |
| **集計** | ステージごとに Expected Amount の合計を表示します |
## 関連情報
* [数式フィールド](/l/ja/user-guide/workflows/how-tos/crm-automations/formula-fields) — ワークフローを使って計算フィールドを作成
* [カンバンビュー](/l/ja/user-guide/views-pipelines/capabilities/kanban-views) — 列の集計
* [カスタムフィールドの作成方法](/l/ja/user-guide/data-model/how-tos/create-custom-fields) — フィールド設定

View File

@@ -0,0 +1,231 @@
---
title: 各ステージにおける商談の滞在時間を追跡
description: 商談が各ステージに入ったタイミングを追跡して、商談の進行速度を監視します。
---
<Tip>
これは、ワークフローを使って[数式フィールド](/l/ja/user-guide/workflows/how-tos/crm-automations/formula-fields)を作成する例で、特に日付計算です。
</Tip>
商談が各ステージに入った時点を追跡することで、ボトルネックを特定し、商談の進行速度を測定できます。
このガイドでは、商談が各ステージへ移動した時点を自動記録し、前のステージに要した日数を計算するためのカスタムフィールドとワークフローの設定手順を説明します。
## 手順 1: カスタムフィールドを作成する
各ステージに対して、次の2種類のフィールドが必要です:
* **日付と時刻フィールド**: 商談が各ステージに入った時刻を記録します
* **数値フィールド**: 商談が各ステージに滞在した日数を保存します
### "Last Entered" フィールドを作成する
1. **Settings → Data Model → Opportunities** に移動
2. 各ステージについて、**+ Add Field** をクリックして次のように設定します:
* **Name**: Last Entered [Stage Name](例: "Last Entered New", "Last Entered Qualified")
* **Type**: Date & Time
* **Description**: このステージに商談が入ったタイムスタンプ
3. **保存**をクリック
次のフィールドを作成します:
* Last Entered New
* Last Entered Qualified
* Last Entered Meeting
* Last Entered Proposal
* Last Entered Negotiation
* Last Entered Closed Won
* Last Entered Closed Lost
### "Days in Stage" フィールドを作成する
1. 各ステージについて、**+ Add Field** をクリックして次のように設定します:
* **Name**: Days in [Stage Name](例: "Days in New", "Days in Qualified")
* **Type**: Number
* **Description**: このステージに滞在した日数
2. **保存**をクリック
次のフィールドを作成します:
* Days in New
* Days in Qualified
* Days in Meeting
* Days in Proposal
* Days in Negotiation
<Note>
Closed Won と Closed Lost は最終ステージのため、"Days in" フィールドは不要です。
</Note>
### 任意: フィールドを読み取り専用にする
これらの計算フィールドをユーザーに手動編集させたくない場合:
1. **設定 → メンバー → 役割** に移動します
2. 設定するロールを選択
3. Opportunities オブジェクトを見つける
4. "Last Entered" と "Days in" フィールドを読み取り専用に設定する
## 手順 2: ワークフローを作成する
この1つのワークフローで両方のタスクを処理します:
* 新しいステージに入った時刻を記録する
* 前のステージに滞在した日数を計算する
### ワークフローを作成する
1. **Workflows** に移動
2. **+ New Workflow** をクリック
3. 名前を "Track Stage Time" にする
### トリガーを設定する
1. **Record Updated** トリガーを追加
2. オブジェクトとして **Opportunities** を選択
3. フィルター条件: **Stage** フィールドが更新されたとき
### 各ステージ用のブランチを追加する
<Note>
新しいブランチを作成するには、ワークフローキャンバスを右クリックし、**New action** をクリックします。 次に、前のノードからこの新しいアクションへ矢印をドラッグして、このアクションを前のノードにリンクします。
</Note>
---
**ブランチ 1: Stage = New(最初のステージ)**
これは最初のステージなので、このステージに入った時刻のみが記録され、計算の基準となる前のステージはありません。
1. **Filter** ノードを追加: Stage = New
2. **Code** アクションを追加:
```javascript
export const main = async (): Promise<object> => {
return { now: new Date().toISOString() };
};
```
3. **Update Record** アクションを追加:
* Record: トリガーとなった Opportunity
* Field: Last Entered New
* Value: Code ノードの `now`
---
**ブランチ 2: Stage = Qualified**
Qualified に移動したら、入場時刻を記録し、かつ New に滞在した日数を計算します。
1. **Filter** ノードを追加: Stage = Qualified
2. **Code** アクションを追加:
```javascript
export const main = async (params: {
lastEnteredPreviousStage: Date;
}): Promise<object> => {
const { lastEnteredPreviousStage } = params;
const now = new Date();
const entryDate = new Date(lastEnteredPreviousStage);
const diffTime = Math.abs(now.getTime() - entryDate.getTime());
const daysInPreviousStage = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
return {
now: now.toISOString(),
daysInPreviousStage: daysInPreviousStage
};
};
```
3. Code ノードの入力を設定: `lastEnteredPreviousStage` を **Last Entered New** フィールドにマップする
4. **Update Record** アクションを追加:
* Record: トリガーとなった Opportunity
* 更新するフィールド:
* Last Entered Qualified = `now`
* Days in New = `daysInPreviousStage`
---
**ブランチ 3: Stage = Meeting**
Meeting に移動したら、入場時刻を記録し、かつ Qualified に滞在した日数を計算します。
1. **Filter** ノードを追加: Stage = Meeting
2. **Code** アクションを追加:
```javascript
export const main = async (params: {
lastEnteredPreviousStage: Date;
}): Promise<object> => {
const { lastEnteredPreviousStage } = params;
const now = new Date();
const entryDate = new Date(lastEnteredPreviousStage);
const diffTime = Math.abs(now.getTime() - entryDate.getTime());
const daysInPreviousStage = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
return {
now: now.toISOString(),
daysInPreviousStage: daysInPreviousStage
};
};
```
3. Code ノードの入力を設定: `lastEnteredPreviousStage` を **Last Entered Qualified** フィールドにマップする
4. **Update Record** アクションを追加:
* Record: トリガーとなった Opportunity
* 更新するフィールド:
* Last Entered Meeting = `now`
* Days in Qualified = `daysInPreviousStage`
---
**残りのステージも同様に続けます:**
| ステージ | レコード | 計算 |
| ----------- | ------------------------ | ------------------- |
| Proposal | Last Entered Proposal | Days in Meeting |
| Negotiation | Last Entered Negotiation | Days in Proposal |
| Closed Won | Last Entered Closed Won | Days in Negotiation |
| Closed Lost | Last Entered Closed Lost | Days in Negotiation |
ブランチを再結合する必要はありません。各ブランチは、そのステージ条件が満たされたときに独立して実行されます。
## 手順 3: ステージ滞在時間を分析する
タイムスタンプと日数が記録されたら、商談の進行速度を分析できます。
### "Slow Deals" ビューを作成する
1. Opportunities のテーブルビューを作成する
2. 列を追加: Name、Stage、Days in [previous stage]、Amount
3. "Days in" フィールドで並べ替え(降順)
4. Stage でフィルターして、1つのステージに絞り込む
上位の商談は、前のステージで最も長く滞在していたことを示します。
### 集計を使用する
パイプラインのカンバンビューで:
1. ステージ名の横にある数値をクリック
2. **Average** を選択
3. "Days in" フィールドを選択
各ステージで商談が費やす平均時間が表示されます。
## まとめ
| コンポーネント | 目的 |
| ---------------------- | ----------------------- |
| **Last Entered フィールド** | 商談が各ステージに入った時刻を保存する |
| **Days in フィールド** | 各ステージでの滞在日数を保存する |
| **ワークフロー** | タイムスタンプの記録と日数計算を一度に実行する |
| **ビューと集計** | 商談の進行速度を分析し、ボトルネックを特定する |
## 関連項目
* [ワークフロー](/l/ja/user-guide/workflows/overview) — 自動化の基本
* [カスタムフィールドの作成方法](/l/ja/user-guide/data-model/how-tos/create-custom-fields) — フィールドの設定
* [カンバンビュー](/l/ja/user-guide/views-pipelines/capabilities/kanban-views) — 集計

View File

@@ -0,0 +1,132 @@
---
title: ビューとパイプライン
description: Twentyでビューを作成および管理する方法を理解する。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## ビューの理解
ビューは、データの表示方法を決定する保存済みの設定です。 各ビューにはそれぞれ、次の項目を設定できます:
* **レイアウト**: テーブル、カンバン、またはカレンダー
* **フィルター**: どのレコードを表示するか
* **並べ替え**: レコードの並び順
* **フィールド**: どの列を表示するか
## ビューのタイプ
### テーブルビュー
レコードを行に表示し、列をカスタマイズできる、デフォルトのスプレッドシート風ビュー。
### カンバンビュー
レコードがステージごとに整理されたカードとして表示されるビジュアルなボードビュー。 こんな用途に最適:
* セールスパイプライン
* プロジェクトの進捗管理
* ステージが定義されたあらゆるワークフロー
### カレンダー表示
日付フィールドを含むレコードを表示するカレンダー表示です。 こんな用途に最適:
* 会議やイベント
* 締切や期日
* 時間ベースの計画
## ビューの作成
新しいビューを作成する方法は 2 つあります。
### ビュードロップダウンメニューの使用
1. 任意のオブジェクト(People、Companies など)に移動します
2. 左上のビュー名(ドロップダウン矢印付きの現在のビュー)をクリックします
3. **+ ビューを追加**をクリック
4. ビューに名前を付け、**作成**をクリック
5. **オプション**でレイアウト(テーブル、カンバン、またはカレンダー)を選択します
6. 必要に応じてフィルターと並べ替えを追加します
7. 表示するフィールドを選択し、並べ替えます
8. **保存**をクリック
<VimeoEmbed videoId="1145648745" title="動画デモ" />
### 既存のビューの編集から始める
1. 任意のオブジェクト(People、Companies など)に移動します
2. **オプション**でレイアウト(テーブル、カンバン、またはカレンダー)を選択し、必要に応じてフィルターと並べ替えを追加します
3. **新しいビューとして保存**をクリック
4. ビューに名前を付け、**作成**をクリック
5. 新しいビューの編集を続けます
6. **ビューを更新**をクリックして、追加の設定を保存します
<VimeoEmbed videoId="1145654005" title="動画デモ" />
## ビューを管理
### ビューを編集
1. ドロップダウンからビューを選択します
2. 変更を加えます(フィルター、並べ替え、列)
3. ビューを更新するには**保存**をクリックします
### ビューの名前またはアイコンを変更する
1. ビューのドロップダウンを開きます
2. ビュー名の横にある**⋮**メニューをクリックします
3. **編集**を選択します
4. 名前またはアイコンを変更します
5. **保存**をクリック
### ビューを並べ替える
1. ビューのドロップダウンを開きます
2. ビューのハンドルをクリックしてドラッグします
3. 希望の位置にドロップします
4. 新しい順序は自動的に保存されます
### お気に入りに追加
よく使うビューをピン留めして、すばやくアクセスできるようにします:
1. ビューのドロップダウンを開きます
2. ビューの横にある**⋮**メニューをクリックします
3. **お気に入りに追加**を選択します
4. ビューがお気に入りセクションに表示されます
### ビューを削除する
1. 削除するビューを選択します
2. ビューのドロップダウンを開きます
3. ビューの横にある**⋮**メニューをクリックします
4. **削除**を選択します
5. 削除を確認します
<Warning>
削除したビューは復元できません。 確認する前に、削除してよいか必ずご確認ください。
</Warning>
## ビューの可視性
各ビュー(デフォルトの「すべての[オブジェクト名]」ビューを除く)には、独自の可視性設定があります。
可視性を変更するには:
1. ビューを開きます
2. **オプション → 可視性**をクリックします
3. 次から選択:
* **ワークスペース**: すべてのワークスペースメンバーに表示されます
* **非公開**: 自分にのみ表示されます
<Note>
デフォルトの「すべての[オブジェクト名]」ビューの可視性は変更できません。
</Note>
## 次のステップ
* [テーブルビュー](/l/ja/user-guide/views-pipelines/capabilities/table-views)
* [カンバンビュー](/l/ja/user-guide/views-pipelines/capabilities/kanban-views)
* [フィルターと並べ替え](/l/ja/user-guide/views-pipelines/capabilities/filters-and-sorting)
* [ビュー設定](/l/ja/user-guide/views-pipelines/capabilities/view-settings)

View File

@@ -0,0 +1,167 @@
---
title: ワークフローによるメール送信
description: ワークフローアクションを使用して、パーソナライズされたメールを自動送信します。
---
CRM で特定のイベントが発生したときにメールを自動送信します—新規連絡先を歓迎し、商談をフォローアップしたり、チームメンバーに通知したりします。
## 前提条件
ワークフローからメールを送信する前に:
1. **設定 → アカウント** でメールアカウントを接続する
2. そのアカウントで送信権限が有効になっていることを確認する
## 基本的なメールワークフロー
### 例:新規連絡先へのウェルカムメール
**目的**: 新しい連絡先が CRM に追加されたときにウェルカムメールを送信する。
**設定**:
1. **ワークフローを作成**: **設定 → ワークフロー** に移動し、**+ New Workflow** をクリック
2. **トリガーを追加**: **Record is Created** → **People** を選択
3. **Send Email アクションを追加**:
* アクションを追加するには **+** をクリック
* **Send Email** を選択
* メールを設定:
| フィールド | 値 |
| ------ | -------------------------------------- |
| **宛先** | `{{trigger.object.email}}` |
| **件名** | `{{Your Company Name}}へようこそ` |
| **本文** | `Hi {{trigger.object.firstName}}, ...` |
4. **テストして有効化**: サンプルレコードでテストし、その後有効化する
## メールで変数を使用する
`{{variable}}` 構文を使用して前のステップのデータを参照します:
```text
Hi {{trigger.object.firstName}},
Thank you for connecting with us!
Your company, {{trigger.object.company.name}}, is now in our system.
Best regards,
The Team
```
### トリガーから利用できる変数
| トリガータイプ | 一般的な変数 |
| -------------- | -------------------------------------- |
| **レコードの作成/更新** | `{{trigger.object.fieldName}}` |
| **手動** | `{{trigger.selectedRecord.fieldName}}` |
| **Webhook** | `{{trigger.body.fieldName}}` |
## 高度: 条件付きメール
### 例:リードのソースに基づいて異なるメール
**目的**: リードの流入元に応じて異なるウェルカムメールを送信する。
**設定**:
1. **トリガー**: レコードが作成される(People)
2. **フィルターアクションを追加**:
* 条件: `{{trigger.object.source}}` が "Website" と等しい
* 真の場合 → ウェブサイトのウェルカムメールに進む
3. **その他のソース用の分岐**:
* ソースごとに並列の分岐を作成する
* 各分岐にそれぞれの Send Email アクションを配置する
## 複数の受信者にメールを送信する
### 例:商談が成立したときにチームへ通知
**目的**: 商談が成約したときに担当営業とそのマネージャーへメールを送る。
**設定**:
1. **トリガー**: レコードが更新(Opportunities、Stage = "Closed Won")
2. **Search Records**: 商談の所有者のマネージャーを見つける
3. **Send Email #1**: 商談の所有者宛て
* 宛先: `{{trigger.object.owner.email}}`
* 件名: `Congratulations on closing {{trigger.object.name}}!`
4. **Send Email #2**: マネージャー宛て
* 宛先: `{{searchRecords.manager.email}}`
* 件名: `Deal Won: {{trigger.object.name}}`
## フォローアップメールのスケジュール送信
### 例:会議の3日後にフォローアップ
**目的**: 会議が記録された3日後にフォローアップメールを送信する。
**設定**:
1. **トリガー**: レコードが作成(Activities、Type = "Meeting")
2. **Delay アクション**: 3日待機
3. **Send Email**:
* 宛先: 会議の参加者
* 件名: 先日の会話のフォロー
* 本文: トリガーから会議の詳細を参照
## メールの添付ファイル
ワークフローから送信されるメールにファイルを添付できます。 添付ファイルは、ワークフローを設定する際にアップロードする静的なファイルです。
### 添付ファイルを追加する方法
1. **メール送信** アクションで、**添付ファイル** ボタンをクリックします
2. クリックしてお使いのコンピューターからファイルをアップロードします
3. このアクションによって送信されるすべてのメールに、そのファイルが添付されます。
### 一般的な使用例
| ユースケース | サンプルファイル |
| ----------------- | --------------- |
| **ウェルカムメール** | 会社案内(PDF) |
| **オンボーディングシーケンス** | 導入ガイド |
| **営業のフォローアップ** | 製品カタログまたは価格表 |
| **イベント確認メール** | イベントの詳細またはアジェンダ |
<Note>
添付ファイルは静的です—すべての受信者に同じファイルが送信されます。 動的ドキュメント(パーソナライズされた見積もりなど)の場合は、[ロジック関数](/l/ja/user-guide/workflows/how-tos/connect-to-other-tools/generate-pdf-from-twenty)を使ってファイルを生成し、添付します。
</Note>
## ベストプラクティス
### メールの内容
* 件名は簡潔かつ関連性の高い内容に保つ
* 受信者名でパーソナライズする
* 明確な行動喚起を含める
* 有効化前にメールをテストする
### 到達性
* 短時間に過度な数のメールを送信しない
* プロフェッショナルなメール署名を使用する
* スパム判定されやすい語句を避ける
* マーケティングメールに配信停止オプションを必ず用意する
### トラブルシューティング
* メールアカウントが接続され有効になっていることを確認する
* 受信者のメールアドレスが有効か確認する
* エラーメッセージがないかワークフローの実行履歴を確認する
* まず自分のメールアドレスでテストする
## 関連
* [ワークフローのトリガー](/l/ja/user-guide/workflows/capabilities/workflow-triggers)
* [ワークフローのアクション](/l/ja/user-guide/workflows/capabilities/workflow-actions)

View File

@@ -0,0 +1,88 @@
---
title: ワークフローでブランチを使用する
description: ブランチの仕組みと、どのパスが実行されるかの制御方法を理解します。
---
## ブランチの仕組み
ワークフローエディタでは、1 つのノードから分岐する複数のパス(ブランチ)を作成できます。 これにより、異なる結果を持つ複雑な自動化を構築できます。
**重要**: ワークフローが実行されると、**既定ではすべてのブランチが並列に実行されます**。 あるブランチを選択するための組み込みの "if/else" ロジックはありません—すべてのパスが同時に実行されます。
## どのブランチを実行するかの制御
特定の条件に基づいて 1 つのブランチのみを実行するには、**各ブランチの先頭に Filter ノードを追加**します。
### セットアップ例
1. 1 つのノードから複数のブランチを持つワークフローを作成します
2. 各ブランチの最初のステップとして **Filter** ノードを追加します
3. 各 Filter に条件を設定し、そのブランチをいつ続行するかを決めます
4. Filter の条件を満たしたブランチだけが続行します
### Filter の仕組み
* Filter の条件が**満たされた**場合:ブランチは実行を継続します
* Filter の条件が**満たされない**場合:ブランチは Filter ノードで停止します
これにより、データに基づいて該当するブランチだけが実行される条件付きロジックを実質的に作成できます。
## 例:商談金額でルーティング
**シナリオ**: 商談がクローズされたとき、商談金額に応じて異なる通知を送信します。
1. **トリガー**: Opportunity が更新(Stage = Closed Won)
2. **ブランチ 1**: Amount > $10,000 で Filter → #big-deals に Slack メッセージを送信
3. **ブランチ 2**: Amount ≤ $10,000 で Filter → 営業マネージャーにメールを送信
両方のブランチが開始されますが、商談金額に一致する方だけが Filter を通過して続行します。
## ブランチの作成
<Note>
既存のステップから新しいブランチを作成するには、そのステップの **+** ボタンをクリックしてアクションを追加します。 **+** を複数回クリックすると、複数のブランチを追加できます。
</Note>
1. ワークフローエディタで、分岐させたいステップを選択します
2. アクションを追加するには **+** ボタンをクリックします
3. これで 1 つのブランチが作成されます
4. 同じステップで **+** をもう一度クリックして、ブランチを追加作成します
5. 各ブランチは独自のアクションのシーケンスを持てます
## ブランチを再結合する
並列ブランチが処理を完了したら、単一のパスに再結合できます:
1. 分岐したアクションを完了します
2. すべてのブランチの後に実行すべき新しいステップを追加します
3. 各ブランチの最後のステップからこの新しいステップに接続をドラッグします
4. マージされたステップは、接続されたすべてのブランチが完了するまで待機してから実行されます
### 例:処理後に通知
```
Trigger
│
├── Branch A: Update Customer Record
│
└── Branch B: Create Support Ticket
↘ ↙
Merged Step: Send Confirmation Email
```
確認メールは、お客様の更新とチケット作成の両方が完了した後に送信されます。
## ベストプラクティス
* 条件付きで実行したい場合は、ブランチの開始時に常に**Filter ノード**を使用します
* 重複したアクションを避けるために、ブランチの条件は**相互排他的**に保ちます
* さまざまなデータでワークフローをテストし、正しいブランチが実行されることを確認します
* **ブランチのステップ名を変更**して、各パスが何を行うかが明確に分かるようにします
* 並列処理の後に最終アクションが必要な場合は、**ブランチをマージ**します
## 関連
* [ワークフロー FAQ](/l/ja/user-guide/workflows/how-tos/need-more-help/workflows-faq) — 並列実行に関する回答
* [ワークフローのアクション](/l/ja/user-guide/workflows/capabilities/workflow-actions) — ブランチで利用可能なアクション

View File

@@ -0,0 +1,183 @@
---
title: Iterator を使用
description: レコードの配列をループし、各アイテムに対してアクションを実行します。
---
Iterator を使用すると、レコードの配列をループし、各レコードに対してアクションを実行できます。 これは、Search Records で返された複数のレコードや Webhook で受信したレコードを処理する必要があるワークフローに不可欠です。
## Iterator を使用するタイミング
| シナリオ | 例 |
| ------------------ | ------------------ |
| **検索結果を処理** | 見つかった各人物にメールを送信 |
| **Webhook の配列を処理** | 各アイテムごとに順番にレコードを作成 |
| **一括更新** | 計算された値で複数のレコードを更新 |
| **通知** | イベントについて複数人に通知 |
## Iterator の理解
Iterator は入力として**配列**を想定しています。 その後、次を実行します:
1. 配列から最初のアイテムを取り出す
2. そのアイテムを使って Iterator 内のすべてのアクションを実行する
3. 次のアイテムに進む
4. すべてのアイテムが処理されるまで繰り返す
### ループ処理する配列の選択
ほとんどの配列ソース(Search Records、webhook の配列フィールド、Bulk manual trigger)は、変数ピッカーで直接選択できます。
**Code** ステップや **Logic Function** ステップが*トップレベル配列*を返す場合、その出力は変数ピッカー内でインデックス付きエントリ(`0`、`1`、`2`、…)として表示されます。 配列全体をループ処理するには、そのステップの **Whole list** オプションを選択します。Iterator は、そのリストから各アイテムの構造を自動的に推論します。
## 基本的なセットアップ
### 例: 検索結果の全員にメールを送信
**目標**: 特定の会社のすべての連絡先を見つけ、各人にパーソナライズされたメールを送信します。
### ステップ 1: レコードを検索
1. 「**Search Records**」アクションを追加
2. オブジェクト: **People**
3. フィルター: Company が "Acme Inc" に等しい
4. これにより、People の配列が返されます
### ステップ 2: 結果の有無を確認
1. 「**Filter**」アクションを追加
2. 条件: `{{searchRecords.length}}` が 0 より大きい
3. これにより、結果が空の場合の Iterator エラーを防止します
### ステップ 3: Iterator を追加
1. 「**Iterator**」アクションを追加
2. 配列の入力: `{{searchRecords}}` を選択
3. これでループが作成されます
### ステップ 4: Iterator 内にアクションを追加
Iterator の後に配置したアクションは、各アイテムに対して実行されます:
1. Iterator 内に **Send Email** アクションを追加する
2. 宛先: `{{iterator.currentItem.email}}`
3. 件名: こんにちは `{{iterator.currentItem.firstName}}`!
4. 本文: 現在のアイテムのフィールドを使用したパーソナライズメッセージ
### 結果
Search Records が 5 人を返した場合、Iterator は次を実行します:
* 1 人目にメールを送信
* 2 人目にメールを送信
* ... 5 人すべてに対して続行
## 現在のアイテムのデータにアクセスする
Iterator 内では、現在のレコードにアクセスするために `{{iterator.currentItem}}` を使用します:
| 変数 | 説明 |
| --------------------------------------- | ---------------- |
| `{{iterator.currentItem}}` | 現在のレコードオブジェクト全体 |
| `{{iterator.currentItem.id}}` | レコード ID |
| `{{iterator.currentItem.email}}` | メールフィールド |
| `{{iterator.currentItem.company.name}}` | 関連する会社名 |
| `{{iterator.index}}` | 配列内の現在の位置(0 始まり) |
変数ピッカーでは、現在のアイテムの特定のフィールドまでドリルダウンして選択するか、**Use the whole item** を選択して、現在のアイテム全体(`{{iterator.currentItem}}`)を参照できます。 アイテム全体を選択すると、フィールドを 1 つずつ再構築するのではなく、完全なレコードをそのまま後続ステップに渡したい場合に便利です。
## よくあるパターン
### 複数レコードを更新
**目標**: 期限超過のタスクをすべて "Late" としてマークします。
```
1. Search Records (Tasks, Due Date < Today, Status ≠ Completed)
2. Filter (length > 0)
3. Iterator (searchRecords)
└── Update Record
- Object: Tasks
- Record: {{iterator.currentItem.id}}
- Status: Late
```
### 配列からレコードを作成
**目標**: 複数のアイテムを含む注文を Webhook が受信したら、各アイテムのレコードを作成します。
```
1. Webhook Trigger (receives items array)
2. Filter (items.length > 0)
3. Iterator (trigger.body.items)
└── Create Record
- Object: Order Items
- Name: {{iterator.currentItem.name}}
- Quantity: {{iterator.currentItem.qty}}
- Related Order: {{trigger.body.orderId}}
```
### ループ内の条件付き処理
**目標**: 有効なメールアドレスを持つ連絡先にのみメールを送信します。
```
1. Search Records (People)
2. Iterator (searchRecords)
└── Filter (currentItem.email is not empty)
└── Send Email
- To: {{iterator.currentItem.email}}
```
## トラブルシューティング
### "Iterator expects an array"
**原因**: 配列ではなく単一のレコードを渡しました。
**対処**: 単一のレコードではなく、Search Records の結果または配列フィールドを渡していることを確認してください。
```
✅ Correct: {{searchRecords}}
❌ Wrong: {{searchRecords[0]}}
```
### Iterator が実行されない
**原因**: 配列が空です。
**対処**: Iterator の前にフィルターを追加し、配列の長さを確認します:
```
Filter: {{searchRecords.length}} > 0
```
### アクションが過剰に実行される
**原因**: Search Records が想定より多くのレコードを返しました。
**対処**:
* Search Records により具体的なフィルターを追加する
* Search Records に上限を設定する(最大 200)
* 追加条件のために Iterator 内にフィルターを追加する
## パフォーマンス上の考慮事項
* **クレジット使用量**: 各イテレーションでアクション実行分のクレジットを消費します
* **時間**: 大きな配列は処理に時間がかかります
* **制限**: 非常に大きな処理はバッチ化を検討してください
* **レート制限**: 繰り返しが多いと外部 API 呼び出しがレート制限に達する可能性があります
## ベストプラクティス
1. エラーを避けるため、Iterator の前に**配列の長さを必ず確認**
2. **すべてのアイテムを処理する必要がない場合はループ内にフィルターを追加**
3. **何をループしているか分かるように Iterator ステップの名前を変更**
4. **小さな配列でテスト**してから大きなデータセットを処理する
5. **ワークフローの実行を監視**して、イテレーションが想定どおりに完了することを確認する
## 関連
* [ワークフローのアクション](/l/ja/user-guide/workflows/capabilities/workflow-actions)
* [ブランチの使い方](/l/ja/user-guide/workflows/capabilities/use-branches-in-workflows)
* [ワークフロー FAQ](/l/ja/user-guide/workflows/how-tos/need-more-help/workflows-faq)

View File

@@ -0,0 +1,332 @@
---
title: ワークフローアクション
description: Twenty のワークフローで利用可能なアクションについて学びましょう。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## アクションについて
アクションはトリガーが起動した後に何が起こるかを定義します。 複数のアクションを連結して、複雑な自動化を構築できます。
<Tip>
* 変数ピッカー(`(x+)` アイコンをクリック)を使用して、前の手順から利用可能なデータを参照します
* 任意の入力フィールドにカーソルを合わせると、変数がどのステップから来ているかがわかります—同じフィールド(例:ID)が複数の前のステップに存在する場合に便利です
* 保守しやすくするため、各アクションにわかりやすい名前を付けてください
</Tip>
## レコードアクション
<img src="/images/user-guide/workflows/workflow_actions.png" style={{width:'100%'}} />
### レコードを作成
選択したオブジェクトに新しいレコードを追加します。
**設定**:
* 対象オブジェクトを選択
* 必要およびオプションのフィールドに入力
* 前の手順のデータを使用するか、手動で値を入力してフィールドに設定します
**出力**:新しく作成されたレコードのデータが後続の手順で使用可能
### レコードを更新
選択したオブジェクト内の既存のレコードを変更します。
<img src="/images/user-guide/workflows/update_record.png" style={{width:'100%'}} />
**設定**:
* 対象オブジェクトを選択
* 更新する具体的なレコードを選択.
* 利用可能なすべてのレコードを表示するドロップダウンメニューから、固定のレコードを選択できます。
* または、`(x+)` を使用して前のステップで見つかったレコードを指定し、レコードを動的に選択できます。 この段階では、異なる条件に基づいてレコードを検索することはできません。 まだレコードを特定していない場合は、この `Update Record` ステップの前に `Search Record` ステップを追加してください。
* 変更するフィールドを選択し、新しい値を入力
**出力**:更新されたレコードのデータが後続の手順で使用可能
### レコードを削除
選択したオブジェクトからレコードを削除します。
**設定**:
* 対象オブジェクトを選択
* 削除する具体的なレコードを選択
**出力**:削除されたレコードのデータは後続の手順で使用可能
### レコードを検索
選択したオブジェクト内のフィルター条件を使用してレコードを探します。
**設定**:
* 検索するオブジェクトを選択
* 結果を絞り込むためのフィルター基準を設定
* 並べ替えや制限を設定
**出力**:一致するレコードを返し、後続の手順で使用可能
<Note>
**制限**:Search Records は最大 **200 件のレコード**を返します。 さらに処理する必要がある場合は、結果を絞り込むフィルターを追加するか、スケジュールされたワークフローを使用してバッチ処理してください。
</Note>
**ベストプラクティス**:Search Records の後に[ブランチ](/l/ja/user-guide/workflows/capabilities/workflow-branches)を使用して、「見つかった」と「見つからない」のシナリオを処理します。
### Upsert Record
一致条件に基づいて、新しいレコードを作成するか、既存のレコードを更新します。 レコードが既に存在するかどうか確信が持てない場合に便利です。
<img src="/images/user-guide/workflows/upsert_double_identifier.png" style={{width:'100%'}} />
**設定**:
* 対象オブジェクトを選択
* どのフィールドがマッチングに使用できるかに注意してください:People には email、Companies には domain、任意のオブジェクトには ID、または Unique としてマークされた任意のフィールド。 以下のうち少なくとも 1 つは入力する必要があります。
* フィールドの値を入力します。 少なくとも 1 つの一意の識別子を必ず入力してください。
<Note>
**通常、一意の識別子を 1 つだけ追加するほうがマッチングはうまく機能します。** 例えば、以下のスクリーンショットでは、ドメインに基づいて会社を照合します。 ID は必ずしも必要ではありません。
</Note>
<img src="/images/user-guide/workflows/upsert_simple_identifier.png" style={{width:'100%'}} />
* 前の手順からのデータを使用してフィールドを埋める
**仕組み**:
1. 指定した条件に一致するレコードを検索します
2. 見つかった場合 → 既存のレコードを更新します
3. 見つからない場合 → 新しいレコードを作成します
**出力**:作成または更新されたレコードのデータは後続の手順で使用できます。
## フローアクション
### イテレータ
**前の手順から返されたレコード配列をループ**し、各レコードに個別にアクションを実行できます。
**設定**:
* 前のステップからレコードの配列を選択します (たとえば、format@@0の結果、format@@1のformat@@2ノードからformat@@3のトリガーを選択します)。 Code または Logic Function ステップがトップレベルの配列を返す場合は、その出力全体をループ処理するために **Whole list** オプションを選択します。
* ループ内の各レコードで実行するアクションを定義.
<Note>
- イテレータ内に複数のアクションを追加できます。
- イテレータ内でブランチを使用する場合は、各ブランチの最後のステップがイテレータに戻ってループを閉じるようにしてください。
</Note>
* `Current Item` フィールドにアクセス:現在処理中のレコードのフィールドを使用するには、**Iterator** ステップをクリックし、**Current item** を選択します。 そのレコードで使用可能なフィールドの一覧が表示され、後続のアクションで使用するために選択できます。 現在のアイテム全体を後続ステップに渡すには、**Use the whole item** を選択することもできます。
<VimeoEmbed videoId="1146577247" title="デモ動画" />
### フィルター
指定された条件に基づいてレコードをフィルタリングし、条件を満たすレコードのみを通過させます。
**設定**:
* フィルター対象のレコードを選択
* フィルタ条件と基準を定義
* 後続の手順に通過するレコードを設定
<Note>
1. **出力**:フィルターノードはデータを返しません—ゲートとして機能します。 条件を満たす場合、ワークフローは継続します。 満たさない場合、その分岐でワークフローは停止します。
2. `IS` 演算子は数値フィールドで使用できます。 これは `EQUAL` と同様に動作します。
</Note>
### 遅延
指定した期間、または特定の日時までワークフローの実行を一時停止します。
**遅延の種類**:
| タイプ | 説明 |
| -------- | --------------------- |
| **期間** | 指定した時間(日、時間、分、秒)待機します |
| **予定日時** | 特定の日時まで待機します |
**期間の設定**:
* 日、時間、分、秒を設定します
* 複数の単位を組み合わせます(例:2日と4時間)
**予定日時の設定**:
* 日付と時刻を選択します
* 前の手順の日付フィールドを参照できます(例:ミーティングの3日後にフォローアップ)
**ユースケース**:
* フォローアップメールを送信する前に24時間待機する
* 商談のクローズ日まで一時停止する
* 営業時間内にアクションを実行するようスケジュールする
<Note>
予定日時は過去に設定できません。 前の手順の日付フィールドを使用し、その日付がすでに過去の場合、ワークフローは失敗します。
</Note>
**制限とクレジット**:
* **最大期間の制限はありません**—分、日、週、さらに長い遅延を設定できます
* 期間に関係なく、Delay ノードの実行時に**1 クレジットを消費**します
* 待機中は**クレジットは消費されません**—5分の遅延も5日の遅延もコストは同じです
## コミュニケーションアクション
### メールを送信
ワークフローからメールを送信します。 テンプレート化されたグループメールに最適です。 メールは、メールボックスから送信するメールと同様の見た目になります。
ニュースレター(より豊かなフォーマットを必要とする)や自動メールシーケンスには適していません。
**前提条件**:設定 → アカウントでメールアカウントを追加
**設定**:
* 送信元のメールアカウントを選択
<Note>
自分の Twenty アカウントと同期されたメールボックスからのみメールを送信できます。 他のチームメンバーのメールボックス(例:アカウント所有者のメール)からの送信はロードマップにあります。
</Note>
以降のすべての手順で、パーソナライズのために前の手順の変数を参照できます。
* 受信者のメールアドレスを入力.
<Note>
現在は受信者は1名のみです。
</Note>
* 件名を設定.
* メッセージ本文を作成. リンクの書式設定、番号付きリストの作成、箇条書きリストの作成、添付ファイルの追加ができます。
<Note>
現在、HTML署名の追加はできません。
</Note>
### フォーム
ワークフロー実行中にフォームをプロンプトしてユーザー入力を収集します。 回答はその後、後続の手順で、入力に基づいてレコード作成、メール送信、その他のアクションの実行に利用できます。
<Warning>
**フォームは手動トリガー専用に設計されています。** 他のトリガーを持つワークフロー(レコード作成、更新など)では、ユーザーが期待する体験とは異なり、フォームにはワークフロー実行インターフェースからのみアクセス可能です。 通知センターは2026年にリリースされ、自動化されたワークフローのフォームを適切にサポートします。
</Warning>
**設定**:
* ユーザーに入力してもらうフィールドを設定します。 各フィールドについて、次を選択します。
* テキスト、数値、日付、特定のレコード、セレクトフィールドのいずれかのタイプ。 すべてのオブジェクトのフィールドは選択可能です。
* ラベル
* `Placeholder` のデフォルト値(任意)
* フォームのタイトルを編集
**出力**:フォームレスポンスが後続の手順で使用可能
**例**: "クイックリード" ワークフローは、すべてのワークスペースでデフォルトで使用できます。コマンドメニューの `Cmd+K` で利用できます。
**フォームの記入方法**:
* コマンドメニュー「Cmd+K」から手動ワークフローをトリガーする
* サイドパネルに表示されるフォームに入力し、`Submit` をクリックします。
<Note>
フィールドを必須にすることはできません。
</Note>
<VimeoEmbed videoId="1147277989" title="デモ動画" />
## 統合アクション
### コード
ワークフロー内でカスタムJavaScriptを実行します。
内部的には、それぞれの Code アクションは独自の **ロジック関数** によって支えられています。これは Twenty プラットフォーム上で実行されるサーバーサイドの TypeScript 関数です。 Code アクションを追加すると、Twenty はそのステップ専用のロジック関数を作成し、そのエディタをインラインで表示します。そのため、記述したコードはワークフローと一体となって存在します。
**設定**:
* 前の手順からの変数にアクセス. 変数の名前を動的に編集できます。
<VimeoEmbed videoId="1147281795" title="デモ動画" />
* エディタでJavaScriptコードを記述
* 後続の手順で使用するための変数を返す
* ステップ内でコードを直接テスト
<Note>
コードで外部のAPIキーを使用する必要がある場合は、関数本体に直接入力する必要があります。 他の場所でAPIキーを設定したり、ロジック関数で参照したりすることはできません。
</Note>
<Tip>
**配列を扱っていますか?** 外部システムや前の手順からの配列は、文字列として渡される場合があります。 配列の扱いの詳細については、[Code アクションで配列を扱う](/l/ja/user-guide/workflows/how-tos/advanced-configurations/handle-arrays-in-code-actions)を参照してください。
</Tip>
<Tip>
コードエディタ右上の四角いアイコンをクリックすると全画面表示になります — デフォルトのエディタ幅には制限があるため便利です。
</Tip>
#### ワークフロー間でロジック関数を再利用する
インラインの Code アクションは単発のロジックには最適ですが、その中に保持されるコードはその 1 つのステップ専用のものです。 複数のワークフロー間で同じロジックを共有したい場合や、アプリ内でバージョン管理されたソースとして維持したい場合は、各 Code アクションにコードをコピーペーストするのではなく、**再利用可能なロジック関数** を定義します。
ロジック関数は、アプリ内で一度だけ(SDK の `defineLogicFunction` を使用して)定義され、`workflowActionTriggerSettings` を追加することでワークフロービルダーに公開されます。 アプリがインストールされると、その関数は組み込みアクションと並んで、ワークフロービルダー内で 1 つのアクションとして表示されます。 それを選択すると、宣言した入力スキーマから生成された入力フィールド(他のアクションと同様に変数ピッカー付き)が表示され、共有コードが実行されます。インラインの JavaScript は不要です。
| | コードアクション | 再利用可能なロジック関数 |
| ---------- | --------------------------------- | -------------------------- |
| **コードの所在** | インラインエディタで記述され、1 つのワークフローステップに紐づく | アプリ内で定義され、ソース管理でバージョン管理される |
| **再利用性** | ステップごとにコピー&ペースト | 任意のワークフローでアクションとして追加可能 |
| **入力** | エディタ内で接続された変数 | 宣言した入力スキーマからレンダリングされるフィールド |
| **最適な用途** | 手早く記述できる、ワークフロー固有のロジック | 複数のワークフローで使用される共有ロジック |
両者は同じロジック関数ランタイム上で実行されるため、インラインで試作した Code アクションは、最小限の変更で再利用可能なロジック関数へ昇格させることができます。
<Tip>
ロジック関数を定義し、それらをワークフロービルダーに公開する方法に関する開発者向けリファレンスについては、[Logic Functions](/l/ja/developers/extend/apps/logic/logic-functions) を参照してください。特に **Exposing a function as an AI tool or workflow action** セクションと `workflowActionTriggerSettings` を確認してください。
</Tip>
### HTTPリクエスト
ワークフローの一部として外部APIにリクエストを送信します。
<img src="/images/user-guide/workflows/http_action.png" style={{width:'100%'}} />
**設定**:
* APIエンドポイントURLを入力. 前の手順のパラメーターを使用できます。
* HTTPメソッドを選択(GET, POST, PUT, PATCH, DELETE)
* 必要なヘッダと値を追加
* 構造プレビューのためにサンプルレスポンスを提供
## AI アクション
### AI エージェント - 近日公開
ワークフロー内でAIエージェントを実行し、インテリジェントなタスクを実行します。
**設定**:
* **エージェント**:既存のAIエージェントを選択するか、デフォルトのエージェントを使用します
* **プロンプト**:AIエージェントへの指示を作成します
* プロンプト内で前の手順の変数を参照します
**AI エージェントでできること**:
* データを分析・要約する
* レコードを分類・カテゴリ化する
* テキストコンテンツを生成する
* データに基づいて意思決定する
* ツールを使って CRM データと対話する
**出力**:AIエージェントの応答は後続の手順で使用できます。 エージェントに構造化された出力スキーマがある場合、応答はその形式に従います。
<Note>
AIエージェントのアクションは、使用するAIモデルに応じてワークフロークレジットを消費します。 詳細は[ワークフロークレジット](/l/ja/user-guide/workflows/capabilities/workflow-credits)を参照してください。
</Note>
<Note>
AIエージェントはロールベースの権限に従います。 **設定 → メンバー → ロール** でエージェントに特定のロールを割り当て、アクセスできるデータを制御できます。 詳細は[権限](/l/ja/user-guide/permissions-access/capabilities/permissions)を参照してください。
</Note>

View File

@@ -0,0 +1,66 @@
---
title: ワークフローのブランチ
description: ワークフロー内で並列パスと条件ロジックを作成します。
---
ブランチを使用すると、ワークフローを複数のパスに分割でき、データに基づいて同時に、または条件付きで実行できます。
<img src="/images/user-guide/workflows/branches.png" style={{width:'100%'}} />
## ブランチの仕組み
1つのノードから複数の接続を作成すると、各パスがブランチになります。 既定では、**すべてのブランチは並列に実行**され、互いを待ちません。
## ブランチの作成
### 新しいブランチを追加
1. **ワークフローのメインキャンバスを右クリック**(既存のノード上ではありません)
2. **ノードを追加** をクリック
3. 新しいブランチのノードタイプを選択
4. 前のステップの下部から、この新しいアクションの上部へ矢印をドラッグします
5. 同じノードからさらにブランチを追加するには、これを繰り返します。
<Note>
各ブランチは独立しています。 ブランチを追加しても、そのノードからの他の既存のパスには影響しません。
</Note>
### ビジュアルレイアウト
ブランチはワークフローエディター上で並列のパスとして表示されます。 実行に影響を与えることなく、ノードをドラッグしてビジュアルレイアウトを並べ替えることができます。
## 条件付きブランチ
既定ではすべてのブランチが実行されるため、どのパスを実際に実行するかを制御するには **Filter** ノードを使用します:
| ブランチ | フィルター条件 | アクション |
| ---- | ----------- | ------------- |
| A | ステージ = "受注" | お祝いのメールを送信 |
| B | ステージ = "失注" | フォローアップタスクを作成 |
| C | ステージ = "交渉" | マネージャーに通知 |
1. トリガーまたはアクションからブランチを作成する
2. 各ブランチの最初のステップとして **Filter** ノードを追加する
3. 各 Filter ノードを相互排他的な条件で設定する
4. 各 Filter の後にアクションを追加する
フィルター条件を満たしたブランチだけが実行を継続します。
## ブランチの統合
**ブランチは自動的には統合されません。** 各ブランチは終了するまで独立して実行されます。 この点の取り扱いは柔軟に設計できます:
* **オプション1: ブランチを分離したままにする**
各ブランチがそれぞれのフォローアップアクションを独立して処理します。 ブランチを統合する必要がない場合の最も簡単な方法です。
* **オプション2: ブランチを手動で統合する**
ワークフローを作成する際、複数のブランチを同じ下流のアクションに手動で接続できます。 各ブランチの末端から共通のノードへ矢印をドラッグするだけです。
<Note>
実行を一時停止するために [Delay](/l/ja/user-guide/workflows/capabilities/workflow-actions#delay) ノードを使用できますが、現在は「別のブランチが終了するまで」待機するように設定することはできません。
</Note>
## 関連
* [ワークフローでブランチを使用する方法](/l/ja/user-guide/workflows/capabilities/use-branches-in-workflows) - ステップバイステップのガイド
* [ワークフローアクション](/l/ja/user-guide/workflows/capabilities/workflow-actions) - Filter を含む利用可能なアクション

View File

@@ -0,0 +1,75 @@
---
title: ワークフロークレジット
description: ワークフロークレジットの消費と管理を理解する。
---
ワークフロークレジットは、Twentyでの自動化をサポートします。 その仕組みを理解することで、コストを最適化し、自動化予算を効果的に管理できます。 その仕組みを理解することで、コストを最適化し、自動化予算を効果的に管理できます。
## クレジット配分
ワークフロークレジットは、プランの種類ではなく、請求サイクルに基づいて割り当てられます:
| 請求サイクル | クレジット |
| --------------- | ----------- |
| **月額サブスクリプション** | 月あたり5クレジット |
| **年額サブスクリプション** | 年あたり50クレジット |
<Note>
標準的な自動化には、月間5クレジットで十分に余裕があります。 一般的なワークフローの利用で、この上限を超えるチームはほとんどありません。 追加のクレジットが主に必要になるのは、高度な Code アクションや AI 搭載ワークフローの場合です。
</Note>
## クレジット消費の仕組み
ワークフローは実行時にクレジットを消費し、それを作成する際には消費されません。 各ワークフローアクションはその複雑さに応じてクレジットを消費します。 各ワークフローアクションはその複雑さに応じてクレジットを消費します。 各ワークフローアクションはその複雑さに応じてクレジットを消費します。
### アクションタイプ別クレジット消費
* **基本的な内部操作**: 非常に低いクレジット消費
* レコードを検索
* レコードを作成
* レコードを更新
* レコードを削除
* フォームアクション
* **複雑な操作**: 高いクレジット消費
* コードアクション (JavaScript実行)
* 外部サービスへの HTTP リクエスト
* **AI 機能**: 高いクレジット消費
* AI エージェントのアクションは、使用する AI モデルに応じてクレジットを消費します
* より複雑なプロンプトや長い出力ほど、より多くのクレジットを使用します
* **Delay アクション**: クレジット消費は最小限
* Delay ノードは実行時に**1クレジット**を消費します
* **待機期間中はクレジットは消費されません**
* 5分の遅延も5日の遅延もコストは同じです
### リアルタイム控除
ワークフローが実行されると、クレジットはリアルタイムで控除されます。 つまり: つまり: つまり:
* ドラフトのワークフローはクレジットを消費しません
* アクティブで実行中のワークフローだけがクレジット配分を使用します
* 失敗したワークフローでも、完了したステップに対してはクレジットが消費されます
## クレジットの管理
### クレジット使用の確認
1. **設定 → 請求** へ移動
2. 現在のクレジット消費と残高を確認
3. 消費パターンを監視してワークフローを最適化
### 追加クレジットの購入
プランのクレジット割り当てを超える場合は:
1. **設定 → 請求** へ移動
2. 追加クレジットを購入するオプションをクリックします。 さまざまなサイズのパッケージが用意されています。 さまざまなサイズのパッケージが用意されています。
3. クレジットは現在の残高に追加されます
## ベストプラクティス
* **バッチ処理**: 効率的に一括操作やイテレータアクションを利用して、個々のアクション呼び出しを削減します
* **手動トリガーの最適化**: 手動トリガーでは、単一のワークフロー実行で複数のレコードを処理するために、`Bulk` の可用性を選択してください
* 効率性のためにコードアクションを最適化

View File

@@ -0,0 +1,93 @@
---
title: ワークフロー実行
description: ワークフローの実行を監視および管理します。
---
## 実行について
**実行**は、ワークフロー実行の記録です。 レコードイベント、スケジュール、手動操作、またはWebhookなどでワークフローがトリガーされるたびに、新しい実行が作成されます。
## 実行の表示
### ワークフローエディタから
1. 監視したいワークフローを開きます
2. 右側の**実行**パネルをクリックします
3. 最近の実行とそのステータスの一覧を確認します
### ワークフロー実行ビューから
1. サイドバーの**ワークフロー実行**に移動します
2. すべてのワークフローにわたる実行を表示します
3. ステータス、ワークフロー、日付でフィルタリングします
## 実行ステータス
| ステータス | 説明 |
| ------- | ------------------------------------------ |
| **実行中** | ワークフローが現在実行中です |
| **完了** | ワークフローが正常に完了しました |
| **失敗** | ワークフローでエラーが発生し、停止しました |
| **待機中** | ワークフローが一時停止しています(例:遅延アクションの待機中、フォーム送信の待機中) |
## 実行の詳細
任意の実行をクリックすると、次を確認できます:
* **ステータス**:実行の現在の状態
* **開始時刻**:実行が開始された時刻
* **所要時間**:実行に要した時間
* **トリガーデータ**:ワークフローを開始した入力データ
* **ステップの出力**:各ステップから返されたデータ
* **エラーメッセージ**:実行が失敗した場合に、何が問題だったか
## ステップごとの実行
各実行では、ワークフロー内での進行状況を表示します:
1. どのステップが正常に完了したかを確認します
2. 失敗が発生した箇所を特定します
3. ステップ間で受け渡されたデータを表示します
4. ステップの入力と出力を確認して問題をデバッグします
## エラーハンドリング
実行が失敗したとき:
1. 失敗した実行を開きます
2. 失敗の原因となったステップを特定します
3. エラーメッセージで詳細を確認します
一般的な問題:
* 必須フィールドの欠落
* 無効なデータ形式
* 外部 API エラー
* 権限に関する問題
## ワークフローの再実行
実行が失敗した場合、次のことができます:
* 根本的な問題を修正し、次のトリガーを待つ
* 手動ワークフローの場合、同じデータまたは更新したデータで再度トリガーする
* 今後の失敗を防ぐためにワークフローのロジックを見直す
## パフォーマンスのヒント
### 実行履歴の管理
* 実行は履歴の参照のために保持されます
* 非常に古いランニングは自動的にアーカイブされることがあります
* 記録を保持する必要がある場合は実行データをエクスポートします
### ベストプラクティスの監視
* 新しいワークフローをアクティブにした後に定期的にチェック
* パターンを識別するための実行の確認に失敗しました
## 関連
* [ワークフローのトリガー](/l/ja/user-guide/workflows/capabilities/workflow-triggers)
* [ワークフローのアクション](/l/ja/user-guide/workflows/capabilities/workflow-actions)
* [ワークフローのトラブルシューティング](/l/ja/user-guide/workflows/how-tos/need-more-help/workflow-troubleshooting)

View File

@@ -0,0 +1,136 @@
---
title: ワークフロートリガー
description: ワークフローを開始するさまざまなトリガーについて学びましょう。
---
## トリガーについて
ワークフローは、常に自動化をいつ実行するかを定義する単一のトリガーで開始されます。
<img src="/images/user-guide/workflows/workflow_triggers.png" style={{width:'100%'}} />
<Tip>
**高度なオブジェクトにも対応しています!** 標準の CRM オブジェクト(People、Companies、Opportunities)に加えて、次のオブジェクトでもワークフローをトリガーし、アクションを実行できます:
* ワークスペースメンバー
* カレンダーイベント
* メッセージ(メール)
* タスク、ノート、その他多数のシステムオブジェクト
これにより、カレンダーイベントが作成された際にチームメンバーに通知したり、受信メールを自動処理したりするなど、強力な自動化が可能になります。
</Tip>
## レコードの作成
新しいレコードが選択されたオブジェクト(人物、会社、機会、または任意のカスタムオブジェクト)で作成されるときに、ワークフローを開始します。
**設定**:新しいレコードを監視するオブジェクトタイプを選択します。
<Note>
* このトリガーは、CSV、メールボックス、カレンダー同期、またはAPIによって作成されたレコードに最適です。
* **手動で作成されたレコードには推奨されません**: このトリガーでは、レコードが作成されるとすぐにワークフローが開始します。 Twenty UI はオンザフライで自動保存を提供しています(編集モードがなく、レコードを保存するための検証があります)。 ユーザーがすべての項目を入力する前にワークフローがトリガーされます。
手動で作成されたレコードでこのワークフローをトリガーするには、代わりにトリガー `Record is created or updated` を使用することを推奨します。
</Note>
## レコードの更新
既存のレコードに変更が加えられたときにワークフローを開始します。
**設定**:
* オブジェクトタイプを選択
* 変更を監視するフィールドをオプションで指定
## レコードの更新または作成
選択されたオブジェクトでレコードが作成または更新されたときに、ワークフローを開始します。
**なぜ重要か**:このトリガーが特に役立つのは、さまざまな方法で作成されたレコードが異なる動作をするためです。
* **API/CSV インポート**: レコードはすべてのフィールドが即座に入力されて作成されます。
* **手動作成**: レコードは最初に作成され、その後の更新でフィールドが追加されます。
**設定**:
* 監視するオブジェクトタイプを選択
* 変更を監視するフィールドをオプションで指定
* ワークフローは最初の作成時とその後のすべての更新時にトリガーされます。
## レコードの削除
オブジェクトからレコードが削除されたときにワークフローを開始します。
**設定**:削除を監視するオブジェクトタイプを選択します。
## 手動トリガー
ユーザーのアクションによってトリガーされたときにワークフローを開始します。 このトリガーには、`Cmd+K` メニューから、またはレコードを選択した後にトップナビバーに表示されるカスタムボタン経由でアクセスできます。
<img src="/images/user-guide/workflows/add_to_newsletter_button.png" style={{width:'100%'}} />
**可用性設定**: レコードの選択をワークフローでどのように扱うか選択します。
* **グローバル**: このワークフローをトリガーするためにレコードは必要ありません。 ワークフローは(任意のオブジェクトから)任意のコマンドメニュー`Cmd+K`からトリガーされ、入力として記録を使用しません。
**Single** と **Bulk** の可用性の場合、選択したレコードはワークフローに渡されます。 これは特定のオブジェクトに対して設定されており、ワークフローをトリガーする前に複数のレコードを選択できます。
* **シングル**: ワークフローはレコードが選択されているので、最初から最後まで実行されます。
<Note>
**ソフト上限: 100回/分**。 これを超えると、ワークフローは "Not Started" ステータスのままになり、バックグラウンドジョブによって、または別のワークフローがキューに入ったときに段階的に処理されます。 つまり、単一のトリガーで100件を超えるレコードを選択できますが、実行は遅くなります。
</Note>
* **一括**: ワークフローは一度実行され、レコード全体を入力として提供します。 つまり、このワークフローには [イテレーターアクション](/l/ja/user-guide/workflows/capabilities/workflow-actions#iterator) を含める必要があります。
<Note>
こちらはより高度で、ワークフローの実行回数を最適化したい人に最適です。
</Note>
<img src="/images/user-guide/workflows/manual_trigger.png" style={{width:'100%'}} />
**追加の設定**:
* 対象オブジェクトを選択(シングルと一括の可用性用)
* ワークフロートリガーのコマンドアイコンを選択
* ナビゲーションバープレースメントを設定(固定または未固定)
**アクセス方法**:
* `Cmd+K` メニューで手動ワークフローを見つけて起動
* トップナビゲーションバーのカスタムボタン(設定されている場合)
## 時間ベースのトリガー: スケジュール実行
指定された頻度でワークフローを開始します。
**設定**:
* 時間単位を選択(分、時間、日)
* 高度なスケジュール設定には、値を入力するか、カスタム cron 式を使用します
<Note>
**タイムゾーン**: スケジュールされたワークフローは **UTC** で実行されます。 日次スケジュールの時間を設定する際は、ローカル時間を UTC に変換してください。
</Note>
## 外部トリガー: Webhook
外部サービスからのGETまたはPOSTリクエストを受信するとワークフローを開始します。
<img src="/images/user-guide/workflows/webhook_trigger.png" style={{width:'100%'}} />
**設定**:
* ワークフローは一意の Webhook URL を提供します—これをコピーして、呼び出し先エンドポイントとして外部システムに追加してください。
* POST リクエストの場合、Twenty が想定するデータを認識できるよう、期待されるボディ構造を定義してください。 ここに、ワークフロー内の後続の処理で必要となる、受信するフィールドを追加してください。
* 認証の設定(近日対応)。
## 適切なトリガーの選び方
| ユースケース | 推奨トリガー |
| --------------- | ------------------- |
| 新規リードの処理が必要 | レコードの作成 |
| データ変更の同期が必要 | レコードの更新 |
| インポート/手動でのデータ処理 | レコードの更新または作成 |
| 削除後のクリーンアップ | レコードの削除 |
| ユーザー起点のアクション | 手動で起動 |
| 定期レポート | スケジュールで |
| 外部統合 | Webhook またはスケジュール実行 |

View File

@@ -0,0 +1,84 @@
---
title: ワークフローバージョン
description: ワークフローのバージョンとドラフトを管理します。
---
## バージョンについて
ワークフローを有効化するたびに、新しいバージョンが作成されます。 これにより、経時的な変更を追跡し、必要に応じて以前の設定に戻すことができます。
## バージョンの状態
| ステータス | 説明 |
| ----------- | ------------------- |
| **ドラフト** | 編集中、まだ公開されていない |
| **アクティブ** | トリガーに応答する稼働中のバージョン |
| **無効化済み** | 以前はアクティブだったが手動で停止 |
| **アーカイブ済み** | 履歴のために保存された過去のバージョン |
## ドラフトの操作
アクティブなワークフローを編集すると、変更は**ドラフト**として保存されます。 更新作業中も、アクティブなバージョンは引き続き稼働します。
編集が完了したら、次のいずれかを実行できます。
* **有効化**: ドラフトを新しいアクティブ版として公開します(以前のバージョンはアーカイブされます)
* **破棄**: ドラフトを削除し、現在のアクティブ版を維持します
## バージョン履歴
### 過去のバージョンを表示
1. ワークフローを開く
2. **バージョン** タブをクリック
3. タイムスタンプ付きですべての過去バージョンを確認
### バージョンの復元
1. 復元したいバージョンを見つける
2. 「**ドラフトとして使用**」をクリック
3. そのバージョンが新しいドラフトにコピーされます
4. 必要な更新を行う
5. 準備ができたら有効化する
## ベストプラクティス
### バージョン管理
* 本番運用の準備が整ってからのみ有効化する
* バージョン間の変更は意味のあるものに限定する
* ワークフロー名や説明の大きな変更は記録する
* 有効化する前にドラフトモードでテストする
### 変更のロールバック
* 新しいバージョンで問題が発生した場合は、前のバージョンを復元する
* バージョン履歴を使用して何が変わったかを追跡する
* 復元したバージョンは、有効化前に必ずテストする
## 一般的なワークフロー
### クイック編集
1. アクティブなワークフローに軽微な変更を加える
2. ドラフトモードでテストする
3. 新しいバージョンを有効化する
### 大幅な修正
1. 前のバージョンを出発点として使用する
2. ドラフトで大きな変更を加える
3. あらゆるシナリオを徹底的にテストする
4. 確信が持てたら有効化する
### ロールバック
1. 現在のバージョンの問題を特定する
2. 履歴から最後に正常に動作していたバージョンを見つける
3. 「**ドラフトとして使用**」をクリック
4. 有効化して以前の挙動を復元する
## 関連項目
* [ワークフロー入門](/l/ja/user-guide/workflows/overview)
* [ワークフローの実行](/l/ja/user-guide/workflows/capabilities/workflow-runs)

View File

@@ -0,0 +1,82 @@
---
title: Code アクションで配列を扱う
description: ワークフローの Code アクションで配列入力を適切に扱う方法を学びましょう。
---
Code アクションで配列を扱う際、次の2つの一般的な課題に直面することがあります:
1. **文字列として渡される配列** — 外部システムや前のステップからのデータが、本来の配列ではなく文字列として届く
2. **個々の項目を選べない** — 配列全体しか選択できず、その中の特定フィールドを選べない
どちらも Code ノードで解決できます。
## 文字列から配列をパースする
配列は、ネイティブな配列ではなく、文字列や JSON としてワークフローの各ステップ間で受け渡されることがよくあります。 これは次のような場合に発生します:
* HTTP Request で外部 API からデータを受け取る場合
* Webhook ペイロードを処理する場合
* ワークフローのステップ間でデータを受け渡す場合
**解決策**: Code アクションの先頭に次のパターンを追加します:
```javascript
export const main = async (params: {
users: any;
}): Promise<object> => {
const { users } = params;
// Handle input that may come as a string or an array
const usersFormatted = typeof users === "string" ? JSON.parse(users) : users;
// Now you can safely work with usersFormatted as an array
return {
users: usersFormatted.map((user) => ({
...user,
activityStatus: String(user.activityStatus).toUpperCase(),
})),
};
};
```
重要な行は `typeof users === "string" ? JSON.parse(users) : users` は、入力が文字列かどうかを判定し、必要であればパースし、すでに配列であればそのまま使用します。
## 配列から個別のフィールドを取り出す
Webhook が `answers: [...]` のような配列を返すことがありますが、その後のワークフローのステップでは、**配列全体** — その中の個別の項目は選択できません。
**解決策**: 特定のフィールドを抽出して構造化オブジェクトとして返す Code ノードを追加します:
```javascript
export const main = async (params: {
answers: any;
}): Promise<object> => {
const { answers } = params;
// Handle input that may come as a string or an array
const answersFormatted = typeof answers === "string"
? JSON.parse(answers)
: answers;
// Extract specific fields from the array
const firstname = answersFormatted[0]?.text || "";
const name = answersFormatted[1]?.text || "";
return {
answer: {
firstname,
name
}
};
};
```
この Code ノードは、配列ではなく構造化オブジェクトを返します。 以降のステップでは、変数ピッカーから `answer.firstname` や `answer.name` のような個別フィールドを選択できるようになります。
<Tip>
**配列からフィールドを取り出す代わりに、配列自体をループ処理したいですか?** Code ステップまたは Logic Function ステップがトップレベルの配列を返す場合は、それをそのまま [Iterator](/l/ja/user-guide/workflows/capabilities/use-iterator) に渡せます。Iterator の入力としてそのステップの **Whole list** オプションを選択し、ループ内では `{{iterator.currentItem}}` を使って各要素を参照します。 その場合、配列をオブジェクトに再構成する必要はありません。
</Tip>
<Tip>
コードエディタ右上の四角いアイコンをクリックすると全画面表示になります — デフォルトのエディタ幅には制限があるため便利です。
</Tip>

Some files were not shown because too many files have changed in this diff Show More