Keeping integration guide
VerifiedHow to connect Keeping to WEXTL and use its 6 triggers and 31 actions in your workflows. About Keeping: Time tracking software for logging hours against clients, projects and tasks.
- 6 triggers
- 12 searches
- 19 actions
- Polling
- Auth: API key
- Auth: OAuth
AI-assisted documentation11 min read
This documentation is compiled from our integration source code, internal specs for Keeping, its official API documentation and anonymized requests logs we collect from our support team[2].
Requirements
Get your Keeping credentials
Keeping - Primary
- API KeypasswordRequired
Log in to your account, navigate to Settings → Personal Access Tokens, generate a new token, and copy it securely.[1]
Keeping - Secondary
You’ll be redirected to sign in and approve access — your password is never shared with WEXTL.
- Client IDtextRequired
Navigate to your developer dashboard, create an OAuth application to obtain your Client ID and Client Secret, and copy both securely.[1]
- Client SecretpasswordRequired
Copy your client secrent alongside your client ID[1]
Integration requests 4 permissions:
timeteamreportingproject_management
Connect Keeping in WEXTL
- Log in to your WEXTL account, add the Keeping node module to your workflow, and click Create new credential.
- Optional: In the Credential name field, enter a name for the credential.
- Enter the authentication credentials you copied from your Keeping account, or follow the on-screen instructions to create the credential.
- If prompted, authenticate your account and confirm access.
- If you want to make changes to your credential in the future, follow the steps in Manage credentials →
Keeping triggers and actions on WEXTL
The list below is a reference of every Keeping node module the integration supports. You will be able to pick any of them on the workflow canvas while building automations.
Expand any Keeping node module below to see exactly what it takes in, what it returns, and what connection it needs.
Watch Clients
Trigger
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| Code | text |
| State | text |
Watch Organizations
Trigger
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| URL | url |
| Current plan | text |
| Features | object |
| Timesheet | text |
| Projects | boolean |
| Tasks | boolean |
| Breaks | boolean |
| Time zone | time |
| Currency | text |
Watch Projects
Trigger
| Field | Type |
|---|---|
| ID | number |
| Client | object |
| ID | number |
| Name | text |
| Code | text |
| State | text |
| Name | text |
| Code | text |
| Direct | text |
| Task assignments | array |
| Participations | array |
| State | text |
Watch Tasks
Trigger
| Field | Type |
|---|---|
| ID | number |
| Client | object |
| ID | number |
| Name | text |
| Code | text |
| State | text |
| Name | text |
| Code | text |
| Direct | text |
| Task assignments | array |
| Participations | array |
| State | text |
Watch Timesheet Entries
Trigger
| Field | Type |
|---|---|
| ID | number |
| User ID | number |
| Date | date |
| Purpose | text |
| Project ID | number |
| Task ID | number |
| Tag ids | array |
| Note | text |
| External references | array |
| Start | date |
| End | date |
| Hours | number |
| Ongoing | boolean |
| Locked | boolean |
| Is direct hours | boolean |
Watch Users
Trigger
| Field | Type |
|---|---|
| ID | number |
| First name | text |
| Surname | text |
| Code | text |
| Role | text |
| State | text |
Get a Client
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| Code | text |
| State | text |
Get a Project
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Field | Type |
|---|---|
| Client ID | number |
| Name | text |
| Code | text |
| Direct | text |
| Task assignments | array |
| Participations | array |
Get a Task
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| Code | text |
| Direct | boolean |
| State | text |
Get a User
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| Code | text |
| Direct | boolean |
| State | text |
Get an Entry
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Field | Type |
|---|---|
| ID | number |
| User ID | number |
| Date | date |
| Purpose | text |
| Project ID | number |
| Task ID | number |
| Tag ids | array |
| Note | text |
| External references | array |
| Start | date |
| End | date |
| Hours | number |
| Ongoing | boolean |
| Locked | boolean |
| Is direct hours | boolean |
Get Current User
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| Code | text |
| Direct | boolean |
| State | text |
List Clients
Search
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| State | choice |
| Search query | text |
| Limit | number |
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| Code | text |
| State | text |
List Organizations
Search
| Field | Type |
|---|---|
| Limit | number |
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| URL | url |
| Current plan | text |
| Features | object |
| Timesheet | text |
| Projects | boolean |
| Tasks | boolean |
| Breaks | boolean |
| Time zone | time |
| Currency | text |
List Projects
Search
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| State | array |
| Task ID | choice |
| User ID | choice |
| Client ID | choice |
| Limit | number |
| Field | Type |
|---|---|
| ID | number |
| Client | object |
| ID | number |
| Name | text |
| Code | text |
| State | text |
| Name | text |
| Code | text |
| Direct | text |
| Task assignments | array |
| Participations | array |
| State | text |
List Tasks
Search
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| State | array |
| Project | choice |
| Limit | number |
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| Code | text |
| Direct | boolean |
| State | text |
List Timesheet Entries
Search
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| User ID | choice |
| Date | date |
| Limit | number |
| Field | Type |
|---|---|
| ID | number |
| User ID | number |
| Date | date |
| Purpose | text |
| Project ID | number |
| Task ID | number |
| Tag ids | array |
| Note | text |
| External references | array |
| Start | date |
| End | date |
| Hours | number |
| Ongoing | boolean |
| Locked | boolean |
| Is direct hours | boolean |
List Users
Search
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| State | array |
| Project ID | choice |
| Limit | number |
| Field | Type |
|---|---|
| ID | number |
| First name | text |
| Surname | text |
| Code | text |
| Role | text |
| State | text |
Archive a Project
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Field | Type |
|---|---|
| Client ID | number |
| Name | text |
| Code | text |
| Direct | text |
| Task assignments | array |
| Participations | array |
Archive a Task
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| Code | text |
| Direct | boolean |
| State | text |
Create a Client
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
NameRequired | text |
| Code | text |
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| Code | text |
| State | text |
Create a Project
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
NameRequired | text |
| Client | choice |
| Code | text |
| Direct | choice |
| Task Assignments | array |
TaskRequired | choice |
| Direct | boolean |
| Participations | array |
UserRequired | choice |
| Field | Type |
|---|---|
| Client ID | number |
| Name | text |
| Code | text |
| Direct | text |
| Task assignments | array |
| Participations | array |
Create a Task
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
NameRequired | text |
| Assign to active projects | boolean |
| Code | text |
| Direct | boolean |
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| Code | text |
| Direct | boolean |
| State | text |
Create an Entry
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| User ID | choice |
| Date | date |
| Purpose | choice |
| Project ID | choice |
| Task ID | choice |
| Note | text |
| Tag IDs | choice |
| External References | array |
IDRequired | text |
NameRequired | text |
| Type | choice |
| URL | url |
| Start | time |
| End | time |
| Hours | number |
| Field | Type |
|---|---|
| ID | number |
| User ID | number |
| Date | date |
| Purpose | text |
| Project ID | number |
| Task ID | number |
| Tag ids | array |
| Note | text |
| External references | array |
| Start | date |
| End | date |
| Hours | number |
| Ongoing | boolean |
| Locked | boolean |
| Is direct hours | boolean |
Delete a Client
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
Delete a Project
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
Delete a Task
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
Delete an Entry
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
Make an API Call
universal
| Field | Type |
|---|---|
URLRequired | text |
MethodRequired | choice |
| Headers | array |
| Header | object |
| Query String | array |
| Parameter | object |
| Body | text |
| Field | Type |
|---|---|
| Body | text |
| Headers | object |
| Status code | number |
Restore a Project
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Field | Type |
|---|---|
| Client ID | number |
| Name | text |
| Code | text |
| Direct | text |
| Task assignments | array |
| Participations | array |
Restore a Task
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| Code | text |
| Direct | boolean |
| State | text |
Resume an Entry
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Field | Type |
|---|---|
| ID | number |
| User ID | number |
| Date | date |
| Purpose | text |
| Project ID | number |
| Task ID | number |
| Tag ids | array |
| Note | text |
| External references | array |
| Start | date |
| End | date |
| Hours | number |
| Ongoing | boolean |
| Locked | boolean |
| Is direct hours | boolean |
Stop an Entry
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Field | Type |
|---|---|
| ID | number |
| User ID | number |
| Date | date |
| Purpose | text |
| Project ID | number |
| Task ID | number |
| Tag ids | array |
| Note | text |
| External references | array |
| Start | date |
| End | date |
| Hours | number |
| Ongoing | boolean |
| Locked | boolean |
| Is direct hours | boolean |
Update a Client
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Name | text |
| Code | text |
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| Code | text |
| State | text |
Update a Project
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Name | text |
| Client | choice |
| Code | text |
| Direct | choice |
| Task Assignments | array |
TaskRequired | choice |
| Direct | boolean |
| Participations | array |
UserRequired | choice |
| Field | Type |
|---|---|
| Client ID | number |
| Name | text |
| Code | text |
| Direct | text |
| Task assignments | array |
| Participations | array |
Update a Task
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| Name | text |
| Code | text |
| Direct | boolean |
| Field | Type |
|---|---|
| ID | number |
| Name | text |
| Code | text |
| Direct | boolean |
| State | text |
Update an Entry
Action
| Field | Type |
|---|---|
Organisation IDRequired | choice |
| User ID | choice |
| Date | date |
| Purpose | choice |
| Project ID | choice |
| Task ID | choice |
| Note | text |
| Tag IDs | choice |
| External References | array |
IDRequired | text |
NameRequired | text |
| Type | choice |
| URL | url |
| Start | time |
| End | time |
| Hours | number |
| Field | Type |
|---|---|
| ID | number |
| User ID | number |
| Date | date |
| Purpose | text |
| Project ID | number |
| Task ID | number |
| Tag ids | array |
| Note | text |
| External references | array |
| Start | date |
| End | date |
| Hours | number |
| Ongoing | boolean |
| Locked | boolean |
| Is direct hours | boolean |
Templates
Look for Keeping templates in the WEXTL template library.
Browse templates →Other HR integrations on WEXTL
Aladtec[2]Workforce scheduling and timekeeping for public safety and healthcare teams.
ClickTimeTime tracking and workforce timesheet software for projects, billing, and attendance.
EBP PaieFrench payroll and HR software for managing employee pay, documents, and compliance exports.
ClockifyTime tracking for teams — workspaces, projects, tasks, timers, expenses, approvals, scheduling, time-off, and reports.
BrightHRHR software for small businesses covering people, absence, and time tracking.
References
- WEXTL® Keeping Source Code connector implementation.
- Our users use cases and automations.
- Official API Documentation for Keeping.
- WEXTL® visual workflow builder data.
Last updated: Oct 31, 2026 22:52
How we write our apps documentation
How we compile these docs — sources, AI's role, and how we verify.






























