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 to connect
- Click Connect or Authorize
- Complete the OAuth authentication flow
- Configure sync settings as needed
Only Admin users can connect or disconnect integrations. Connection status is shown with color-coded indicators: green (connected), yellow (needs refresh), red (error).
Step-by-Step Workflow
- Go to Settings > Integrations
- Find the service to connect
- Click Connect or Authorize
- Complete the OAuth authentication flow
- Configure sync settings as needed
Available Integrations
Accounting Software
Connect your accounting system to sync customers, invoices, and payments:
- QuickBooks Online - Full bidirectional sync with QuickBooks for general business accounting
- Foundation Software - Integration via Agave API for construction contractors using Foundation's job costing and accounting
These integrations eliminate double-entry by automatically syncing financial data between systems. Only one accounting system can be connected at a time.
Payment Processing
Enable online payment collection from customers:
- Stripe Connect - Credit card and ACH bank transfer processing for invoices
Stripe integration allows customers to pay invoices directly from the customer portal with credit cards or bank transfers.
Communication Services
DrillerDB integrates with communication platforms:
- Twilio - SMS notifications for field crews
- Mandrill - Email delivery service for transactional emails
- Google Identity - Single sign-on with Google accounts
Fleet Management
Connect fleet tracking services:
- Motive (formerly KeepTruckin) - Electronic logging device integration
- GPS TrackIt - Real-time vehicle tracking
Mapping & Location
Built-in integrations for location services:
- Google Maps - Project mapping and directions
- Google Places - Address autocomplete and validation
AI & Data Services
Automated data enrichment:
- Google Gemini - Well log analysis and PDF extraction
- Wisconsin DNR - Automated well data import
- Synoptic Weather API - Real-time weather data
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
Connecting a Service
To connect a new integration:
- Navigate to Settings > Integrations
- Find the service you want to connect
- Click Connect or Authorize
- Follow the OAuth authentication flow
- Grant necessary permissions
- Return to DrillerDB to confirm connection
Active Connections
View all active integrations with status indicators:
- Green - Connected and syncing
- Yellow - Authentication needs refresh
- Red - Connection error, needs attention
Disconnecting
To disconnect a service:
- Click Manage next to the integration
- Select Disconnect
- Confirm the action
- Data already synced remains in DrillerDB
Integration Settings
Each integration has specific configuration options:
- Sync Frequency - How often data syncs (real-time, hourly, daily)
- Sync Direction - One-way or bidirectional sync
- Field Mapping - Which fields sync between systems
- Default Values - Fallback values for missing data
Access integration-specific settings by clicking Configure next to each connected service.
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
Integration logs are available in the Activity Log for debugging sync issues.
Beta Integrations
Some integrations are available in beta:
- Limited to select customers
- May have reduced functionality
- Contact support to request access
Beta integrations help us test new features before general release.
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
- Foundation Software - Construction accounting
- Stripe Connect - Payment processing
- Activity Log - View sync logs
- Time & Payroll - Timecard review and payroll readiness