Connecting to Deel
To authenticate to Deel, you can use API Key (Bearer Token) authentication.
Using APIKey Authentication
You can authenticate using a Deel API Key. Create an API key in your Deel account settings under Settings > API or Developer Settings. Make sure to grant appropriate permissions based on the data you need to access (e.g., read access for invoices, timesheets, contracts, workers, etc.).
After creating your API Key, set the following connection properties:
- AuthScheme: Set this to APIKey.
- APIKey: Set this to your Deel API Key (Bearer token).
Example APIKey connection string
Profile=C:\profiles\Deel.apip;AuthScheme=APIKey;ProfileSettings='APIKey=your_deel_api_key';
Usage Examples
Invoices and Payments
Invoices: Query contractor invoices with payment status and filtering
SELECT * FROM Invoices WHERE Status = 'paid'
SELECT Id, Label, Total, Currency, PaidAt FROM Invoices WHERE InvoiceId = 'inv_123'
SELECT * FROM Invoices WHERE Status IN ('pending', 'processing') AND IssuedAt >= '2025-01-01'
DeelInvoices: Retrieve Deel platform service invoices
SELECT * FROM DeelInvoices WHERE Status = 'paid' SELECT Id, Label, Total, Currency, CreatedAt FROM DeelInvoicesInvoiceDownloadLink: Get temporary download URLs for invoice PDFs
SELECT Url, ExpiresAt FROM InvoiceDownloadLink WHERE InvoiceId = 'inv_123'PaymentReceipts: Query completed payment transactions
SELECT * FROM PaymentReceipts WHERE PaidAt >= '2025-01-01' AND Status = 'paid' SELECT Id, Label, PaidAt, PaymentCurrency FROM PaymentReceipts WHERE Entities = 'individual'PaymentBreakdown: Get itemized payment details with all components
SELECT * FROM PaymentBreakdown WHERE PaymentId = 'pay_123' SELECT Work, Bonus, Overtime, Deductions, Total FROM PaymentBreakdown WHERE PaymentId = 'pay_123'
Adjustments
Adjustments: Query payment adjustments by statusSELECT * FROM Adjustments WHERE Id = 'adj_123' SELECT * FROM Adjustments WHERE Status = 'approved' SELECT Id, Title, Amount, Status, Description FROM Adjustments WHERE AdjustmentCategoryId = 'cat_123'AdjustmentCategories: List available adjustment categories
SELECT * FROM AdjustmentCategoriesInvoiceAdjustments: Query adjustments across all invoices
SELECT * FROM InvoiceAdjustments WHERE Status = 'approved' SELECT * FROM InvoiceAdjustments WHERE Type = 'expense' AND InvoiceId = 123ContractAdjustments: Query adjustments for a specific contract
SELECT * FROM ContractAdjustments WHERE ContractId = 'contract_123' SELECT * FROM ContractAdjustments WHERE ContractId = 'contract_123' AND Status = 'approved'ContractInvoiceAdjustments: Get all invoice adjustments for a contract
SELECT * FROM ContractInvoiceAdjustments WHERE ContractId = 'contract_123' SELECT * FROM ContractInvoiceAdjustments WHERE ContractId = 'contract_123' AND Status = 'paid'
Timesheets and Time Tracking
Timesheets: Query contractor timesheet submissionsSELECT * FROM Timesheets WHERE DateSubmitted >= '2025-01-01' SELECT * FROM Timesheets WHERE Status = 'pending' AND ContractId = 'contract_123' SELECT Id, Quantity, Status, TotalAmount, DateSubmitted FROM Timesheets WHERE Statuses = 'approved'TimeTrackingTimesheets: Access time tracking records with approval workflow
SELECT * FROM TimeTrackingTimesheets WHERE TimesheetId = 'ts_123' SELECT StartDate, EndDate, SubmissionStatus, ReviewStatus FROM TimeTrackingTimesheets WHERE TimesheetId = 'ts_123'
People and HRIS
People: Query HRIS people records (workers, employees, contractors)SELECT * FROM People WHERE HiringType = 'employee' SELECT * FROM People WHERE IsCustomFieldsIncluded = true SELECT WorkerId, FullName, Email, HiringType, HiringStatus FROM People WHERE HiringStatus = 'active'MyProfile: Get current authenticated user's profile
SELECT * FROM MyProfileManagers: List all manager profiles in organization
SELECT * FROM Managers SELECT Id, FirstName, LastName, Email FROM ManagersGroups: Query organizational groups and teams
SELECT * FROM Groups SELECT Id, Name, Description FROM GroupsWorkerRelations: View organizational hierarchy and reporting relationships
SELECT * FROM WorkerRelations WHERE HrisProfileOid = 'profile_123'
Custom Fields
CustomFields: Query organization-level custom field definitionsSELECT * FROM CustomFields SELECT Id, Name, Type, IsActive FROM CustomFields WHERE IsActive = truePeopleCustomFieldDefinitions: Get custom field schemas for people records
SELECT * FROM PeopleCustomFieldDefinitions WHERE HrisProfileOid = 'profile_123'PersonCustomFields: Retrieve custom field values for a specific person
SELECT * FROM PersonCustomFields WHERE HrisProfileOid = 'profile_123'ContractCustomFields: Access custom fields for contracts
SELECT * FROM ContractCustomFields WHERE ContractId = 'contract_123'
EOR (Employer of Record)
EorContractDetails: Query EOR contract terms and compensationSELECT * FROM EorContractDetails WHERE ContractId = 'contract_123' SELECT Salary, Currency, JobTitle, Country FROM EorContractDetails WHERE ContractId = 'contract_123'EorBenefits: List benefits for EOR contracts
SELECT * FROM EorBenefits WHERE ContractId = 'contract_123'EorJobScopes: Get job scope and responsibilities
SELECT * FROM EorJobScopes WHERE ContractId = 'contract_123'EorContractDocuments: Access contract documentation and agreements
SELECT * FROM EorContractDocuments WHERE ContractId = 'contract_123'EorWorkerAdditionalFields: Query additional EOR worker information
SELECT * FROM EorWorkerAdditionalFields WHERE ContractId = 'contract_123'EorAmendments: View contract amendments and modifications
SELECT * FROM EorAmendments WHERE ContractId = 'contract_123' SELECT * FROM EorAmendments WHERE ContractId = 'contract_123' AND Status = 'approved'
Contract Management
ContractAmendments: Query contract change requests and amendmentsSELECT * FROM ContractAmendments WHERE ContractId = 'contract_123' SELECT * FROM ContractAmendments WHERE ContractId = 'contract_123' AND Status = 'approved'ContractTasks: Access contract-specific tasks and milestones
SELECT * FROM ContractTasks WHERE ContractId = 'contract_123' SELECT * FROM ContractTasks WHERE ContractId = 'contract_123' AND Status = 'approved'
Worker Records
WorkerPayslips: Retrieve employee payslip recordsSELECT * FROM WorkerPayslips WHERE HrisProfileOid = 'profile_123'WorkerTaxDocuments: Access tax forms and compliance documents
SELECT * FROM WorkerTaxDocuments SELECT Id, Type, Year, Country, Url FROM WorkerTaxDocuments WHERE Year = 2024WorkerResignations: Query worker resignation records and offboarding
SELECT * FROM WorkerResignations WHERE HrisProfileOid = 'profile_123'
IT Assets and Equipment
ItAssets: Query IT hardware inventorySELECT * FROM ItAssets SELECT Name, Type, Condition, SerialNumber, AssignedTo FROM ItAssets WHERE Type = 'laptop'ItOrders: View IT equipment orders and fulfillment status
SELECT * FROM ItOrders WHERE ContractId = 'contract_123'
Administrative
CostCenters: List cost centers for expense allocationSELECT * FROM CostCenters SELECT Id, Name, Description FROM CostCentersHrisPositions: Query job positions and organizational roles
SELECT * FROM HrisPositions WHERE HrisProfileOid = 'profile_123'OnboardingTrackers: Monitor onboarding progress for new workers
SELECT * FROM OnboardingTrackers WHERE HrisProfileOid = 'profile_123'
System Tables
Sys_Indexes: Query table index metadataSELECT * FROM Sys_Indexes WHERE TableName = 'Invoices' SELECT IndexName, ColumnName, IsPrimary, IsUnique FROM Sys_Indexes WHERE TableName = 'People'
API Documentation
For more information about the Deel API, see the official Deel API documentation.
Data Source Capabilities
The Deel API Profile supports querying various Deel resources including:
- Invoices and Payments: Contractor invoices, platform invoices, payment receipts, payment breakdowns
- Timesheets: Contractor timesheets, time tracking records, approval workflows
- Adjustments: Bonuses, deductions, expenses, reimbursements with categorization
- People and HRIS: Worker records, employees, contractors, organizational hierarchy, custom fields
- EOR Contracts: Contract details, benefits, job scopes, documents, amendments
- IT Assets: Equipment inventory, orders, assignments
- Worker Management: Payslips, tax documents, resignations, relations
- Administration: Cost centers, positions, onboarding tracking
- Custom Fields: Organization-specific data extensions
Common Query Patterns
Date Range Filtering:SELECT * FROM Timesheets WHERE DateSubmitted BETWEEN '2025-01-01' AND '2025-01-31' SELECT * FROM PaymentReceipts WHERE PaidAt >= '2025-01-01'Status Filtering:
SELECT * FROM Invoices WHERE Status IN ('pending', 'processing', 'paid')
SELECT * FROM Adjustments WHERE Status = 'approved'
Contract-Specific Queries:
SELECT * FROM ContractAdjustments WHERE ContractId = 'contract_123' SELECT * FROM EorContractDetails WHERE ContractId = 'contract_123' SELECT * FROM ContractTasks WHERE ContractId = 'contract_123' AND Status = 'completed'Worker-Specific Queries:
SELECT * FROM People WHERE Id = 'worker_123' SELECT * FROM WorkerPayslips WHERE HrisProfileOid = 'profile_123' SELECT * FROM PersonCustomFields WHERE HrisProfileOid = 'profile_123'
Connection Properties
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider.
| Property | Description |
| APIKey | The API Key or Bearer Token for authenticating with the Deel API. |
| AuthScheme | The scheme used for authentication. Accepted entries are APIKey or None. Allowed values are: BASIC, NONE, NTLM, OAUTH, APIKEY, OAUTH_CLIENT |