Skip to content

Qminder/crm-integration-template

CRM Integration Template

Integrate Qminder with your CRM of choice.

This is a template for quick-starting your own integration.


What It Does

When a visitor checks in at any of your Qminder locations, this integration:

  1. Receives the visitor's information in real-time
  2. Checks your CRM to see if they're a VIP customer
  3. Automatically adds a "VIP" label to their ticket in Qminder

Your staff instantly sees which visitors deserve special attention.

Quick Start

Prerequisites

Run with Docker

git clone https://github.com/qminder/crm-integration-template.git
cd crm-integration-template
docker build -t crm-integration .
docker run -e API_KEY=your_qminder_api_key crm-integration

You should see:

Example of integrating Qminder with a CRM
Listening for new visitors from all locations

Run without Docker

git clone https://github.com/qminder/crm-integration-template.git
cd crm-integration-template
yarn install
export API_KEY=your_qminder_api_key
yarn start

Requires Node.js 20+ and Yarn.

Configuration

Environment Variable Description Required
API_KEY Your Qminder API key Yes

Customize for Your CRM

This template includes a placeholder CRM check. To connect your actual CRM, edit src/crm.ts:

export async function isVIP(ticket: Ticket): Promise<boolean> {
    // Replace with your CRM logic
    const customer = await yourCrmClient.findByName(
        ticket.firstName,
        ticket.lastName
    );
    return customer?.vipStatus === true;
}

Examples

Salesforce:

const contact = await salesforce.sobject('Contact')
    .findOne({ FirstName: ticket.firstName, LastName: ticket.lastName });
return contact?.VIP__c === true;

HubSpot:

const contact = await hubspot.contacts.search({
    query: `${ticket.firstName} ${ticket.lastName}`
});
return contact?.properties?.vip_status === 'true';

Project Structure

src/
├── app.ts           # Main entry point - listens for new visitors
├── crm.ts           # CRM integration logic (customize this!)
└── model/
    └── ticket.ts    # Visitor data types

Development

yarn install      # Install dependencies
yarn start        # Build and run
yarn lint         # Run linter
yarn build        # Build TypeScript only

Resources

About

Example for integrating Qminder with any CRM

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors