Clay
searchContacts
Search for contacts and return matching people. Use for questions about specific contacts or "who" questions (e.g. "Who did I meet most?" or "who works as an engineer?"). Returns actual contact records for queries needing specific people. Note: interaction counts represent total accumulated interactions and cannot be filtered by date ranges.
Remote clay-inc/clay-mcp
Other tools also called searchContacts?
See providers with this name
Input Schema
{
"type": "object",
"properties": {
"age": {
"type": "object",
"properties": {
"gte": {
"type": "number",
"description": "The minimum age to filter for."
},
"lte": {
"type": "number",
"description": "The maximum age to filter for."
}
},
"description": "Filter by age if the user is asking about birthday or age."
},
"name": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of names for this contact."
},
"sort": {
"type": "object",
"required": [
"field",
"direction"
],
"properties": {
"field": {
"enum": [
"relevance",
"last_texted",
"last_interacted",
"created"
],
"type": "string"
},
"direction": {
"enum": [
"asc",
"desc"
],
"type": "string"
}
},
"description": "Sort the results by a field."
},
"limit": {
"type": "number",
"default": 100,
"maximum": 1000,
"minimum": 0,
"description": "The maximum number of results to return. If the user is only asking about a count, you should request 0."
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of keywords to search for, only use this field as a fallback if no other fields are provided."
},
"location": {
"type": "object",
"required": [
"longitude",
"latitude"
],
"properties": {
"distance": {
"type": "number",
"description": "The distance radius to filter for in kilometers."
},
"latitude": {
"type": "number",
"description": "The latitude of the location the user is asking about."
},
"longitude": {
"type": "number",
"description": "The longitude of the location the user is asking about."
}
},
"description": "Filter by location if the user is asking about a location."
},
"group_ids": {
"type": "array",
"items": {
"anyOf": [
{
"type": "number"
},
{
"enum": [
"starred"
],
"type": "string"
}
]
},
"description": "The group ID or 'starred' to filter contacts by group."
},
"note_date": {
"type": "object",
"properties": {
"gte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"lte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"description": "Filter by the date a note was created."
},
"email_count": {
"type": "object",
"properties": {
"gte": {
"type": "number"
},
"lte": {
"type": "number"
}
},
"description": "Filter by the number of email interactions"
},
"event_count": {
"type": "object",
"properties": {
"gte": {
"type": "number"
},
"lte": {
"type": "number"
}
},
"description": "Filter by the number of calendar event interactions"
},
"integration": {
"type": "array",
"items": {
"enum": [
"calendar",
"twitter",
"linkedin",
"email",
"messages",
"apple-contacts",
"facebook",
"browser-extension",
"business-cards",
"carddav",
"zapier",
"make",
"instagram",
"whatsapp",
"bulk-import",
"google-contacts"
],
"type": "string"
},
"description": "The integrations to filter by."
},
"note_content": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by the content of a note."
},
"work_history": {
"type": "object",
"properties": {
"active": {
"type": "boolean",
"description": "Are they currently working at this company?"
},
"company": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of possible company names."
},
"position": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of possible job position titles"
}
}
},
"last_email_date": {
"type": "object",
"properties": {
"gte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"lte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"description": "Filter by last email interactions by date"
},
"last_event_date": {
"type": "object",
"properties": {
"gte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"lte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"description": "Filter by last calendar event interactions by date"
},
"first_email_date": {
"type": "object",
"properties": {
"gte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"lte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"description": "Filter by first email interactions by date"
},
"first_event_date": {
"type": "object",
"properties": {
"gte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"lte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"description": "Filter by first calendar event interactions by date"
},
"education_history": {
"type": "object",
"properties": {
"active": {
"type": "boolean",
"description": "Are they currently studying at this school?"
},
"degree": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of possible degree titles"
},
"school": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of possible school names."
}
}
},
"previous_birthday": {
"type": "object",
"properties": {
"gte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "The earliest date to filter for previous birthdays."
},
"lte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "The latest date to filter for previous birthdays."
}
}
},
"upcoming_birthday": {
"type": "object",
"properties": {
"gte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "The earliest date to filter for upcoming birthdays."
},
"lte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "The latest date to filter for upcoming birthdays."
}
}
},
"text_message_count": {
"type": "object",
"properties": {
"gte": {
"type": "number"
},
"lte": {
"type": "number"
}
},
"description": "Filter by the number of text message interactions"
},
"exclude_contact_ids": {
"type": "array",
"items": {
"type": "number"
},
"description": "Contact IDs to exclude from the search results. Use this field when the user asks for 'more contacts', 'additional contacts', 'other contacts', or similar requests to get different results from a previous search."
},
"last_interaction_date": {
"type": "object",
"properties": {
"gte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"lte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"description": "Filter by last generic interactions by date"
},
"first_interaction_date": {
"type": "object",
"properties": {
"gte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"lte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"description": "Filter by first generic interactions by date"
},
"last_text_message_date": {
"type": "object",
"properties": {
"gte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"lte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"description": "Filter by last text message interactions by date"
},
"first_text_message_date": {
"type": "object",
"properties": {
"gte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"lte": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"description": "Filter by first text message interactions by date"
}
}
}