Connecting to Keap
To authenticate to Keap, and connect to your own data or to allow other users to connect to their data, you can use the OAuth standard.
Using API Key Authentication
An API Key can be either a Personal Access Token or a Service Account Key. To create either of these, you will need to login to your Keap web application. From the main page, click on the user bubble in the bottom left, then "Settings." In the "Settings" dialog, click "API" at the bottom of the list. On this page, select either of the "Personal Access Tokens" or "Service Account Keys" headings at the top, then click "New Token" to create your API Key.
After setting the following connection properties, you are ready to connect:
- AuthScheme: Set this to APIKey.
- APIKey: Set this to your Personal Access Token or Service Account Key.
Example connection string:
Profile=C:\profiles\Keap.apip;Authscheme=APIKey;ProfileSettings="APIKey=your_apikey";
Available Tables
The Keap API Profile provides access to comprehensive customer relationship management and business data across 45 specialized tables:
- Account - Access account profile and company information.
- AffiliateClawbacks - Query affiliate commission clawbacks and adjustments.
- AffiliateModel - Access custom field definitions for affiliate objects.
- AffiliatePayments - Query affiliate payment history and transactions.
- AffiliateRedirects - Access affiliate redirect URL configurations.
- Affiliates - Query affiliate program members and their details.
- AffiliateSummaries - Access aggregate affiliate performance data.
- ApplicationConfiguration - Query system-wide application settings and configurations.
- AppointmentModel - Access custom field definitions for appointment objects.
- Appointments - Query scheduled appointments and calendar events.
- Campaigns - Access marketing campaign information and performance data.
- CommissionPrograms - Query affiliate commission program configurations.
- Commissions - Access commission tracking and payment data.
- Companies - Query organization records including company details and business relationships.
- CompanyModel - Access custom field definitions for company objects.
- ContactCreditCards - Query stored credit card information for contacts.
- ContactEmails - Access email communication history for specific contacts.
- ContactModel - Access custom field definitions for contact objects.
- Contacts - Access individual contact records with personal information, communication history, and relationship data.
- ContactTags - Query tag associations for specific contacts.
- CurrentUser - Access current authenticated user information and preferences.
- Emails - Query email communication history with contacts.
- Files - Access file attachments and document storage data.
- LocaleDefaultOptions - Query system locale and internationalization settings.
- Merchants - Access merchant account and payment gateway configurations.
- NoteModel - Access custom field definitions for note objects.
- Notes - Retrieve notes and comments associated with contacts and records.
- Opportunities - Query sales pipeline data with stages, values, and associated contact information.
- OpportunityModel - Access custom field definitions for opportunity objects.
- OpportunityStagePipeline - Query opportunity stage pipeline configurations and workflows.
- OrderItems - Access individual items within orders including product details and pricing.
- OrderModel - Access custom field definitions for order objects.
- OrderPayments - Query payment transactions associated with specific orders.
- Orders - Retrieve order data with transaction details, payment status, and customer information.
- OrderTransactions - Access detailed transaction history for orders and payments.
- Products - Access product catalog with pricing, descriptions, and availability status.
- ProductSubscriptions - Query subscription plans and recurring billing details for products.
- SubscriptionModel - Access custom field definitions for subscription objects.
- Subscriptions - Query subscription and recurring billing information.
- TaggedCompanies - Access companies associated with specific tags.
- TaggedContacts - Access contacts associated with specific tags.
- Tags - Access tagging system for categorizing contacts and data.
- TaskModel - Access custom field definitions for task objects.
- Tasks - Access task management data with completion status, deadlines, and assigned users.
- Users - Query workspace user information and permissions.
Usage Examples
Query all contacts:
SELECT * FROM Contacts
Query contacts by first name:
SELECT * FROM Contacts WHERE GivenName = 'John'
Query contacts by last name:
SELECT * FROM Contacts WHERE FamilyName = 'Smith'
Query all companies:
SELECT * FROM Companies
Query companies by name:
SELECT * FROM Companies WHERE CompanyName = 'Acme Corp'
Query all orders:
SELECT * FROM Orders
Query orders by contact:
SELECT * FROM Orders WHERE ContactId = 123
Query paid orders:
SELECT * FROM Orders WHERE Paid = 'true'
Query all products:
SELECT * FROM Products
Query active products:
SELECT * FROM Products WHERE IsActive = 'true'
Query all opportunities:
SELECT * FROM Opportunities
Query opportunities by stage:
SELECT * FROM Opportunities WHERE StageId = 456
Query opportunities by user:
SELECT * FROM Opportunities WHERE UserId = 789
Query all tasks:
SELECT * FROM Tasks
Query completed tasks:
SELECT * FROM Tasks WHERE IsCompleted = 'true'
Query tasks by user:
SELECT * FROM Tasks WHERE UserId = 123
Query tasks by contact:
SELECT * FROM Tasks WHERE ContactId = 456
Query all notes:
SELECT * FROM Notes
Query notes by user:
SELECT * FROM Notes WHERE UserId = 123
Query notes by contact:
SELECT * FROM Notes WHERE ContactId = 456
Query all emails:
SELECT * FROM Emails
Query emails by contact:
SELECT * FROM Emails WHERE ContactId = 123
Query all files:
SELECT * FROM Files
Query files by contact:
SELECT * FROM Files WHERE ContactId = 123
Query all campaigns:
SELECT * FROM Campaigns
Query all tags:
SELECT * FROM Tags
Query tags by name:
SELECT * FROM Tags WHERE Name = 'VIP Customer'
Query tags by category:
SELECT * FROM Tags WHERE CategoryId = 123
Query all users:
SELECT * FROM Users
Query all affiliates:
SELECT * FROM Affiliates
Query affiliates by name:
SELECT * FROM Affiliates WHERE Name = 'Partner ABC'
Query affiliates by code:
SELECT * FROM Affiliates WHERE Code = 'PARTNERABC'
Query affiliates by contact:
SELECT * FROM Affiliates WHERE ContactId = 123
Query affiliates by status:
SELECT * FROM Affiliates WHERE Status = 'Active'
Query all subscriptions:
SELECT * FROM Subscriptions
Query subscriptions by contact:
SELECT * FROM Subscriptions WHERE ContactId = 123
Query affiliate redirects by affiliate:
SELECT * FROM AffiliateRedirects WHERE AffiliateId = 123
Query affiliate summaries by affiliate:
SELECT * FROM AffiliateSummaries WHERE AffiliateId = 123
Query commission programs by affiliate:
SELECT * FROM CommissionPrograms WHERE AffiliateId = 123
Query all order transactions:
SELECT * FROM OrderTransactions
Query order transactions by contact:
SELECT * FROM OrderTransactions WHERE ContactId = 123
Query contact emails by contact:
SELECT * FROM ContactEmails WHERE ContactId = 123
Query account profile:
SELECT * FROM Account
Query affiliate clawbacks:
SELECT * FROM AffiliateClawbacks WHERE AffiliateId = 123
Query affiliate model fields:
SELECT * FROM AffiliateModel
Query affiliate payments:
SELECT * FROM AffiliatePayments WHERE AffiliateId = 123
Query application configuration:
SELECT * FROM ApplicationConfiguration
Query appointment model fields:
SELECT * FROM AppointmentModel
Query appointments:
SELECT * FROM Appointments
Query all commissions:
SELECT * FROM Commissions
Query company model fields:
SELECT * FROM CompanyModel
Query contact credit cards:
SELECT * FROM ContactCreditCards WHERE ContactId = 123
Query contact model fields:
SELECT * FROM ContactModel
Query contact tags:
SELECT * FROM ContactTags WHERE ContactId = 123
Query current user information:
SELECT * FROM CurrentUser
Query locale default options:
SELECT * FROM LocaleDefaultOptions
Query merchant accounts:
SELECT * FROM Merchants
Query note model fields:
SELECT * FROM NoteModel
Query opportunity model fields:
SELECT * FROM OpportunityModel
Query opportunity stage pipeline:
SELECT * FROM OpportunityStagePipeline
Query order items:
SELECT * FROM OrderItems WHERE OrderId = 123
Query order model fields:
SELECT * FROM OrderModel
Query order payments:
SELECT * FROM OrderPayments WHERE OrderId = 123
Query product subscriptions:
SELECT * FROM ProductSubscriptions WHERE ProductId = '123' AND SubscriptionId = '456'
Query subscription model fields:
SELECT * FROM SubscriptionModel
Query tagged companies:
SELECT * FROM TaggedCompanies WHERE TagId = 123
Query tagged contacts:
SELECT * FROM TaggedContacts WHERE TagId = 123
Query task model fields:
SELECT * FROM TaskModel
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 | Your Keap API token. Can be either a Personal Access Token or Service Account Key. |
| AuthScheme | The scheme used for authentication. Accepted entries are None, APIKey. Allowed values are: BASIC, NONE, NTLM, OAUTH, APIKEY, OAUTH_CLIENT |