Integrations Overview
DrillerDB integrates with popular business tools to streamline your workflows. The Integrations section allows you to connect and manage all third-party services from one central location.
Quick Start: Connect an Integration
- Go to Settings > Integrations
- Find the service under its group: Accounting, GPS & Fleet, Communications, AI & Automation or Data import
- Click the service's card to open its panel
- Click Connect, or enter the API key or sign-in details the panel asks for
- Where the service signs you in on its own site (QuickBooks Online), finish that sign-in and you return to DrillerDB
Only Admin users can connect or disconnect integrations. Each card shows a badge: Connected, Disconnected, Needs reconnect, Sync error or Status unavailable. A card with a plan name instead (for example Professional) is locked until your plan includes it.
Available Integrations
Accounting
- QuickBooks Online - DrillerDB sends invoices, estimates, and customers to QuickBooks. New estimates and invoices, products and services, and the paid amount and status of your invoices come back on their own
- QuickBooks Desktop - opens its own setup wizard
Only one accounting system can be connected at a time.
GPS & Fleet
Vehicle and equipment tracking, on the Professional plan:
- Motive (KeepTruckin) - ELD and fleet management
- Samsara - fleet tracking and telematics
- Bouncie
- GPS TrackIt
- Verizon Connect
- OneStepGPS
- Azuga
Communications
- Quo (OpenPhone) - business phone, call logging and transcripts
- Email Sync - Gmail and Outlook synchronization for communications logging. Connect a mailbox from the classic app's General settings tab (the button opens it with you signed in). Connected mailboxes stay manageable on this card
- Text messaging (SMS) - a card at the top of the group where you register your business to text customers about their jobs
AI & Automation
- AI Proposals - AI-powered proposal generation. Switch it on or off on its card. It analyzes the location's geology data, picks the best proposal template for the well type, estimates depth, casing and equipment, and builds a proposal with pre-filled line items for you to review
Data import
- ServiceTitan - move customers, jobs, equipment and job photos from ServiceTitan. Enterprise plan, admin only
Not on this screen
Some services are part of DrillerDB and have nothing to connect here. Online card and bank payments through Stripe are set up in Settings > Invoicing & Tax (see Invoicing & Tax Settings and Stripe Connect). Sign-in with Google appears on the login page as Continue with Google.
Payroll
Timesheet export for payroll:
- RUN Powered by ADP - build the timesheet import file ADP reads
This one is not on the Integrations screen. It has no Connect button and no OAuth, because nothing is connected: you generate a file and upload it in ADP yourself. It is described under Payroll exports, below.
Managing Integrations
Step-by-Step: Disconnect an Integration
To disconnect a service:
- Click the service's card
- Click Disconnect (QuickBooks Online shows Disconnect from QuickBooks)
- Confirm the action
- Data already synced remains in DrillerDB
Integration Settings
Click a service's card on the Integrations page to open its panel. What you can set there depends on the service. A fleet tracker asks for its API key or sign-in details. The QuickBooks Online panel has Test Connection and Disconnect from QuickBooks.
The Integrations page has no setting for how often a service syncs, which way data goes, or which fields map between the two systems.
The QuickBooks switches, such as whether new invoices post to QuickBooks on their own, are on Accounting > Settings. See Choose what syncs automatically.
Troubleshooting Connections
If an integration shows an error:
- Check that your credentials are still valid
- Verify the service is not experiencing downtime
- Try disconnecting and reconnecting
- Contact support if issues persist
Payroll exports: RUN Powered by ADP
DrillerDB builds the timesheet import file that RUN Powered by ADP reads. You supply the values only your ADP account knows, DrillerDB fills in the hours from your timecards, and you upload the file in ADP.
The file follows ADP's own Time Sheet Import layout: a ##GENERIC## V1.0 version row,
ADP's eleven column headings, then one row per employee per earnings code. By default
it carries approved timecard entries only.
This export refuses rather than guesses. The values ADP requires are specific to your ADP account, and a file built on a guess imports cleanly and pays people against the wrong codes. When something required is missing you get an error naming what to set, not a file.
What you supply
DrillerDB cannot derive these from your data:
- Client code - your IID, or your branch code plus ADP code
- Pay frequency -
Bbiweekly,Wweekly,Ssemimonthly,Mmonthly, orQquarterly. One file covers one pay frequency. - Earnings codes - the regular, overtime and double-time codes from your own ADP Earnings Codes report
- An ADP employee number for each person whose hours you export
Three more are optional. A paid time off earnings code adds PTO hours to the file, and
leaving it blank keeps PTO out of the file entirely. A department number per person
fills ADP's Worked In Dept column. A rate code other than BASE covers an ADP setup
that pays against a second rate.
All of these are saved against your company, and the settings endpoint refuses an employee mapping that names a user outside it.
Where to set them
Admins save these values through the payroll settings endpoint at
console.drillerdb.com/api/v1/settings/payroll. Reading that address back tells you what is still missing,
which people can be mapped, and which of them have no ADP number yet.
There is no payroll screen in the console yet. Until there is, this is an API-only feature, and the calls go through a signed-in browser session rather than a Partner API key.
Employees who have left
The people you can map are not only your active users. Anyone suspended or deleted still appears if they worked a shift in the last 120 days, or if they already have an ADP number saved. They come back flagged as inactive, so it is clear why they are on the list.
That window exists because someone terminated mid-period still has hours in that period's file. Without it the export would refuse the file and name a person who was missing from the list that fixes it.
Running the export
Signed in as an admin, office or accountant user, ask the timecard export for the ADP format and the pay period:
https://console.drillerdb.com/api/v1/timecards/export?format=adp_run&startDate=2026-09-01&endDate=2026-09-14
The response is the CSV to upload to ADP. Its headers count the rows written, the people skipped for having no hours, and the people left unmapped.
Any of the saved client values can be overridden for a single run by adding it to the
address: client_code, pay_frequency, earnings_regular, earnings_overtime,
earnings_double_time, earnings_pto and rate_code. Saved settings cover whatever
you do not override.
The two refusals
Something required is not set. The export answers with the list of missing fields and what each one needs. Set them and run it again.
Somebody has no ADP employee number. The export refuses the whole file and names
the people. Leaving someone out of a payroll file means they do not get paid, which is
why a partial file is not the default. Map them and run it again, or add
allow_partial=true to accept a file that leaves them out.
People with no hours in the period are a different case. They are left out without an error, because ADP has nothing to import for them.
Related Topics
- QuickBooks Online - Accounting sync setup
- Stripe Connect - Payment processing
- Activity Log - View sync logs
- Time & Payroll - Timecard review and payroll readiness