Village
Relationship intelligence
- Category
- Pending
- Primary Subcategory
- Pending
Integration details
Description
Find the right people and companies in your Village network, uncover warm introduction paths, organize sourcing projects, and move selected leads into outreach.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Category
- Pending
- Primary Subcategory
- Pending
- Secondary Subcategories
- None listed
- Brand
- Unknown
- Access
- Account optional
- First tracked
- 2026-09-23
- Tool count
- 71
- Geography
- US
The broad Category that contains the Primary Subcategory.
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for Village
Get updates when Village’s Discoverability Score or category rank changes.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competitive lineup
71 tools agents can invoke
Add people or companies to a list. Use this to populate your lists with contacts or accounts. Provide an array of identifiers (LinkedIn URLs, company domains, or graph IDs). Each identifier is resolved and added to the list. Returns detailed results for each item: successful additions include the created item, failures include error codes and messages. Duplicates are detected and reported.
add_list_items
Quickly check if you have connections to a company without fetching full details. Use this for fast previews in lists or search results before calling get_company_paths. Returns: whether paths exist, overall connection score, count of reachable people, and avatar thumbnails of top connectors. Much faster than get_company_paths. Requires a synced network — if unsure, call get_current_user and check is_sync_complete first.
check_company_paths
Check which lists contain the given entities. Accepts an array of entity IDs and returns a map of entity_id to the lists that contain it. Entities not in any list are omitted from the response. Use entity_id (not the legacy graph_id naming) to reference people or companies.
check_list_membership
Create a new list to organize people or companies. Use this to start building collections for outreach, tracking, or organization. Provide: title (required), type (people or company), and optional description. The creator becomes the list owner. List creation may be limited based on your subscription plan.
create_list
Register a callback URL that Village will POST the user's own Village activity to, as it happens — new connections, job changes among their contacts, new search results, list changes, and sequence-email events. Use this to push activity into a CRM, an automation, or the user's own backend instead of polling. Because this sends the user's relationship data to a third-party endpoint, only register a URL the user has explicitly given you, and read it back to them before creating it. Provide `url` (publicly reachable HTTPS; localhost and private IPs are rejected) and optionally `event_filter` to narrow which events are sent — omit it, or pass null, to receive EVERY event type including ones added later. Deliveries are HMAC-signed; pass your own `secret` (32+ characters), or omit it and Village generates one. This create response is the ONE place the secret is returned — save it if you intend to verify signatures, because reads only report `has_secret`, never the value. Returns the webhook with its encrypted id.
create_webhook
Create a new group or update an existing one. Groups enable network sharing between members. To create: provide a name (id is auto-generated). To update: provide group_id (requires admin permissions). The creator automatically becomes group admin. Returns: group id, name, logo, and invite_link for inviting others.
upsert_group
Create a new team or update an existing one. Use this to set up team workspaces for collaboration. To create: provide a name (id is auto-generated). To update: provide the team_id (requires admin permissions). The creator automatically becomes team admin. Returns: team id, name, logo, and invite_link for sharing with others.
upsert_team
Create a new project for the authenticated user in the active workspace. Requires `title` and `goal` (both non-empty strings). First step of the project-planning flow (create_project → get_planner_skills → get_email_template → submit_plan) that the `plan_a_project` prompt orchestrates. Uses the caller's active workspace/team, so ensure the intended workspace is selected before calling.
create_project
Permanently delete a list and all its items. Use this to remove lists you no longer need. This action cannot be undone. All items in the list will also be removed.
delete_list
Permanently delete a webhook by its encrypted id. Deliveries stop immediately and the id is gone for good — if the user only wants to stop deliveries temporarily, use update_webhook with is_active false instead. Returns 404 if the webhook does not exist or belongs to someone else, so deleting the same id twice answers 404 the second time.
delete_webhook
Delete a project. Stops its sequence (pending sends cancelled, history preserved), unlinks source lists, and cancels any in-flight orchestration workflows.
delete_project
Get detailed information about a company. Use this to look up company details when you have a domain, LinkedIn URL, or any URL. Returns: company name, website, LinkedIn URL, logo, employee count, industry, founded year, and description. On a cache miss the profile is fetched live from a third-party data provider. Useful for enriching CRM records or researching target accounts.
enrich_company
Get detailed information for multiple companies in a single request. Use this for batch enrichment of account lists or CRM records. Provide up to 10 domains, LinkedIn URLs, or URLs. Returns the same company data as enrich_company for each. Partial results are returned if some lookups fail - check each result for company data or error status.
enrich_company_bulk
Get detailed profile information for a person. Use this to look up professional details when you have a LinkedIn URL or Village ID. Returns: full name, job title/headline, current company, location, profile photo URL, and LinkedIn URL. On a cache miss the profile is fetched live from a third-party data provider. Useful for enriching CRM records or preparing for outreach.
enrich_person
Get detailed profile information for multiple people in a single request. Use this for batch enrichment of contact lists or CRM records. Provide up to 10 LinkedIn URLs or Village IDs. Returns the same profile data as enrich_person for each. Partial results are returned if some lookups fail - check each result for success/error status.
enrich_person_bulk
Adds selected shortlisted people to the project sequence. `lead_ids` are the raw numeric `village_person_id` strings from get_project_shortlist (e.g. "12345") — NOT the encrypted `lead_id` field, which is rejected here. Pass the string literal "all" to enroll the entire shortlist instead of a list. Enrolled leads only actually get emailed once a sending account is connected; check with list_integrations. Connecting one is a human step no tool here can perform — direct the user to the Village app: Project -> Outreach -> Sender settings -> Add Email account.
project_add_to_outreach
Find introduction paths to people at a specific company. Use this when targeting a company for sales, recruiting, or partnerships. Provide a company domain or LinkedIn URL and get: employees you can reach through your network, potential introducers for each person, and connection strength scores. Returns up to 50 employees ranked by how well-connected you are. Requires a synced network — if unsure, call get_current_user and check is_sync_complete first.
get_company_paths
Get profile information for the authenticated user. Use this to verify authentication is working and check sync status. Returns: external user id, email, name, account creation date, and sync completion status (is_sync_complete). The is_sync_complete flag indicates whether the user's network data is ready for queries. Two fields describe the partner-app link, not the user: is_active is false and id is an empty string whenever the caller is a direct Village user rather than a partner application. That is normal — it does not mean the account is inactive or unidentified. Identify the user by email and ignore both fields.
get_current_user
Find the email address for a person. Use this when you need to contact someone directly and have their LinkedIn URL or Village ID. Returns `email` (the best address, or null if none was found) plus `emails` — every address we hold for them, best-first. Pass `search_deeper: true` to re-ask a professional data source when the address you already have looks wrong.
enrich_person_email
Find email addresses for multiple people in a single request. Use this for batch email lookup when preparing outreach campaigns. Provide up to 10 LinkedIn URLs or Village IDs. Returns email addresses where found, with error messages for failed lookups. More efficient than calling enrich_person_email multiple times.
enrich_person_email_bulk
Find introduction paths to reach a specific person through your professional network. Use this when you want to connect with someone and need to find who can introduce you. Provide a LinkedIn URL and get back: direct connections, mutual contacts who can make introductions, and connection strength scores (0-100). Higher scores indicate stronger, more reliable paths. Requires a synced network — if unsure, call get_current_user and check is_sync_complete first.
get_person_paths
Find introduction paths to multiple people in a single request. Use this for batch processing, such as scoring leads in a sales sequence or prioritizing outreach targets. Provide up to 100 LinkedIn IDs and get connection paths for each. Returns the same path information as get_person_paths but optimized for bulk operations. Requires a synced network — if unsure, call get_current_user and check is_sync_complete first.
get_person_paths_bulk
The complete catalogue of structured filters accepted by search_people and search_companies: every filter key, what it means, and the exact canonical values a dropdown key will accept. Call this before building a filtered search when you need the legal values for a key such as industry, function, seniority, department, companyType, investorType or fundingStage — those are matched exactly, so a value outside the catalogue is rejected rather than fuzzy-matched. Also returns the legacy alias map (which old key names fold onto which canonical ones). Derived from the backend filter registry, so it can never drift from what search requests validate.
get_search_filters
Get a list with all its items. Accepts EITHER the numeric list id or the list's public identifier (e.g. "fintech-8f3k2"), and what comes back follows which one you used. Numeric id: the owner view — every field, and you must own the list. Public identifier: the published view, readable by anyone once the owner has published it, carrying names, titles, companies, screening scores and the per-criterion breakdown, but never connection paths, introducer identities, contact details or warmth. On a public read, `id` is null unless you own the list, and item `id`s are absent. Items are sorted by connection strength (warmth score) on the owner view. Supports cursor pagination via `cursor` and `limit`.
get_list
Get a single webhook by its encrypted id (as returned by list_webhooks or create_webhook). Use this to confirm the current url, event_filter and active state before changing them. Returns 404 if the webhook does not exist or belongs to someone else. The HMAC signing secret is never returned — has_secret only tells you whether one is configured.
get_webhook
Get all your saved lists. Use this to see your collections of people or companies. Supports pagination (page, limit), filtering by type (people or company), and searching by title. Each list includes: id, title, type, description, item_count, and timestamps.
list_lists
Returns the canonical `default_instructions` and every system email template registered for a `use_case` (e.g. intro_request, sales, recruiting). Copy these verbatim when drafting sequence steps for `submit_plan`. Part of the project-planning flow — the `plan_a_project` prompt orchestrates create_project → get_planner_skills → get_email_template → submit_plan; start there when the user wants to run outreach.
get_email_template
List outgoing email activities across ALL of the user's sequences (not scoped to one), optionally filtered by decision status (e.g. approved / rejected / pending). Use this to review or triage everything the AI has drafted or queued across campaigns. Returns activities[] — each with its decision and AI confidence, the parent sequence and lead, the person, and the outgoing email (subject, status, scheduled/sent times, body).
get_sequence_outgoing_activities
Get one project by its encrypted ID. Returns the full project — goal, pipeline_stages, planner_searches_used, ai_planner_output (the saved plan) and pool_count. Use after submit_plan to confirm the plan persisted and report campaign progress back to the user.
get_project
Returns the concatenated planning skill guidance (identity, actions, resources) used to draft a valid project plan for `submit_plan`. Email templates are NOT included here — fetch those via `get_email_template`. Part of the project-planning flow — the `plan_a_project` prompt orchestrates create_project → get_planner_skills → get_email_template → submit_plan; start there when the user wants to run outreach.
get_planner_skills
People surfaced from the project source lists. By default returns the full pool — including items still being screened by autopilot (match_score 0, source_scores null, screening_status "pending") — so the caller sees the same set as the Journey UI. Pass an explicit `threshold` (0–1) to return only people whose autopilot overall_match_score meets or exceeds it. Deduplicated by graph_id; each entry enumerates the source lists the person came from and per-source screening scores. To enroll people into outreach, pass their `village_person_id` values (raw numeric ids) to project_add_to_outreach — not the encrypted `lead_id`. Screening completes when get_project returns pool_building=false.
get_project_shortlist
Get one sequence by its encrypted ID — the outreach campaign a project plan produces. Returns the sequence steps and status. Use to show the user what will actually be sent.
get_sequence
List the outgoing emails for a specific sequence, optionally filtered by status (e.g. drafted / scheduled / sent). Provide the sequence_id. Use this to see exactly what has been drafted or sent in a campaign. Returns emails[] — each with subject, from, body content, status, scheduled_at/sent_at, and the recipient person. OUTGOING only: an incoming reply is matched to its lead (finishing it — see get_sequence_leads) but no tool here returns reply content; replies live in the user's own mailbox.
get_sequence_emails
List the people (leads) enrolled in a specific sequence — paginated, with optional status filtering. Provide the sequence_id. Use this to see who is in a campaign and each lead's status. Returns a paginated array of leads. When a lead replies, Village finishes the lead automatically (status 'finished', pending drafts deleted, no further sends); the reply's content is not exposed through any tool here — it lives in the user's own mailbox, so read and answer it there. A finished lead can also mean the journey ran out of steps or it was finished by hand.
get_sequence_leads
Import manual relationships to expand your network graph. Use this to add people you know but aren't connected to digitally. Provide email addresses or LinkedIn URLs with optional relationship scores (0-10, defaulting to 5). Higher scores indicate stronger relationships. Maximum 1000 people per request. Returns: summary counts and individual results showing created, updated, or failed imports.
import_relationships
Queue a backend relationship import from a people SearchList. The list is used as the durable import scope, and job state is exposed on search_lists.import_metadata.relationship_import. Use this for large imports instead of sending client-side batches.
import_relationships_from_list
Join a group using an invite link. Use this when you have received a group invite from an admin or member. Provide the invite link code. Network sharing is mutual: once joined you gain access to the shared network of all group members, and your own contacts become visible to every current and future member. Returns success confirmation. Fails if the invite is invalid or you are already a member.
join_group
Join a team using an invite link. Use this when you have received a team invite link from an admin. Provide the invite link code (the part after /join/ in the URL). Network sharing is mutual: you gain access to teammates’ networks, and your own contacts become visible to every current and future member of the team. Returns success confirmation. Fails if the invite link is invalid or you are already a team member.
join_team
Leave a group you are a member of. Removes your membership from the group. If you are the last member, the group is deleted. Admins must remove all other members before leaving.
leave_group
Leave a team you are a member of. Removes your membership from the team. If you are the last member of a non-paid team, the team is deleted. Admins of paid teams cannot leave — use Cancel Plan instead. Admins of non-paid teams must remove all other members before leaving.
leave_team
Attaches an existing search list to the project and triggers autopilot screening with the project’s criteria. CSV upload path is not yet supported on v2 — use the v1 list-import endpoint and then link by ID.
import_project_source
Get your top-connected companies ranked by network strength. Use this to discover which companies you have the best access to through your professional network. Returns a paginated list with: connection score, score_label, LinkedIn URL, and domain for each company. Supports cursor-based pagination and optional connection degree filtering. Requires a synced network — if unsure, call get_current_user and check is_sync_complete first.
list_companies
Get all your connected Gmail integrations. Use this to see which email accounts are linked for sending sequences, and to check before any outreach step whether a sending account exists at all. Returns: list of integrations with id, email, status (connected/disconnected/failed), rate limits (daily/hourly), timezone, and default account indicator. Also shows if you can add more integrations based on your plan. This lists only the user's OWN senders — a teammate's shared workspace sender will NOT appear here, so an empty list does not prove the workspace has none. Treat empty as "you have no sender of your own"; outreach may still be able to send via a shared one. Connecting a mailbox is a human step you cannot perform — direct them to the Village app: Project -> Outreach -> Sender settings -> Add Email account.
list_integrations
Get all groups (communities) you are a member of. Groups allow members to share network access with each other, expanding everyone's reach. Each group includes: id, name, logo, invite_link (for sharing), and is_admin flag. Use this to see your community memberships and manage group invitations.
list_groups
Get your network contacts ranked by connection strength. Returns a paginated list with enrichment data for each person. Supports cursor-based pagination and optional connection degree filtering. Requires a synced network — if unsure, call get_current_user and check is_sync_complete first.
list_people
Get all teams you are a member of. Use this to see your team memberships and access team invite links. Each team includes: id, name, logo, invite_link (for sharing), and is_admin flag indicating your admin status. For partner app integrations, only teams scoped to that partner are returned.
list_teams
Get people you (scope=own) or your first-degree connections (scope=network) overlapped with at past companies, ordered by connection strength. Each entry includes the shared company, the window you were both there, and the person’s current role. Powers the Work Overlaps feed in Setup Network. Requires a synced network — if unsure, call get_current_user and check is_sync_complete first.
list_work_overlaps
Paginated view of sequence leads enrolled in the project sequence along with drafted-email counts. Returns an empty result set when the project has no sequence yet (the planner has not finished).
list_project_outreach_queue
Paginated list of the authenticated user’s projects, newest first. Returns a compact summary shape (no JSON blobs) plus derived counts for the list view.
list_projects
List the user's outreach sequences (the campaigns a project produces), newest-first, with pagination and optional status filtering. Use this to find a sequence's id and see its name and status before drilling into its leads, emails, or activities. Returns a paginated list of sequence summaries (id, name, status).
list_sequences
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.