twenty-mcp-server
Version:
Easy-to-install Model Context Protocol server for Twenty CRM. Try instantly with 'npx twenty-mcp-server setup' or install globally for permanent use.
164 lines • 3.9 kB
TypeScript
export interface RelationshipSummary {
entityId: string;
entityType: string;
relationships: {
companies: number;
contacts: number;
opportunities: number;
tasks: number;
activities: number;
};
}
export interface CompanyContactsResult {
companyId: string;
companyName: string;
contacts: Array<{
id: string;
name: {
firstName: string;
lastName: string;
};
email?: string;
phone?: string;
jobTitle?: string;
createdAt: string;
}>;
totalContacts: number;
}
export interface PersonOpportunitiesResult {
personId: string;
personName: string;
opportunities: Array<{
id: string;
name: string;
amount?: {
amountMicros: number;
currencyCode: string;
};
stage?: string;
closeDate?: string;
companyId?: string;
company?: {
id: string;
name: string;
};
createdAt: string;
}>;
totalOpportunities: number;
}
export interface OpportunityActivitiesResult {
opportunityId: string;
opportunityName: string;
activities: Array<{
id: string;
type: string;
title?: string;
body?: string;
createdAt: string;
author?: {
id: string;
name: {
firstName: string;
lastName: string;
};
};
}>;
totalActivities: number;
}
export interface RelationshipHierarchy {
entityId: string;
entityType: string;
entityName: string;
children: {
companies?: Array<{
id: string;
name: string;
contacts: Array<{
id: string;
name: string;
opportunities: Array<{
id: string;
name: string;
stage?: string;
}>;
}>;
}>;
contacts?: Array<{
id: string;
name: string;
company?: {
id: string;
name: string;
};
opportunities: Array<{
id: string;
name: string;
stage?: string;
}>;
}>;
opportunities?: Array<{
id: string;
name: string;
company?: {
id: string;
name: string;
};
contact?: {
id: string;
name: string;
};
tasks: Array<{
id: string;
title: string;
status?: string;
}>;
}>;
};
}
export interface OrphanedRecords {
companies: Array<{
id: string;
name: string;
contactCount: number;
opportunityCount: number;
}>;
contacts: Array<{
id: string;
name: string;
hasCompany: boolean;
opportunityCount: number;
}>;
opportunities: Array<{
id: string;
name: string;
hasCompany: boolean;
hasContact: boolean;
}>;
tasks: Array<{
id: string;
title: string;
hasAssignee: boolean;
}>;
}
export interface LinkOpportunityInput {
opportunityId: string;
companyId?: string;
pointOfContactId?: string;
}
export interface TransferContactInput {
contactId: string;
fromCompanyId?: string;
toCompanyId: string;
}
export interface BulkRelationshipUpdate {
entityType: 'opportunity' | 'contact' | 'task';
updates: Array<{
entityId: string;
relationships: {
companyId?: string;
pointOfContactId?: string;
assigneeId?: string;
};
}>;
}
//# sourceMappingURL=relationships.d.ts.map