syncable-entity-integration

Integrate syncable entity services into NestJS modules with GraphQL API exposure.

Updated Mar 5, 2026
One-click install
npx skills add https://github.com/kanojiyapratik/twentycrm --skill syncable-entity-integration-kanojiyapratik
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: syncable-entity-integration
Source: https://github.com/kanojiyapratik/twentycrm/tree/main/.cursor/skills/syncable-entity-integration
Command: npx skills add https://github.com/kanojiyapratik/twentycrm --skill syncable-entity-integration-kanojiyapratik

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill streamlines the integration of syncable entities within a NestJS application, ensuring seamless data flow and API exposure through proper service and resolver layer setup.

Core Features & Use Cases

  • Module Registration: Correctly wires services into NestJS modules (Builder, Validators, Action Handlers).
  • Service Layer Creation: Develops a robust service layer that handles business logic and returns flat entities.
  • Resolver Layer Creation: Implements a resolver layer to convert flat entities into DTOs for GraphQL API consumption.
  • Exception Handling: Integrates an exception interceptor for consistent and user-friendly error formatting in GraphQL responses.
  • Use Case: When developing a new custom object in Twenty CRM, use this Skill to ensure its data is correctly managed, validated, and exposed via the API.

Quick Start

Follow the steps in the SKILL.md file to register services, create the service and resolver layers, and implement flat-to-DTO conversion for your syncable entity.

Frequently Asked Questions about syncable-entity-integration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I expose syncable entities through a GraphQL API in NestJS?

To expose syncable entities through a GraphQL API in NestJS, you need to build a service layer for business logic and a resolver layer to convert flat entities into DTOs. This ensures proper data flow and API exposure.

Why do I need a resolver layer when integrating entities into a NestJS GraphQL API?

A resolver layer is needed in NestJS to convert flat entities into Data Transfer Objects (DTOs). This conversion prepares the data for GraphQL API consumption, ensuring the exposed schema matches expected formats.

Do I need to register builders and validators separately for Twenty entities in NestJS?

Yes, you must register builders, validators, and action handlers directly within your NestJS modules. This wiring ensures that Twenty entities are correctly managed, validated, and processed before service execution.

What is the best way to handle GraphQL exceptions for Twenty CRM custom objects?

The best way to handle GraphQL exceptions is by integrating an exception interceptor. This ensures consistent, user-friendly error formatting across all GraphQL responses generated for your Twenty CRM custom objects.

Can I use this approach to integrate Twenty CRM custom objects without a dedicated service layer?

No, a dedicated service layer is required to handle the business logic and return flat entities. Without it, the resolver layer cannot effectively convert the data into DTOs for the GraphQL API.