Skip to main content

Tenant Guide

Welcome to the Tenant Guide for the Cimigo Collect Platform. This section is designed for organizations and developers who want to:

  • 🚀 Integrate surveys into web applications
  • 📊 Collect and analyze survey responses
  • 🎨 Customize survey appearance and branding
  • 🔗 Manage survey distribution and links
  • 📡 Integrate with existing systems via APIs and webhooks

🚦 Quick Start for Tenants

What You Need

  • Tenant Account - Contact Cimigo for platform access
  • API Credentials - Tenant ID and API keys
  • Web Application - Where you'll embed or link surveys
  • Basic JavaScript Knowledge - For SDK integration

5-Minute Integration

// 1. Install the JavaScript SDK
npm install @cimigo/collect-sdk

// 2. Initialize the SDK
import { CimigoCollect } from '@cimigo/collect-sdk';

const collect = new CimigoCollect({
apiBaseUrl: 'https://collect-api.cimigo.online',
tenantId: 'your-tenant-id-here'
});

// 3. Show a survey
await collect.showSurvey({
linkId: 'your-survey-link-id',
mode: 'widget', // or 'iframe' or 'inline'
theme: {
primaryColor: '#1976d2',
logoUrl: 'https://your-company.com/logo.png'
}
});

That's it! Your survey is now embedded and collecting responses.

See Complete SDK Guide → (coming soon)


🎯 Integration Paths

Choose the integration approach that best fits your needs:

Best for: Web applications, SPAs, custom integrations

Benefits:

  • ✅ Easy integration with any framework
  • ✅ Customizable themes and branding
  • ✅ Multiple display modes (widget, iframe, inline)
  • ✅ Real-time response handling
  • ✅ TypeScript support

JavaScript SDK Guide → (coming soon)

Best for: Email campaigns, social media, simple distribution

Benefits:

  • ✅ No coding required
  • ✅ Easy to share and distribute
  • ✅ Supports personalized parameters
  • ✅ Mobile-optimized rendering
  • ✅ Automatic response tracking

Link Management Guide → (coming soon)

🔌 Direct API Integration

Best for: Backend systems, mobile apps, custom workflows

Benefits:

  • ✅ Full programmatic control
  • ✅ Backend-to-backend integration
  • ✅ Custom data processing
  • ✅ Bulk operations support
  • ✅ Advanced authentication

API Integration Guide → (coming soon)


📚 Tenant Guide Sections

🚀 Getting Started

Quick integration and first steps:

  • Quick Start - 5-minute survey integration (coming soon)
  • Authentication Setup - API keys and tenant configuration
  • First Survey - Creating and deploying your first survey
  • Integration Testing - Validating your integration

🛠️ JavaScript SDK

Complete SDK integration guide:

  • SDK Overview - Features and capabilities
  • Getting Started - Installation and basic usage
  • Configuration - All configuration options
  • Display Modes - Widget, iframe, and inline modes
  • Event Handling - Response handling and callbacks
  • Framework Integration - React, Vue, Angular examples
  • Troubleshooting - Common issues and solutions

📊 Survey Management

Creating and managing effective surveys:

  • Survey Creation - Building surveys with the question editor
  • Question Types - All supported question types with examples
  • Survey Logic - Dynamic questions and branching
  • Multi-language - Creating multilingual surveys
  • Preview & Testing - Testing surveys before launch
  • Version Management - Managing survey updates

Managing survey distribution:

  • Link Management - Creating and managing survey links
  • Personalization - Custom parameters and pre-filling
  • Access Control - Password protection and expiration
  • Tracking & Analytics - Response tracking and completion rates

📈 Response Management

Collecting and analyzing survey data:

  • Response Collection - How responses are captured and stored
  • Data Export - Downloading and analyzing response data
  • Real-time Monitoring - Tracking responses as they arrive
  • Data Quality - Validation and cleaning strategies

🔔 Integration & Webhooks

Connecting with your systems:

  • Webhook Setup - Real-time response notifications
  • API Integration - Direct backend integration
  • Data Synchronization - Keeping data in sync
  • Security - Secure integration patterns

🎨 Customization & Branding

Making surveys match your brand:

  • Theme Customization - Colors, fonts, and styling
  • Logo & Branding - Adding your company branding
  • Custom CSS - Advanced styling options
  • White Labeling - Complete brand customization

💡 Common Use Cases

📋 Customer Satisfaction Surveys

Perfect for measuring customer experience and NPS:

// Customer satisfaction with NPS question
const satisfactionSurvey = {
questions: [
{
type: 'nps',
title: 'How likely are you to recommend us?',
required: true
},
{
type: 'textarea',
title: 'What could we improve?',
maxLength: 500
}
]
};

// Show survey after purchase
await collect.showSurvey({
linkId: 'post-purchase-nps',
mode: 'widget',
trigger: 'purchase_complete'
});

📊 Market Research Surveys

Comprehensive data collection with complex question types:

// Market research with matrix questions
const marketResearch = {
questions: [
{
type: 'matrix',
title: 'Rate these product features',
scale: { from: 1, to: 5 },
attributes: [
{ label: 'Ease of use' },
{ label: 'Value for money' },
{ label: 'Customer support' }
]
}
]
};

🏢 Employee Feedback Surveys

Internal surveys with multi-language support:

// Employee engagement survey
await collect.showSurvey({
linkId: 'employee-engagement-q3',
mode: 'inline',
locale: 'en', // or 'es', 'fr', etc.
personalization: {
employee_id: currentUser.id,
department: currentUser.department
}
});

🎯 Lead Generation Forms

Collecting contact information with progressive profiling:

// Lead generation with conditional logic
const leadForm = {
questions: [
{
type: 'text',
title: 'What\'s your company name?',
required: true
},
{
type: 'single',
title: 'Company size?',
options: ['1-10', '11-50', '51-200', '200+'],
visibleIf: { dependsOn: 'company_name', hasValue: true }
}
]
};

🔧 SDK Integration Examples

React Integration

import { useCimigoCollect } from '@cimigo/collect-react';

function SurveyButton() {
const { showSurvey, isLoading } = useCimigoCollect({
tenantId: 'your-tenant-id'
});

const handleShowSurvey = async () => {
await showSurvey({
linkId: 'feedback-survey',
mode: 'widget',
onComplete: (response) => {
console.log('Survey completed!', response);
// Handle response
}
});
};

return (
<button onClick={handleShowSurvey} disabled={isLoading}>
{isLoading ? 'Loading...' : 'Take Survey'}
</button>
);
}

Vue Integration

<template>
<button @click="showFeedbackSurvey" :disabled="loading">
Take Survey
</button>
</template>

<script>
import { CimigoCollect } from '@cimigo/collect-sdk';

export default {
data() {
return {
collect: null,
loading: false
};
},
mounted() {
this.collect = new CimigoCollect({
tenantId: 'your-tenant-id'
});
},
methods: {
async showFeedbackSurvey() {
this.loading = true;
try {
await this.collect.showSurvey({
linkId: 'feedback-survey',
mode: 'widget'
});
} finally {
this.loading = false;
}
}
}
};
</script>

Angular Integration

import { Component } from '@angular/core';
import { CimigoCollect } from '@cimigo/collect-sdk';

@Component({
selector: 'app-survey',
template: `
<button (click)="showSurvey()" [disabled]="loading">
Take Survey
</button>
`
})
export class SurveyComponent {
private collect: CimigoCollect;
loading = false;

constructor() {
this.collect = new CimigoCollect({
tenantId: 'your-tenant-id'
});
}

async showSurvey() {
this.loading = true;
try {
await this.collect.showSurvey({
linkId: 'feedback-survey',
mode: 'widget'
});
} finally {
this.loading = false;
}
}
}

📊 Analytics & Reporting

Response Tracking

// Track survey responses in real-time
collect.on('response.submitted', (event) => {
console.log('New response:', event.data);

// Send to your analytics
analytics.track('Survey Completed', {
surveyId: event.surveyId,
responseId: event.responseId,
completionTime: event.completionTime
});
});

// Track survey interactions
collect.on('survey.started', (event) => {
analytics.track('Survey Started', {
surveyId: event.surveyId
});
});

Export Integration

// Automatic data export to your system
const exportConfig = {
webhook: {
url: 'https://your-api.com/survey-responses',
events: ['response.submitted'],
format: 'json'
},
exports: {
format: 'csv',
schedule: 'daily',
destination: 's3://your-bucket/survey-data/'
}
};

🔒 Security & Compliance

Data Privacy

  • GDPR Compliance: Built-in data protection features
  • Data Retention: Configurable retention policies
  • Data Anonymization: Automatic PII scrubbing options
  • Consent Management: Integrated consent collection

Security Features

  • JWT Authentication: Secure token-based access
  • HTTPS Only: All data transmission encrypted
  • API Rate Limiting: Protection against abuse
  • Audit Logging: Complete activity tracking

Access Control

// Role-based survey access
const restrictedSurvey = {
access: {
requireAuth: true,
allowedRoles: ['employee', 'contractor'],
maxResponses: 1 // One response per user
}
};

🆘 Support & Resources

Getting Help

  • Tenant FAQ - Common questions and solutions (coming soon)
  • SDK Troubleshooting - JavaScript integration issues (coming soon)
  • API Documentation - Complete API reference (coming soon)
  • Community Forum - Peer support and discussions

Useful Tools

Best Practices

  • Survey Design - Creating effective surveys (coming soon)
  • Integration Patterns - Proven integration approaches (coming soon)
  • Performance Optimization - Fast, responsive surveys (coming soon)
  • Accessibility - Inclusive survey design (coming soon)

🎉 Ready to Get Started?

Choose your next step based on your needs:

🚀 Quick Start

Get up and running in 5 minutes with our JavaScript SDK.

Start Now →

📊 Create Survey

Build your first survey with our comprehensive question types.

Create →

🔌 API Integration

Integrate directly with your backend systems using our REST API.

Integrate →

🎨 Customize

Make surveys match your brand with themes and custom styling.

Customize →

Welcome to the Cimigo Collect Platform! Start collecting valuable insights today. 🚀