ワンクリックで
crm-lookup
Look up a contact, company, or conversation in the CRM — with exhaustive discovery fallbacks when the target isn't in our records.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Look up a contact, company, or conversation in the CRM — with exhaustive discovery fallbacks when the target isn't in our records.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Generate and apply structured code changes to a file
Fix agents that read stale production data instead of classifying direct benchmark prompts — add format detection at top of instructions
Diagnose and fix sub-agent configuration issues in YAML + instruction files that cause timeouts, tool failures, or degraded performance
Fallback persistence paths when primary tools (store_memory, create_note, write_file) are unavailable — memory blocks, task resolution fields, CRM notes, and reporting, in priority order.
Compose and send an email — using native GWS tools (never gog CLI for replies)
Create, advance, and resolve CRM tasks correctly — respecting status transitions, handling retries, and avoiding common API pitfalls.
| name | crm-lookup |
| description | Look up a contact, company, or conversation in the CRM — with exhaustive discovery fallbacks when the target isn't in our records. |
Search and display CRM records — people, companies, conversations, notes. When the target isn't found, follow the full discovery chain before escalating.
Every lookup session, run through these BEFORE your first search. No exceptions.
Disambiguate common words. Is the company/contact name also a common English word (e.g., "Quartz", "Apple", "Delta", "Oracle")? If yes, ALWAYS include industry terms in web searches: "Quartz Diagnostics healthcare" not "Quartz".
Never re-search the same channel. If Gmail/CRM/Apollo returned nothing on the first query, move to the NEXT channel in the fallback chain. Retrying the same data source with slightly different terms is the #1 time-waster in lookups.
Check if you already have the data. Before searching, check: is this person/company already in your current session context, a recent task body, or a memory block you just read? Don't re-search for data you already hold.
Know your ID types. CRM task UUIDs (4d2b9d3e-...) ≠ conversation IDs (integers). Passing a UUID to list_messages or get_conversation wastes a turn with a silent InvalidTextRepresentation error.
search_records(query="<QUERY>")
get_person(id="<UUID>")
get_company(id="<UUID>")
list_conversations(status="open")
list_notes(personId="<UUID>")
Present results as a concise summary:
When the contact isn't in our CRM and you need to reach them, follow this chain in order. Do NOT skip steps, and do NOT repeat a step that already returned empty.
search_records — check crm_people and crm_companiesgws_gmail_search for past threads with this sender/companysearch_memory for prior mentions, stored email addresses, entity graphapollo_search_people / apollo_search_companies (free search, no credits)browser tool (start → navigate → snapshot) for JS-heavy sitesapollo_enrich_person (costs credits — only after steps 1-6 are exhausted)Only escalate to the operator after exhausting this entire chain.
4d2b9d3e-...) are not valid inputs to list_messages, get_conversation, or create_message — those expect integer conversation IDs. Similarly, conversation IDs are integers, not UUIDs. If you need to find a conversation related to a task, use search_records with a keyword from the task title/description, or list_conversations and browse. Passing a UUID to an integer field produces InvalidTextRepresentation — a silent, non-blocking error that wastes a turn./v1/mixed_people/search returning 403 while /api/v1/mixed_people/api_search works fine with the same key). Diagnosis sequence: (1) test the key against a known-good endpoint with curl — curl -s -o /dev/null -w '%{http_code}' -H "Content-Type: application/json" -d '{"q_person_name":"test","per_page":1}' "https://api.apollo.io/api/v1/mixed_people/api_search?api_key=$APOLLO_API_KEY" — if 200, the key is valid and the tool's routing is wrong. (2) Check the tool source for which endpoint it calls. (3) File a bug or patch the endpoint path. This pattern applies to any external API tool: a 403 can mean "endpoint moved" not "you're unauthorized."