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 SystemAn 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 BaseExternal 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 ConceptsMost 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.
ExampleSuppose 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 ConnectionsBefore 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
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 MatterAn 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 ExampleSuppose your Google Sheet contains:
| Ticket ID | Member | Category | Status |
|---|
Your mapping could be:
| Novus Source | Google Sheets Column |
|---|---|
| Ticket ID | Ticket ID |
| Ticket Owner | Member |
| Ticket Category | Category |
| Final Status | Status |
When a ticket is processed, Novus knows which value belongs in each column.
Mapping Does Not Mean Copy EverythingOnly 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 IntegrationGoogle 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
A support sheet could contain:
| Ticket ID | Member | Category | Status | Escalated | Resolution |
|---|---|---|---|---|---|
| NOVUS-1001 | Member A | Technical | Resolved | No | Client configuration corrected |
| NOVUS-1002 | Member B | Payment | Resolved | Yes | Staff verified transaction |
| NOVUS-1003 | Member C | General | Inactive | No | — |
This makes support history easier to filter and analyze.
Google Sheets Use Case — Bug ReportsSuppose 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 Source | Sheet Column |
|---|---|
| Ticket ID | Report ID |
| Ticket Owner | Reporter |
| Form: Bug Title | Title |
| Form: Description | Description |
| Form: Steps to Reproduce | Reproduction Steps |
| Form: Affected Area | Component |
| Created Date | Reported At |
| Ticket Status | Status |
| Resolution | Resolution |
Applications are another strong use case because form responses are already structured.
For example:
Streamer Application Form
↓
Google Sheets:
| Column | Source |
|---|---|
| Application ID | Ticket ID |
| Discord User | Ticket Owner |
| Streamer Name | Form: Streamer Name |
| Platform | Form: Platform |
| Channel | Form: Channel URL |
| Schedule | Form: Streaming Schedule |
| Status | Ticket Status |
Staff can use the Sheet as an application tracker.
Google Sheets Use Case — Guild ApplicationsA 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 IntegrationGoogle 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 ArchiveYou 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 MappingDifferent Ticket Categories can use different archive destinations.
For example:
| Ticket Category | Drive 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 OrganizationHigh-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 DriveSheets 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 RecordGoogle Sheets:
| Ticket ID | Category | Status | Archive |
|---|---|---|---|
| NOVUS-1042 | Technical | Resolved | Transcript |
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 WorkflowsIntegrations 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 TruthFor 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 ConflictSuppose:
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 TriggersA 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 MappingAt 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 KeyWhenever 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 AnalyticsGoogle 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 GapsSuppose 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 WorkflowBug 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 ApplicationsAnother 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-AutomateAutomation 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
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 UsableAn 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 SucceededIf 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 PermissionsUse 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 InformationDo 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 MappingInstead of exporting the entire conversation, store:
| Field | Example |
|---|---|
| Ticket ID | NOVUS-1201 |
| Member | Discord Member |
| Concern | Payment Verification |
| Reference | TX-XXXX |
| Status | Resolved |
| Verified By | Transaction Team |
| Closed At | Date/Time |
This may be enough for operational tracking.
Integration Naming Best PracticesUse 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 ConsistentFor 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 MappingFor larger deployments, keep a simple mapping reference.
For example:
| Workflow | Source | Destination |
|---|---|---|
| Technical Ticket | Ticket ID | Support Sheet → Ticket ID |
| Technical Ticket | Status | Support Sheet → Status |
| Bug Report | Bug Title | Bug Sheet → Title |
| Closed Ticket | Transcript | Drive → Ticket Archive |
| Streamer Application | Platform | Applications → Platform |
This makes troubleshooting significantly easier.
Test With Dedicated Resources FirstBefore 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 SetupFor 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 SetupFor 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 ChecklistBefore 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.
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 ExampleA 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.