Business Application Integrations
Business Application Integrations
Section titled “Business Application Integrations”Integrate your CRM, accounting, and business management platforms with Querri to analyze customer data, financial metrics, and business operations using natural language queries.
Supported Business Applications
Section titled “Supported Business Applications”Querri integrates with the following business platforms:
CRM Systems:
- HubSpot CRM
Accounting Platforms:
- QuickBooks Online
CMMS (Computerized Maintenance Management):
- Fluke eMaint
OAuth connectors (QuickBooks, HubSpot) use OAuth 2.0 for secure, password-free authentication. Fluke eMaint uses API key authentication.
QuickBooks Online
Section titled “QuickBooks Online”Connecting QuickBooks Online
Section titled “Connecting QuickBooks Online”QuickBooks uses Intuit’s OAuth 2.0 system for secure access to your accounting data.
Steps to connect:
- Go to Settings → Connectors (
/settings/connectors) - Find QuickBooks Online in the Accounting category
- Click Connect
- A popup opens to Intuit’s authorization page
- Sign in to your QuickBooks account
- Select which QuickBooks company to connect (if you have multiple)
- Review the permissions and click Authorize
- The popup closes and QuickBooks is connected
Data you can access:
- Customers and vendors
- Invoices and bills
- Payments and expenses
- Chart of accounts
- Financial reports (P&L, Balance Sheet)
- Sales and revenue data
- Tax information
Permissions requested:
- Read-only access to accounting data
- View customer and vendor information
- Access to reports and financial statements
Using QuickBooks in Queries
Section titled “Using QuickBooks in Queries”Customer analysis:
"Show my top 10 customers by revenue""List customers with outstanding invoices""What's the average invoice amount this quarter?"Financial queries:
"What's my total revenue this month?""Show expenses by category for Q1""Compare revenue this year vs last year"Invoice management:
"How many unpaid invoices do I have?""Show overdue invoices older than 30 days""What's my accounts receivable aging?"Reports:
"Generate a profit and loss statement for last month""Show me the balance sheet""What are my top expense categories?"HubSpot CRM
Section titled “HubSpot CRM”Connecting HubSpot
Section titled “Connecting HubSpot”HubSpot uses OAuth 2.0 for secure access to your CRM data.
Steps to connect:
- Go to Settings → Connectors
- Find HubSpot in the CRM category
- Click Connect
- A popup opens to HubSpot’s authorization page
- Sign in to your HubSpot account
- Select which HubSpot portal to connect (if you have multiple)
- Review permissions and click Grant access
- The popup closes and HubSpot is connected
Data you can access:
- Contacts and companies
- Deals and pipeline stages
- Marketing emails and campaigns
- Forms and submissions
- Website analytics
- Custom properties and fields
Permissions requested:
- Read contacts, companies, and deals
- Access to marketing data
- View custom CRM properties
- Read-only access to analytics
Using HubSpot in Queries
Section titled “Using HubSpot in Queries”Contact management:
"How many contacts do I have?""Show contacts created this week""List contacts by lifecycle stage"Deal pipeline:
"Show deals in the 'Negotiation' stage""What's my total pipeline value?""How many deals closed this month?"Sales analysis:
"What's our average deal size?""Show win rate by deal owner""Compare monthly revenue year-over-year"Marketing insights:
"What's the conversion rate from visitor to lead?""Show email campaign performance""Which forms have the most submissions?"Fluke eMaint
Section titled “Fluke eMaint”Connecting Fluke eMaint
Section titled “Connecting Fluke eMaint”Fluke eMaint uses API key authentication for direct access to your CMMS data.
Steps to connect:
- Go to Settings → Connectors
- Find Fluke eMaint in the Business Applications category
- Click Connect
- Enter your connection details:
- API Key: Your Fluke eMaint API key
- Base URL: Your eMaint instance URL
- Click Test Connection to verify
- Click Save when the test succeeds
Data you can access:
- Work orders
- Assets and equipment
- Maintenance schedules
- Technician assignments
- Work order history
- Equipment performance data
Connection requirements:
- Valid Fluke eMaint API key
- Base URL to your eMaint instance
- Network access to the eMaint API
Using Fluke eMaint in Queries
Section titled “Using Fluke eMaint in Queries”Work order tracking:
"Show open work orders""List work orders assigned to me""How many work orders were completed this week?"Asset management:
"Show all assets in location Building A""What equipment is due for maintenance?""List assets by criticality"Maintenance analysis:
"What's the average work order completion time?""Show preventive maintenance compliance rate""Which assets have the most work orders?"Technician performance:
"Show work orders by technician""What's the average response time?""List overdue assignments"OAuth Setup Per Application
Section titled “OAuth Setup Per Application”Each business application has a slightly different OAuth flow, but they all follow the same general pattern:
Before Connecting
Section titled “Before Connecting”Check account permissions:
- Ensure you have admin or integration access in the business app
- Some apps require specific user roles to authorize integrations
- Corporate accounts may need IT approval
Review data access:
- Understand what data the integration will access
- Check if there are any data restrictions in your organization
- Verify compliance with your company’s data policies
During OAuth Authorization
Section titled “During OAuth Authorization”Popup window requirements:
- Disable popup blockers for Querri
- Ensure cookies are enabled
- Use a modern browser (Chrome, Firefox, Safari, Edge)
Multi-factor authentication:
- Complete any MFA challenges from the business app
- Some apps require MFA each time you authorize
- Keep your authentication device handy
Company/account selection:
- If you have multiple accounts, select the correct one
- For QuickBooks, choose the right company file
- For HubSpot, select the correct portal
After Authorization
Section titled “After Authorization”Verify connection:
- The connector status should show “Connected”
- Test with a simple query to confirm data access
- Check for any permission warnings
Data Access Scopes
Section titled “Data Access Scopes”Different apps provide different levels of access control:
QuickBooks Online
Section titled “QuickBooks Online”Scopes granted:
com.intuit.quickbooks.accounting- Full accounting data (read-only)
What this includes:
- All financial transactions
- Customer and vendor records
- Chart of accounts
- Reports
HubSpot
Section titled “HubSpot”Scopes granted:
crm.objects.contacts.read- Contact datacrm.objects.companies.read- Company datacrm.objects.deals.read- Deal dataforms- Form submissionsanalytics- Marketing analytics
Fluke eMaint
Section titled “Fluke eMaint”Authentication method:
- API Key authentication (no OAuth scopes)
- Direct API access with key-based authorization
Access level:
- Determined by the permissions associated with your API key
- Typically read-only access to work orders, assets, and maintenance data
Rate Limiting Considerations
Section titled “Rate Limiting Considerations”Business applications enforce API rate limits to protect their systems. Querri handles these automatically, but be aware:
QuickBooks Online
Section titled “QuickBooks Online”Rate limits:
- 500 requests per minute per company
- 5,000 requests per 24 hours per company
Best practices:
- Avoid running the same query repeatedly in quick succession
- Large reports may count as multiple API calls
- Complex queries with multiple objects use more quota
HubSpot
Section titled “HubSpot”Rate limits:
- 100 requests per 10 seconds (free accounts)
- Higher limits for paid accounts
Burst limits:
- Short bursts of requests are allowed
- Sustained high volume may trigger throttling
Fluke eMaint
Section titled “Fluke eMaint”Rate limits:
- Depends on your eMaint subscription plan
- Contact Fluke support for specific API limits
- Generally designed for reasonable query volumes
Best practices:
- Cache frequently accessed asset/work order data
- Avoid polling for real-time updates
- Use time-based filters to limit result sets
What Happens When Limits Are Reached
Section titled “What Happens When Limits Are Reached”If you hit rate limits:
- Querri automatically retries with exponential backoff
- You may see a “Rate limit exceeded” message
- Wait a few minutes and try again
- For persistent issues, spread queries out over time
Troubleshooting
Section titled “Troubleshooting”Authorization Popup Issues
Section titled “Authorization Popup Issues”Problem: Popup doesn’t open or gets blocked.
Solution:
- Allow popups for Querri in browser settings
- Disable popup blocker extensions temporarily
- Try a different browser
- Check if corporate firewall blocks OAuth flows
”Access Denied” Errors
Section titled “”Access Denied” Errors”Problem: Authorization succeeds but queries fail.
Solution:
- Verify your user role has data access in the business app
- Check if admin approval is required (corporate accounts)
- Ensure the connected account has the necessary permissions
- For HubSpot, verify you have access to the requested CRM objects
Data Not Appearing
Section titled “Data Not Appearing”Problem: Connected successfully but can’t see expected data.
Solution:
- Verify data exists in the source system
- Check if you have permission to view that data type
- Some apps have object-level permissions
- Custom fields may need explicit permission grants
- For Fluke eMaint, verify your API key has access to the requested data
Token Expired
Section titled “Token Expired”Problem: Connector shows “Token expired” or “Reconnect required.”
Solution:
- Click Reconnect in connector settings
- Complete OAuth authorization again
- Some apps expire tokens after 60-90 days of inactivity
- Regular use prevents token expiration
Slow Query Performance
Section titled “Slow Query Performance”Problem: Queries take a long time to complete.
Solution:
- API-based queries can be slower than database queries
- Large datasets take longer to retrieve
- Add date filters to limit data scope (e.g., “this month only”)
- Some apps have query optimization limitations
Best Practices
Section titled “Best Practices”Data Organization
Section titled “Data Organization”- Consistent naming: Use standard naming conventions for custom fields
- Data quality: Keep CRM/accounting data clean and up-to-date
- Required fields: Ensure key fields are populated
- Custom fields: Document what custom fields represent
Security
Section titled “Security”- Least privilege: Only grant necessary permissions
- Regular audits: Review connected apps periodically
- Revoke unused: Disconnect integrations you no longer need
- Monitor activity: Check OAuth app activity logs in your business apps
Query Optimization
Section titled “Query Optimization”- Use filters: Always filter by date range when possible
- “Show deals closed this month” (good)
- “Show all deals ever” (bad - slow and hits rate limits)
- Be specific: Target specific objects/fields rather than broad queries
- Avoid loops: Don’t repeatedly query the same data
- Cache results: If analyzing the same data, save query results
Compliance
Section titled “Compliance”- Data policies: Ensure integration complies with company data policies
- Privacy regulations: Understand GDPR, CCPA implications
- Data residency: Check if data leaves approved geographic regions
- Audit logs: Maintain records of data access for compliance
Next Steps
Section titled “Next Steps”- Managing Connections - Edit and manage business app connectors
- Data Enrichment - Enhance CRM data with external sources
- Overview - Learn more about Querri’s connector system
Disconnecting Business Apps
Section titled “Disconnecting Business Apps”To revoke Querri’s access:
In Querri:
- Go to Settings → Connectors
- Find the connected app
- Click Disconnect or Remove
In the business app:
QuickBooks:
- Sign in to QuickBooks
- Go to Settings → Apps
- Find Querri and click Disconnect
HubSpot:
- Go to Settings → Integrations → Connected Apps
- Find Querri and click Revoke access
Fluke eMaint:
- No external action needed
- Simply disconnect in Querri to remove the API key
- Optionally, revoke or regenerate the API key in your eMaint instance
This immediately revokes all API access and removes stored credentials.