Attio 自動化 は何をしますか?
Attio CRM ワークスペースを管理 — 個人や企業をあいまい検索し、複雑なフィルタークエリを実行し、メモを閲覧し、オブジェクトスキーマを発見し、レコードを一覧表示 — すべて自然言語コマンドで行えます。
ツールキットドキュメント: composio.dev/toolkits/attio
セットアップ
- Composio MCP サーバーをクライアント設定に追加:
https://rube.app/mcp - プロンプトに従って Attio アカウントを接続(OAuth 認証)。
- 自然言語コマンドを発行して CRM データを管理開始。
コアワークフロー
1. レコードのあいまい検索
名前、ドメイン、メール、電話番号、ソーシャルハンドルで個人、企業、案件、その他任意のオブジェクトを検索します。
ツール: ATTIO_SEARCH_RECORDS
例のプロンプト:
「Alan Mathis という名前の人物を Attio で検索して」
主要パラメータ(すべて必須):
query— 検索文字列(最大256文字)。空文字列の場合はデフォルト結果を返します。objects— 検索するオブジェクトスラグの配列(例:["people"],["people", "companies"],["deals"])request_as— コンテキスト: ワークスペース全体を検索するには{"type": "workspace"}を使用するか、特定のワークスペースメンバーを指定します。
2. 高度なフィルタークエリ
サーバーサイドでのフィルタリング、並べ替え、複雑な条件を使用してレコードをクエリ — あいまい検索よりはるかに強力です。
ツール: ATTIO_QUERY_RECORDS
例のプロンプト:
「2025年1月以降に作成された Attio の全企業を名前順で検索して」
主要パラメータ:
object(必須) — オブジェクトスラグまたは UUID(例: "people", "companies", "deals")filter—$eq,$contains,$gte,$and,$orなどの演算子を使用する Attio フィルターオブジェクトsorts—direction("asc"/"desc")とattributeを持つ並べ替え仕様の配列limit— 返す最大レコード数(最大500)offset— ページネーションオフセット
フィルター例:
{"name": {"first_name": {"$contains": "John"}}}
{"email_addresses": {"$contains": "@example.com"}}
{"created_at": {"$gte": "2025-01-01T00:00:00.000Z"}}
3. ID または属性によるレコードの検索
一意の ID で特定のレコードを検索するか、一意の属性値で検索します。
ツール: ATTIO_FIND_RECORD
例のプロンプト:
「ドメイン example.com の Attio 企業を検索して」
主要パラメータ:
object_id(必須) — オブジェクトタイプスラグ: "people", "companies", "deals", "users", "workspaces"record_id— UUID による直接検索(オプション)attributes— 属性フィルターの辞書(例:{"email_addresses": "[email protected]"})limit— 最大レコード数(最大1000)offset— ページネーションオフセット
4. メモの閲覧とフィルタリング
ワークスペース全体のメモを一覧表示するか、特定の親オブジェクトやレコードでフィルタリングします。
ツール: ATTIO_LIST_NOTES
例のプロンプト:
「Attio の Acme Corp 企業レコードの最新メモ10件を表示して」
主要パラメータ:
parent_object— オブジェクトスラグ(例: "people", "companies", "deals") —parent_record_idが必要parent_record_id— 親レコードの UUID —parent_objectが必要limit— 返す最大メモ数(1〜50、デフォルト10)offset— スキップする結果の数
5. オブジェクトスキーマと属性の発見
オブジェクトとその属性定義を一覧表示して、ワークスペース構造を理解します。
ツール: ATTIO_GET_OBJECT, ATTIO_LIST_ATTRIBUTES
例のプロンプト:
「Attio の companies オブジェクトにはどんな属性がある?」
Get Object の主要パラメータ:
object_id— オブジェクトスラグまたは UUID
List Attributes の主要パラメータ:
target— "objects" または "lists"identifier— オブジェクトまたはリストの ID/スラグ
6. 全レコードの一覧表示
特定のオブジェクトタイプからレコードを取得し、作成順で返します。シンプルなページネーションをサポート。
ツール: ATTIO_LIST_RECORDS
例のプロンプト:
「Attio の最初の100件の人物レコードを一覧表示して」
主要パラメータ:
- オブジェクトタイプ識別子
- ページネーションパラメータ
既知の落とし穴
- タイムスタンプ形式は重要: すべてのタイムスタンプ比較(
created_at,updated_at, カスタムタイムスタンプ)は ISO8601 文字列形式(例:2025-01-01T00:00:00.000Z)を使用する必要があります。Unix タイムスタンプや数値を使用すると「Invalid timestamp value」エラーが発生します。 - 名前属性はネストが必須:
name属性にはサブプロパティ(first_name,last_name,full_name)があり、これらはnameの下にネストする必要があります。正:{"name": {"first_name": {"$contains": "John"}}}。誤:{"first_name": {...}}— これは "unknown_filter_attribute_slug" エラーで失敗します。 - メール演算子は限定的:
email_addressesは$eq,$contains,$starts_with,$ends_withをサポートしますが、$not_emptyはサポートしません。 - レコード参照属性はパスフィルタリングが必要: 他のレコードを参照する属性(例: "team", "company")の場合、ネスト構文ではなくパスベースのフィルタリングを使用します。例:
{"path": [["companies", "team"], ["people", "name"]], "constraints": {"first_name": {"$eq": "John"}}}。 - 「lists」はオブジェクトタイプではない: 「lists」を
object_idとして使用しないでください。リスト操作にはリスト固有のアクションを使用します。 - 検索は結果整合性:
ATTIO_SEARCH_RECORDSは結果整合性のある結果を返します。最新の結果が保証されたデータが必要な場合は、代わりにATTIO_QUERY_RECORDSを使用してください。 - 属性スラグはワークスペースごとに異なる: システム属性(例: "email_addresses", "name")は一貫していますが、カスタム属性は異なります。
ATTIO_LIST_ATTRIBUTESを使用して、ワークスペースで有効なスラグを確認してください。
クイックリファレンス
| アクション | ツールスラグ | 必須パラメータ |
|---|---|---|
| あいまい検索 | ATTIO_SEARCH_RECORDS | query, objects, request_as |
| フィルタークエリ | ATTIO_QUERY_RECORDS | object |
| ID/属性で検索 | ATTIO_FIND_RECORD | object_id |
| メモ一覧 | ATTIO_LIST_NOTES | なし(オプションフィルター) |
| オブジェクトスキーマ取得 | ATTIO_GET_OBJECT | object_id |
| 属性一覧 | ATTIO_LIST_ATTRIBUTES | target, identifier |
| レコード一覧 | ATTIO_LIST_RECORDS | オブジェクトタイプ |
Powered by Composio