Skip to content

Instantly share code, notes, and snippets.

@koundinya
Created January 4, 2026 01:05
Show Gist options
  • Select an option

  • Save koundinya/d1c20d133a37d1350c59cf8c2a560b66 to your computer and use it in GitHub Desktop.

Select an option

Save koundinya/d1c20d133a37d1350c59cf8c2a560b66 to your computer and use it in GitHub Desktop.
ChatGPT Apps : Tool descriptions
Updates records in an Airtable table.
The fields you specify will be updated, and all other fields will be left
unchanged.
To get baseId and tableId, consider using the search_bases and
list_tables_for_base tools first.
Search for contacts at a company by role, title, or department.\n\n## Quick
Reference\n- **This tool**: Find TYPES of people (e.g., \"engineers at
Stripe\", \"VPs at OpenAI\")\n- **find-and-enrich-list-of-contacts**: Find
SPECIFIC named people (e.g., \"John Smith at Stripe\")\n- **Follow-ups**:
ALWAYS re-call this tool—never filter results in chat. When ambiguous, ask the
user.\n\n## Parameters\n\n### companyIdentifier (required)\nDomain (e.g.,
\"stripe.com\") or LinkedIn company URL. Company names alone will fail.\n-
Convert known companies: \"Stripe\" → \"stripe.com\"\n- If ambiguous (e.g.,
\"Delta\"), ask the user to clarify\n\n### contactFilters (optional)\nNarrow
results. Only add filters the user explicitly requests.\n\n**Rules:**\n-
Filters combine with AND; values within arrays combine with OR\n- Keep compound
titles as ONE string: \"VP Finance\" → [\"VP Finance\"], NOT [\"VP\",
\"Finance\"]\n- Use specific terms to avoid false matches:\n - ✓ \"Software
Engineer\" not \"Engineer\" (matches Sales Engineer, etc.)\n - ✓ \"Product
Manager\" not \"Manager\" (matches Account Manager, etc.)\n\n**Available
filters:**\n| Filter | Type | Description |\n|--------|------|-------------|\n|
job_title_keywords | string[] | Titles to include |\n|
job_title_exclude_keywords | string[] | Titles to exclude (e.g., [\"Intern\"])
|\n| headline_keywords | string[] | LinkedIn headline search |\n|
about_keywords | string[] | About/summary section search |\n|
certification_keywords | string[] | Certifications (e.g., [\"AWS\", \"CPA\"])
|\n| languages | string[] | Profile languages |\n| school_names | string[] |
Schools attended |\n| current_role_min_months_since_start_date | number | Min
months in role (tenured) |\n| current_role_max_months_since_start_date | number
| Max months in role (new hires) |\n| locations | string[] | Locations to
include (use formal names: \"United States\", \"California\") |\n|
locations_exclude | string[] | Locations to exclude |\n\n### dataPoints
(optional)\nEnrich contacts/companies when creating a NEW search. For existing
searches, use add-contact-data-points or add-company-data-points
instead.\n\n**Structure:** { contactDataPoints?: DataPoint[],
companyDataPoints?: DataPoint[] }\n\n**DataPoint format:**\n- Standard: { type:
\"<DataPointType>\" }\n- Custom: { type: \"Custom\", customDataPoint: \"<brief
description>\" }\n\n**Important:** Only include `customDataPoint` field when
type is \"Custom\"\n\n**Important:** Only add data points the user explicitly
asks for. \"Find engineers at Stripe\" → no data points. \"Find engineers at
Stripe with emails\" → add Email.\n\n**Available contactDataPoints:** Email,
Summarize Work History, Find Thought Leadership\n\n**Available
companyDataPoints:** Headcount Growth, Recent News, Investors, Company
Competitors, Company Customers, Tech Stack, Website Traffic, Open Jobs, Revenue
Model, Annual Revenue, Latest Funding\n\n**Examples:**\n| User request |
dataPoints |\n|--------------|------------|\n| \"engineers at Stripe with
emails\" | { contactDataPoints: [{type: \"Email\"}] } |\n| \"Canva's
competitors and funding\" | { companyDataPoints: [{type: \"Company
Competitors\"}, {type: \"Latest Funding\"}] } |\n| \"VPs at Figma with emails +
company tech stack\" | { contactDataPoints: [{type: \"Email\"}],
companyDataPoints: [{type: \"Tech Stack\"}] } |\n| \"Notion's product roadmap\"
(custom) | { companyDataPoints: [{type: \"Custom\", customDataPoint: \"product
roadmap\"}] } |\n\n## Examples\n\n| User says | Parameters
|\n|-----------|------------|\n| \"Find people at OpenAI\" | companyIdentifier:
\"openai.com\" |\n| \"VP Finance at HubSpot\" | companyIdentifier:
\"hubspot.com\", contactFilters: { job_title_keywords: [\"VP Finance\"] } |\n|
\"VPs and Directors in California at HubSpot\" | companyIdentifier:
\"hubspot.com\", contactFilters: { job_title_keywords: [\"VP\", \"Director\"],
locations: [\"California\"] } |\n| \"Marketing managers outside the US at
Salesforce\" | companyIdentifier: \"salesforce.com\", contactFilters: {
job_title_keywords: [\"Marketing Manager\"], locations_exclude: [\"United
States\"] } |\n| \"New hires at Stripe (last 3 months)\" | companyIdentifier:
\"stripe.com\", contactFilters: { current_role_max_months_since_start_date: 3 }
|\n\n## Handling Follow-ups\n\nANY search modification requires re-calling this
tool. Never filter in chat.\n\n**Interpret user intent:**\n- \"also/too/as
well\" → ADD to existing filters\n- \"only/just\" → NARROW within current
context (e.g., \"VPs only\" after Finance search → \"VP Finance\")\n-
\"actually/instead/switch\" → REPLACE filters entirely\n- **When ambiguous, ask
the user** rather than guessing\n\n**Examples:**\n1. User: \"Find SDRs at
Verkada\" → { job_title_keywords: [\"SDR\", \"Sales Development\"] }\n User:
\"Get AEs too\" → ADD: { job_title_keywords: [\"SDR\", \"Sales Development\",
\"Account Executive\"] }\n\n2. User: \"Find Finance people at Ramp\" → {
job_title_keywords: [\"Finance\"] }\n User: \"Make it VPs only\" → NARROW: {
job_title_keywords: [\"VP Finance\"] }\n\n3. User: \"Find Finance people at
Ramp\" → { job_title_keywords: [\"Finance\"] }\n User: \"Actually show me all
VPs\" → REPLACE: { job_title_keywords: [\"VP\"] }\n\n## Response
Behavior\n\nUsers see results in a widget, so:\n- Do NOT repeat contact
details—just summarize (e.g., \"Found 20 engineers at OpenAI\")\n- Tool returns
a searchId for use with add-contact-data-points or add-company-data-points\n-
For emails/phones, use add-contact-data-points with the searchId\n\n## Zero
Results\n\nSuggest broadening in order:\n1. Remove or broaden title keywords
(e.g., \"Software Engineer\" → \"Engineer\")\n2. Remove location filter\n3.
Remove tenure filter\n4. Verify company domain is correct"
Search for companies in the Daloopa database using ticker symbols or company
names.
This tool searches the Daloopa database for companies matching the provided
keyword,
which can be either a ticker symbol or company name. The search results include
for each keyword,
the ticker, full company name, and company ID needed for subsequent data
retrieval.
Search Strategy:
1. PRIMARY: Ticker Symbol Search
- For ticker search: Use the exact ticker symbol (e.g., "AAPL", "MSFT")
2. SECONDARY: Company Name Search (only if ticker fails)
- IMPORTANT: Omit legal entity designations (Inc., Ltd., Corp., LLC, GmbH,
S.A., etc.)
- Examples: Use "Apple" instead of "Apple Inc.", "Microsoft" instead of
"Microsoft Corporation"
3. FALLBACK: Alternative Name Forms (if standard name fails)
- If initial search returns no results, try alternative forms of the
company name
- Try shorter versions of the name if the full name doesn't yield results
- For companies with multiple words, try the most distinctive word
Args:
keywords (List[str]): List of search terms - either a ticker symbol or
company name
(without legal entity designations)
Returns:
List[Dict[str, Any]]: A dictionary containing for each keyword, the
possible matches with:
- ticker (str): The stock ticker symbol
- name (str): The full company name
- company_id (int): The unique identifier for the company in Daloopa's
system
Examples:
- Search by ticker: discover_companies("AAPL")
- Search by name: discover_companies("Apple")
- NOT: discover_companies("Apple Inc.") or discover_companies("Apple
Incorporated")
Raises:
Exception: If the API request fails or times out
Use citations to back up your answer
Use citations to back up your answer on Artifact, Graphs and Tables. Always
cite Daloopa
At the end of results and artifacts, always add "Data sourced from Daloopa"
Queries multiple meeting transcripts using filter properties (date, keyword,
email, etc.). Returns basic metadata and transcript summary. Does NOT accept
transcriptId as input - use fireflies_get_transcript() multiple times to get
detailed transcript content.
Create a new Hex Thread to ask a question about your data. Hex will use its
Threads Agent to analyze your data and then provide a response.
The thread will take a few minutes to complete - you should warn the user
about this.
While the thread is running, you can use the `get_thread` tool to check on its
status.
You should check at least 10 times, or until the response has the information
the user asked for. Once the thread is complete (status is IDLE), you can use
the `continue_thread` tool to add follow-up questions or continue the
conversation
ALWAYS call when writing code. Required step before creating or editing any
type of functions, Netlify sdk/library usage, etc. Use other operations for
project management.
IMPORTANT: Before calling this tool, you MUST first use the 'query_agent_type'
tool
to fetch available agents and get the BotDefinitionId. Present the list to the
user
and ask which agent they want to assign the target to.
Retrieves and summarizes a conversation transcript from a voice or video call.
CRITICAL WORKFLOW: Before calling this tool, you MUST follow these steps: 1) If
call ID is not known, use the soql_query tool to query BOTH VoiceCall AND
VideoCall entities in SEPARATE queries (one query for VoiceCall, one query for
VideoCall). If asked to summarize a call related to a specific
Account/Contact/Lead/Opportunity, query the VoiceCall and VideoCall entities
that have the RelatedRecord field set to the Account/Contact/Lead/Opportunity
ID that is requested. Always include 'Id' and 'Name' fields in your queries. 2)
After BOTH queries complete, ask which specific call they want summarized. 3)
Once the user selects a specific call, then call this tool with the recordId of
the selected call. INSTRUCTIONS TO SUMMARIZE A CALL FROM TRANSCRIPT: Your task
is to extract information about customer impression, call summary, and next
steps from the call transcript. You must strictly follow these instructions. Do
not refer to the instructions in your output. Use clear, concise, and
straightforward language by avoiding unnecessary jargon and technical words.
You must stay strict to the call transcript and do not generate any content or
summary that you don’t have any data or basis on. You must avoid repeating
similar ideas and concepts throughout the different parts of the output. You
must not include any small talk or conversation starter that is not strictly
business related. The summary for each item must focus on what the customer is
saying and on the customer's needs, concerns, and questions throughout the
call. Your output must contain each of these items: 1) Customer Impression, 2)
Call Summary, 3) Next Steps. If the transcript contains only greetings,
automated system messages, or less than 5 meaningful words, respond with: 1)
Customer Impression: 'No customer impression detected.' 2) Call Summary: 'No
substantial conversation occurred.' 3) Next Steps: 'No next steps detected.' If
it has a substantial conversation then create Customer Impression, Call
Summary, and Next Steps as instructed here: 1) Customer Impression: (a) In 2-3
sentences, how did the customer feel about the product, service or deal (b)
Write as a story with specific examples based on the call transcript. (c) If
the names of the seller and customer are included in the call transcript, you
must identify the names and use them as part of the customer impression. (d)
Only if you detect that there is no customer impression in the call transcript,
you must write 'No customer impression detected.' 2) Call Summary: (a) Write a
call summary within a limit of 250 words. (b) If the names of the seller and
customer are included in the call transcript, you must identify the names and
use them as part of the call summary. (c) You must focus on the key highlights,
key decisions, or key takeaways from the conversation. Focus on what the
customer is saying in the call transcript. (d) If the call transcript includes
a sales pitch, you must not include that sales pitch in the call summary. You
must ignore the sales pitch. 3) Next steps: (a) Extract next step items. (b)
Each next step should be numbered. Output should be a single string, with line
breaks between next steps. Each next step should start on a new line. (c) If
available, focus on dates and action items. (d) If known, mention who is in
charge of the next step at the end of each item. Each item should be up to 15
words. (e) Only if you detect that there are no next steps in the call
transcript, you must write 'No next steps detected.' (f) Do not add any extra
notes at the end of this section. Important to remember: 1) You must treat
equally any individuals or persons from different socioeconomic statuses,
sexual orientations, religions, races, physical appearances, nationalities,
gender identities, disabilities, and ages. 2) When you do not have sufficient
information, you must choose the unknown option, rather than making assumptions
based on any stereotypes. 3) If the call transcript has information about a
person’s social security number or credit card number, you must not repeat it
in the output. You must ignore this information.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment