💼 Attio Automation
Attio (アティオ) という顧客管理システム (
📺 まず動画で見る(YouTube)
▶ 【自動化】AIガチ勢の最新活用術6選がこれ1本で丸分かり!【ClaudeCode・AIエージェント・AI経営・Skills・MCP】 ↗
※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と Skill の挙動は厳密には一致しないことがあります。
📜 元の英語説明(参考)
Automate Attio CRM operations -- search records, query contacts and companies with advanced filters, manage notes, list attributes, and navigate your relationship data -- using natural language through the Composio MCP integration.
🇯🇵 日本人クリエイター向け解説
Attio (アティオ) という顧客管理システム (
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o attio-automation.zip https://jpskill.com/download/1404.zip && unzip -o attio-automation.zip && rm attio-automation.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/1404.zip -OutFile "$d\attio-automation.zip"; Expand-Archive "$d\attio-automation.zip" -DestinationPath $d -Force; ri "$d\attio-automation.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
attio-automation.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
attio-automationフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
💬 こう話しかけるだけ — サンプルプロンプト
- › Attio Automation で、私のビジネスを分析して改善案を3つ提案して
- › Attio Automation を使って、来週の会議用の資料を作って
- › Attio Automation で、現状の課題を整理してアクションプランに落として
これをClaude Code に貼るだけで、このSkillが自動発動します。
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Attio Automation
Attio CRMワークスペースを管理します。人物や企業をあいまい検索したり、複雑なフィルタークエリを実行したり、メモを閲覧したり、オブジェクトスキーマを発見したり、レコードを一覧表示したり、これらすべてを自然言語コマンドで行うことができます。
ツールキットのドキュメント: composio.dev/toolkits/attio
セットアップ
- Composio MCPサーバーをクライアント設定に追加します。
https://rube.app/mcp - プロンプトが表示されたらAttioアカウントを接続します(OAuth認証)。
- 自然言語コマンドを発行してCRMデータを管理し始めます。
コアワークフロー
1. レコードのあいまい検索
人物、企業、取引、または任意のオブジェクトを、名前、ドメイン、メール、電話番号、ソーシャルハンドルで検索します。
ツール: ATTIO_SEARCH_RECORDS
プロンプト例:
"AttioでAlan Mathisという名前の人を検索してください"
主要なパラメーター(すべて必須):
query-- 検索文字列(最大256文字)。空の文字列はデフォルトの結果を返します。objects-- 検索するオブジェクトスラッグの配列(例:["people"]、["people", "companies"]、["deals"])request_as-- コンテキスト: ワークスペース全体の検索には{"type": "workspace"}を使用するか、ワークスペースメンバーを指定します。
2. 高度なフィルタークエリ
サーバーサイドのフィルタリング、ソート、複雑な条件を使用してレコードをクエリします。あいまい検索よりもはるかに強力です。
ツール: ATTIO_QUERY_RECORDS
プロンプト例:
"Attioで2025年1月以降に作成されたすべての企業を名前でソートして見つけてください"
主要なパラメーター:
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
プロンプト例:
"Attioでドメインがexample.comの会社を見つけてください"
主要なパラメーター:
object_id(必須) -- オブジェクトタイプスラッグ: "people"、"companies"、"deals"、"users"、"workspaces"record_id-- UUIDによる直接検索(オプション)attributes-- 属性フィルターの辞書(例:{"email_addresses": "john@example.com"})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
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Attio Automation
Manage your Attio CRM workspace -- fuzzy search across people and companies, run complex filtered queries, browse notes, discover object schemas, and list records -- all through natural language commands.
Toolkit docs: composio.dev/toolkits/attio
Setup
- Add the Composio MCP server to your client configuration:
https://rube.app/mcp - Connect your Attio account when prompted (OAuth authentication).
- Start issuing natural language commands to manage your CRM data.
Core Workflows
1. Fuzzy Search Across Records
Search for people, companies, deals, or any object by name, domain, email, phone, or social handle.
Tool: ATTIO_SEARCH_RECORDS
Example prompt:
"Search Attio for anyone named Alan Mathis"
Key parameters (all required):
query-- Search string (max 256 characters). Empty string returns default results.objects-- Array of object slugs to search (e.g.,["people"],["people", "companies"],["deals"])request_as-- Context: use{"type": "workspace"}for full workspace search, or specify a workspace member
2. Advanced Filtered Queries
Query records with server-side filtering, sorting, and complex conditions -- far more powerful than fuzzy search.
Tool: ATTIO_QUERY_RECORDS
Example prompt:
"Find all companies in Attio created after January 2025 sorted by name"
Key parameters:
object(required) -- Object slug or UUID (e.g., "people", "companies", "deals")filter-- Attio filter object with operators like$eq,$contains,$gte,$and,$orsorts-- Array of sort specifications withdirection("asc"/"desc") andattributelimit-- Max records to return (up to 500)offset-- Pagination offset
Filter examples:
{"name": {"first_name": {"$contains": "John"}}}
{"email_addresses": {"$contains": "@example.com"}}
{"created_at": {"$gte": "2025-01-01T00:00:00.000Z"}}
3. Find Records by ID or Attributes
Look up a specific record by its unique ID or search by unique attribute values.
Tool: ATTIO_FIND_RECORD
Example prompt:
"Find the Attio company with domain example.com"
Key parameters:
object_id(required) -- Object type slug: "people", "companies", "deals", "users", "workspaces"record_id-- Direct lookup by UUID (optional)attributes-- Dictionary of attribute filters (e.g.,{"email_addresses": "john@example.com"})limit-- Max records (up to 1000)offset-- Pagination offset
4. Browse and Filter Notes
List notes across the workspace or filter by specific parent objects and records.
Tool: ATTIO_LIST_NOTES
Example prompt:
"Show the last 10 notes on the Acme Corp company record in Attio"
Key parameters:
parent_object-- Object slug (e.g., "people", "companies", "deals") -- requiresparent_record_idparent_record_id-- UUID of the parent record -- requiresparent_objectlimit-- Max notes to return (1-50, default 10)offset-- Number of results to skip
5. Discover Object Schemas and Attributes
Understand your workspace structure by listing objects and their attribute definitions.
Tools: ATTIO_GET_OBJECT, ATTIO_LIST_ATTRIBUTES
Example prompt:
"What attributes does the companies object have in Attio?"
Key parameters for Get Object:
object_id-- Object slug or UUID
Key parameters for List Attributes:
target-- "objects" or "lists"identifier-- Object or list ID/slug
6. List All Records
Retrieve records from a specific object type with simple pagination, returned in creation order.
Tool: ATTIO_LIST_RECORDS
Example prompt:
"List the first 100 people records in Attio"
Key parameters:
- Object type identifier
- Pagination parameters
Known Pitfalls
- Timestamp format is critical: ALL timestamp comparisons (
created_at,updated_at, custom timestamps) MUST use ISO8601 string format (e.g.,2025-01-01T00:00:00.000Z). Unix timestamps or numeric values cause "Invalid timestamp value" errors. - Name attributes must be nested: The
nameattribute has sub-properties (first_name,last_name,full_name) that MUST be nested undername. Correct:{"name": {"first_name": {"$contains": "John"}}}. Wrong:{"first_name": {...}}-- this fails with "unknown_filter_attribute_slug". - Email operators are limited:
email_addressessupports$eq,$contains,$starts_with,$ends_withbut NOT$not_empty. - Record-reference attributes need path filtering: For attributes that reference other records (e.g., "team", "company"), use path-based filtering, not nested syntax. Example:
{"path": [["companies", "team"], ["people", "name"]], "constraints": {"first_name": {"$eq": "John"}}}. - "lists" is not an object type: Do not use "lists" as an
object_id. Use list-specific actions for list operations. - Search is eventually consistent:
ATTIO_SEARCH_RECORDSreturns eventually consistent results. For guaranteed up-to-date results, useATTIO_QUERY_RECORDSinstead. - Attribute slugs vary by workspace: System attributes (e.g., "email_addresses", "name") are consistent, but custom attributes vary. Use
ATTIO_LIST_ATTRIBUTESto discover valid slugs for your workspace.
Quick Reference
| Action | Tool Slug | Required Params |
|---|---|---|
| Fuzzy search records | ATTIO_SEARCH_RECORDS |
query, objects, request_as |
| Query with filters | ATTIO_QUERY_RECORDS |
object |
| Find record by ID/attributes | ATTIO_FIND_RECORD |
object_id |
| List notes | ATTIO_LIST_NOTES |
None (optional filters) |
| Get object schema | ATTIO_GET_OBJECT |
object_id |
| List attributes | ATTIO_LIST_ATTRIBUTES |
target, identifier |
| List records | ATTIO_LIST_RECORDS |
Object type |
Powered by Composio