Novus Documentation
← Documentation
Integrations

Integrations Overview

Learn how Novus integrations connect Discord support workflows with external services such as Google Sheets and Google Drive. Understand connections, data mapping, destinations, automation use cases, permissions, and how integrations extend Novus without replacing your existing Ticket System or Knowledge Base.

Integrations allow Novus to connect support workflows with external services.

Instead of keeping every piece of information only inside Discord, integrations can help move or organize selected data in other systems.

For example:

Discord Ticket

↓

Novus

↓

Google Sheets

Structured ticket information

and:

Discord Ticket

↓

Novus

↓

Google Drive

Transcript or file archive

The purpose of integrations is to reduce repetitive manual work while keeping your support information organized.

What Can Integrations Be Used For?

Depending on the connected service and enabled Novus features, integrations can support workflows such as:

  • Ticket reporting
  • Application tracking
  • Bug tracking
  • Transcript archiving
  • Support analytics
  • Structured data collection
  • File storage
  • Knowledge sources
  • Operational records

Not every integration needs to be used for every workflow.

Integration vs Ticket System

An integration does not replace the Novus Ticket System.

For example:

Ticket System

handles the support conversation.

Google Sheets

can store structured information about that ticket.

Google Drive

can store files or archives related to it.

Think of integrations as additional destinations or sources connected to Novus.

Integration vs Knowledge Base

External storage should also not automatically be treated as AI Knowledge.

For example:

A Google Sheet containing:

  • Ticket ID
  • Member
  • Status
  • Date

is operational data.

A Google Drive folder containing:

  • Full ticket transcripts

is an archive.

Neither automatically means that everything inside should become information Novus uses when answering members.

Verified reusable support information belongs in the appropriate Knowledge workflow.

Core Integration Concepts

Most Novus integrations can be understood through four concepts:

Connection

Which external account or service Novus can access.

Source

Where the information comes from.

Destination

Where the information should go.

Mapping

How individual values correspond between Novus and the external service.

Example

Suppose you want completed Bug Reports stored in Google Sheets.

Your configuration may conceptually look like:

Connection

Company Google Account

Source

Novus Bug Report tickets

Destination

Google Sheets → Bug Reports

Mapping

Ticket ID → Report ID

Ticket Owner → Reporter

Bug Title → Title

Ticket Status → Status

Resolution → Resolution

This tells Novus exactly what information belongs where.

Understanding Connections

Before Novus can interact with an external service, the appropriate account or resource must be connected and authorized.

A connection determines what Novus is allowed to access.

For example:

Google Connection

may provide access to approved Google resources.

The exact resources available depend on:

  • Connected account
  • Granted permissions
  • Integration configuration
  • Resource ownership
  • Provider restrictions
Use the Correct Google Account

Connect an account appropriate for your organization.

For example, avoid connecting a personal account containing unrelated private files when a dedicated organization account can be used instead.

A structure such as:

support@yourdomain

or another dedicated workspace account may be easier to manage.

Permissions Matter

An integration can only work correctly when it has the permissions required for the intended action.

For example, if Novus needs to add rows to a spreadsheet but only has permission to view it, the integration cannot complete that write operation.

Similarly, Google Drive archiving requires access to the intended destination.

Grant only the access actually required.

What Is a Source?

A source is the Novus information you want to use.

Examples may include:

  • Ticket ID
  • Ticket owner
  • Ticket Category
  • Form response
  • Ticket status
  • Created date
  • Closed date
  • Handler role
  • Resolution
  • AI Summary
  • Escalation status

Different integrations may expose different source fields.

What Is a Destination?

A destination is where the selected information should be sent.

For Google Sheets, this may be:

Spreadsheet

↓

Worksheet

↓

Column

For Google Drive, this may be:

Drive

↓

Folder

↓

Subfolder

↓

File

What Is Mapping?

Mapping connects a source to a destination.

For example:

Novus

Ticket Owner

→

Google Sheets

Discord Member

Another example:

Novus

Form: Bug Title

→

Google Sheets

Issue

Mapping allows the destination to use different names without changing the original Novus field.

Simple Mapping Example

Suppose your Google Sheet contains:

Ticket IDMemberCategoryStatus

Your mapping could be:

Novus SourceGoogle Sheets Column
Ticket IDTicket ID
Ticket OwnerMember
Ticket CategoryCategory
Final StatusStatus

When a ticket is processed, Novus knows which value belongs in each column.

Mapping Does Not Mean Copy Everything

Only map information you actually need.

For example, a support reporting sheet may need:

  • Ticket ID
  • Category
  • Status
  • Resolution
  • Dates

It probably does not need every Discord message from the ticket.

This keeps your integration cleaner and reduces unnecessary data storage.

Google Sheets Integration

Google Sheets is useful when information needs to be stored in a structured table.

Common use cases include:

  • Support ticket tracking
  • Bug reports
  • Guild applications
  • Streamer applications
  • Staff reports
  • Support analytics
  • Transaction tracking
  • Event registrations
Example Support Tracking Sheet

A support sheet could contain:

Ticket IDMemberCategoryStatusEscalatedResolution
NOVUS-1001Member ATechnicalResolvedNoClient configuration corrected
NOVUS-1002Member BPaymentResolvedYesStaff verified transaction
NOVUS-1003Member CGeneralInactiveNo—

This makes support history easier to filter and analyze.

Google Sheets Use Case — Bug Reports

Suppose your Discord server receives bug reports through Novus In-House Ticketing.

The workflow could be:

Member selects Report Bug

↓

Ticket Form

collects:

  • Bug Title
  • Description
  • Steps to Reproduce
  • Affected Area
  • Frequency

↓

Ticket Created

↓

Google Sheets

receives structured report information

↓

Technical Team

investigates

↓

Ticket Status Changes

↓

Sheet Record

can reflect the final outcome when the enabled integration supports that workflow.

Example Bug Mapping
Novus SourceSheet Column
Ticket IDReport ID
Ticket OwnerReporter
Form: Bug TitleTitle
Form: DescriptionDescription
Form: Steps to ReproduceReproduction Steps
Form: Affected AreaComponent
Created DateReported At
Ticket StatusStatus
ResolutionResolution
Google Sheets Use Case — Applications

Applications are another strong use case because form responses are already structured.

For example:

Streamer Application Form

↓

Google Sheets:

ColumnSource
Application IDTicket ID
Discord UserTicket Owner
Streamer NameForm: Streamer Name
PlatformForm: Platform
ChannelForm: Channel URL
ScheduleForm: Streaming Schedule
StatusTicket Status

Staff can use the Sheet as an application tracker.

Google Sheets Use Case — Guild Applications

A Guild Application could map:

Guild Name

→ Guild

Guild Leader

→ Leader

Active Members

→ Members

Schedule

→ Active Time

Ticket Owner

→ Discord Contact

Ticket Status

→ Application Status

This removes the need to manually copy application details from Discord.

Google Drive Integration

Google Drive serves a different purpose.

It is generally better suited for file-based information such as:

  • Ticket transcripts
  • Reports
  • Exports
  • Documents
  • Attachments
  • Archived support records

Instead of creating spreadsheet rows, Drive provides an organized file structure.

Example Google Drive Archive

You might create:

Novus Support Archive

→ General

→ Technical

→ Payment

→ Applications

A closed Technical ticket could eventually be stored as:

NOVUS-1042-transcript.html

inside:

/Novus Support Archive/Technical/

when the corresponding Drive export workflow is enabled.

Category-to-Folder Mapping

Different Ticket Categories can use different archive destinations.

For example:

Ticket CategoryDrive Destination
General Support/Novus Archive/General/
Technical Support/Novus Archive/Technical/
Payment Support/Novus Archive/Payment/
Bug Report/Novus Archive/Bugs/
Applications/Novus Archive/Applications/

This keeps files organized without requiring staff to manually move them after every ticket.

Date-Based Drive Organization

High-volume communities may add date folders.

For example:

Novus Archive

↓

Technical

↓

2026

↓

August

↓

NOVUS-1042-transcript.html

This prevents one folder from eventually containing thousands of files.

Google Sheets + Google Drive

Sheets and Drive can be used together.

For example:

Ticket closes

↓

Google Sheets

stores:

  • Ticket ID
  • Member
  • Category
  • Status
  • Resolution

while:

Google Drive

stores:

  • Full transcript

The spreadsheet becomes your searchable index while Drive contains the detailed archive.

Example Combined Record

Google Sheets:

Ticket IDCategoryStatusArchive
NOVUS-1042TechnicalResolvedTranscript

Google Drive:

/Technical/2026/August/NOVUS-1042-transcript.html

This is much cleaner than putting the entire transcript inside one spreadsheet cell.

One-Way vs Two-Way Workflows

Integrations may serve different directions depending on the supported feature.

Novus → External Service

Example:

Ticket information → Google Sheets

Transcript → Google Drive

External Service → Novus

Example:

An approved external resource may serve as information Novus can retrieve from when a supported knowledge/data integration exists.

Two-Way

Novus and the connected system may both participate in updates when a particular integration explicitly supports synchronization.

Do not assume every integration is automatically two-way.

Source of Truth

For every integration, decide which system owns the authoritative information.

For example:

Ticket Status

Source of truth: Novus

Ticket Transcript

Source of truth: Novus native transcript

Application Review Status

Source of truth: depends on whether staff manages it in Novus or the connected tracker.

Without a clear source of truth, two systems may contain conflicting information.

Example Conflict

Suppose:

Novus

Ticket Status: Resolved

but:

Google Sheet

Status: Pending

Which one is correct?

If Novus owns ticket lifecycle status, the integration should treat Novus as authoritative for that field.

Define this before building advanced synchronization.

Integration Triggers

A mapping also needs to know when information should be processed.

Conceptual trigger examples include:

Ticket Created

Create an external record.

Ticket Updated

Update the existing record.

Ticket Resolved

Add resolution information.

Ticket Closed

Finalize the record or archive.

Different integrations may support different triggers.

Example Ticket Lifecycle Mapping

At creation:

NOVUS-1042 | Technical | Open

After escalation:

NOVUS-1042 | Technical | Escalated

After resolution:

NOVUS-1042 | Technical | Resolved

After closure:

Add:

Closed At

This is more useful than creating four unrelated rows for one ticket.

Use a Unique Key

Whenever an integration updates existing records, use a stable identifier.

Recommended:

Ticket ID

Possible fallback in some external workflows:

Discord Channel ID

Avoid using:

  • Display name
  • Username alone
  • Ticket title alone

These may not uniquely identify the record.

Integration Use Case — Support Analytics

Google Sheets can provide a simple reporting dataset.

For example, once enough tickets exist, you can calculate:

  • Tickets per category
  • Resolved tickets
  • Inactive tickets
  • Staff escalation rate
  • AI-assisted tickets
  • Average resolution time
  • Most common concern types

This can help identify where your support process needs improvement.

Integration Use Case — Knowledge Gaps

Suppose your reporting shows:

Launcher Issues

200 tickets

Staff Escalation

150 tickets

That may indicate your Knowledge Base lacks effective launcher troubleshooting.

Integrations can therefore help improve AI support indirectly by showing where staff intervention remains high.

Integration Use Case — Development Workflow

Bug Reports can flow conceptually like:

Discord

Bug Report Ticket

↓

Google Sheets

Structured bug tracker

↓

Technical Team

Reviews issue

↓

Status

Investigating

↓

Resolution

Fix or workaround discovered

↓

Novus Knowledge Review

Reusable workaround considered for Knowledge Base

This connects community support with development without treating every ticket as Knowledge.

Integration Use Case — Community Applications

Another workflow:

Discord

Streamer Application

↓

Novus Form

collects structured application information

↓

Google Sheets

Application tracker

↓

Community Team

reviews application

↓

Google Drive

stores supporting files or archived records when needed

This can replace repetitive manual encoding.

Do Not Over-Automate

Automation should reduce work, not make the system harder to understand.

Avoid building:

Ticket

→ Sheet A

→ Sheet B

→ Drive A

→ Drive B

→ Knowledge

→ Another database

unless each destination has a clear purpose.

Every additional destination increases:

  • Maintenance
  • Permission complexity
  • Privacy exposure
  • Failure points
  • Troubleshooting difficulty
Integration Failures

External services can fail.

Possible causes include:

  • Connection expired
  • Permission removed
  • Spreadsheet deleted
  • Worksheet renamed
  • Drive folder removed
  • Destination access changed
  • Invalid mapping
  • Provider temporarily unavailable

Your support workflow should not assume that every external operation always succeeds.

Ticket Support Should Remain Usable

An optional reporting integration should not unnecessarily prevent staff from helping a member.

For example:

Google Sheets unavailable

should not automatically mean:

Technical Support unavailable

The support conversation and external reporting are separate responsibilities.

Never Pretend a Failed Sync Succeeded

If an integration operation fails, the system should not falsely indicate that the destination was updated.

This is especially important for:

  • Application tracking
  • Payment records
  • Bug reports
  • Transcript archives

Failures should remain visible enough for administrators to correct them.

Integration Permissions

Use the least access necessary.

For example, if an integration only needs access to one support spreadsheet, avoid granting broader access than required when the provider allows more limited authorization.

The same principle applies to Google Drive folders.

Sensitive Information

Do not automatically send sensitive ticket information into external services.

Be particularly careful with:

  • Payment tickets
  • Account recovery
  • Administrative investigations
  • Private applications
  • Security concerns

Ask:

Does this destination actually need this field?

If the answer is no, do not map it.

Example Privacy-Friendly Payment Mapping

Instead of exporting the entire conversation, store:

FieldExample
Ticket IDNOVUS-1201
MemberDiscord Member
ConcernPayment Verification
ReferenceTX-XXXX
StatusResolved
Verified ByTransaction Team
Closed AtDate/Time

This may be enough for operational tracking.

Integration Naming Best Practices

Use clear names.

Good:

Support Ticket Tracker

Bug Reports

Streamer Applications

Ticket Transcript Archive

Poor:

Sheet1

Data

New Folder

Test2 Final Final

Clear naming makes mappings easier to maintain.

Keep Mapping Names Consistent

For example:

Novus

Ticket Owner

Google Sheets

Member

is understandable.

But avoid repeatedly changing destination names between:

Member

Discord User

User Name

Ticket Person

unless they intentionally represent different values.

Document Your Mapping

For larger deployments, keep a simple mapping reference.

For example:

WorkflowSourceDestination
Technical TicketTicket IDSupport Sheet → Ticket ID
Technical TicketStatusSupport Sheet → Status
Bug ReportBug TitleBug Sheet → Title
Closed TicketTranscriptDrive → Ticket Archive
Streamer ApplicationPlatformApplications → Platform

This makes troubleshooting significantly easier.

Test With Dedicated Resources First

Before connecting production data, create:

Google Sheet

Novus Integration Test

and:

Google Drive Folder

Novus Integration Test

Use these to verify:

  • Connections
  • Permissions
  • Mappings
  • Triggers
  • Updates
  • Archive destinations

Then switch to your production resources after the workflow behaves correctly.

Recommended Basic Integration Setup

For a smaller community:

Google Sheets

One Support Tracker

Google Drive

One Ticket Archive

Mappings

Only essential ticket information

Knowledge Base

Managed separately

This provides useful automation without excessive complexity.

Recommended Advanced Integration Setup

For a larger community:

Support Operations Sheet

General, Technical, Account

Development Sheet

Bug Reports

Community Applications Sheet

Guilds, Streamers

Transaction Sheet

Restricted Payment records

Google Drive

Department-specific transcript folders

Knowledge Base

Only verified reusable support solutions

This gives each team an appropriate destination.

Integration Planning Checklist

Before enabling an integration, determine:

  • What problem the integration solves.
  • Which account should be connected.
  • What permissions are required.
  • What Novus data is the source.
  • What external resource is the destination.
  • Which fields should be mapped.
  • Which fields should not leave Discord.
  • What uniquely identifies each record.
  • When the integration should run.
  • Whether existing records should be updated or new ones created.
  • Which system is the source of truth.
  • What happens if the external service is unavailable.
  • Who can access the external destination.
  • Whether the integration handles sensitive information.
  • How the configuration will be tested.
A Good Integration Has a Clear Purpose

Before adding any connection, you should be able to complete this sentence:

“We are connecting this service so that…”

For example:

“We are connecting Google Sheets so that Bug Report form submissions become structured development records.”

or:

“We are connecting Google Drive so that closed Technical Support transcripts have a long-term archive.”

If the purpose is unclear, the integration probably does not need to be added yet.

Integration Architecture Example

A complete Novus environment could eventually look like:

Discord

Member interaction

↓

Novus Ticket System

Support lifecycle

↓

AI Routes

Intent and workflow

↓

Knowledge Base

Verified answers

↓

Google Sheets

Structured operational records

↓

Google Drive

File and transcript archives

Each component has a different responsibility.

Keeping those responsibilities separate makes the entire Novus configuration easier to understand, secure, and maintain.

Next Step

Continue to Connecting Google Sheets to Novus.

The next article can go much deeper into the actual Google Sheets workflow: connection setup, selecting a spreadsheet and worksheet, headers, source-to-column mapping, unique keys, create-vs-update behavior, ticket and form mappings, example Bug Report and Application configurations, testing, and common mapping errors.