01
App boundaries
TimeSentry uses one user-managed Zoom OAuth connection to analyze historical scheduled Zoom Meetings and the connected user’s Zoom Phone call history. It creates draft time entries that must be reviewed in TimeSentry before approval.
Out of scope by design
- The app does not join meetings or use the Zoom Meeting SDK.
- The app does not access recordings, meeting audio or video, phone audio, or transcripts.
- The app does not promise coverage for instant meetings.
- The app does not require or expect an AI Companion summary for every meeting.
- The app does not create, edit, start, or delete Zoom meetings or calls.
02
Private reviewer access package
TimeSentry reviewer credentials are supplied privately in the Zoom Marketplace submission. No username, password, recovery code, OAuth token, meeting identifier, participant information, phone number, or customer data is stored on this public page or in the TimeSentry source repository. The reviewer authorizes the app with their own Zoom account on Zoom’s OAuth screen; TimeSentry does not supply or request Zoom credentials.
The private submission package should contain:
- A TimeSentry reviewer account and sign-in instructions.
- The TimeSentry company to select and the navigation path to Integrations and Capture Time with AI.
- A direct support contact for authorization, navigation, or test-data questions.
03
Preconditions
| Item | Required state |
|---|---|
| TimeSentry | Reviewer can sign in, select the supplied company, open Integrations, and use Capture Time with AI. |
| Zoom account | The reviewer uses their own Zoom account and enters Zoom credentials only on Zoom’s authorization screen. |
| Scheduled meeting | At least one completed scheduled meeting owned by the reviewer’s connected Zoom user and dated within the previous six months. If none exists, the reviewer can schedule and complete a short test meeting before capture. |
| Past participants | Optional. Verify when the reviewer’s eligible paid Zoom account exposes past-participant data; otherwise mark this capability-dependent check unavailable. |
| AI Companion | Optional. Verify when the reviewer’s account has a completed meeting with an existing AI Companion summary. |
| Zoom Phone | Optional. Verify when the reviewer’s account has an active Zoom Phone license and a completed call visible in that user’s call history. |
05
Scope-by-scope verification
These tests exercise one connected account. Several meeting scopes contribute to the same draft, so a separate draft is not expected for every scope.
user:read:user
Read the authorized Zoom user and account identifiers once during connection so a later app-deauthorization event can be matched to the correct TimeSentry connection and its associated data. TimeSentry does not retain the user’s Zoom profile fields.
- Reviewer action
- Authorize TimeSentry with the reviewer’s own Zoom account, then remove the app from Zoom after completing the capture tests.
- Expected result
- TimeSentry stores only the Zoom user and account identifiers needed for connection ownership and deauthorization; removing the app deletes the matched connection and associated Zoom-derived data.
meeting:read:list_meetings
List the connected user’s historical scheduled meetings for the selected capture period, up to six months.
- Reviewer action
- Run a Zoom capture for a date range containing a scheduled meeting owned by the connected user.
- Expected result
- The scheduled meeting is available as source context for a draft time entry.
meeting:read:past_meeting
Read completed-meeting details such as actual start, end, and duration.
- Reviewer action
- Use a completed scheduled meeting whose actual duration is visible in Zoom.
- Expected result
- The draft reflects the completed meeting’s available timing details rather than creating an approved entry automatically.
meeting:read:list_past_participants
Use eligible past-participant information to improve client and project context.
- Reviewer action
- If the reviewer’s Zoom account is eligible, capture a completed meeting with participants.
- Expected result
- Available participant context can inform the draft. If Zoom does not make participant data available for that account or meeting, capture continues without it.
meeting:read:summary
Use an existing Zoom AI Companion meeting summary as optional context for a draft description.
- Reviewer action
- If the reviewer’s Zoom account has AI Companion data, capture a meeting for which a summary already exists.
- Expected result
- The available summary can enrich the draft. A missing summary is handled as an optional-data case and is not an error.
phone:read:list_call_logs
Read the connected user’s Zoom Phone call-log history, including available timing, direction, duration, and phone-number context.
- Reviewer action
- If the reviewer’s Zoom account has a Zoom Phone license, capture a date range containing a completed call visible to that user.
- Expected result
- The completed call is available as source context for a draft time entry. No call audio, recording, or transcript is requested.
06
End-to-end draft workflow
- Open Time in TimeSentry and select Capture Time with AI.
- Select Zoom and a date range containing a completed scheduled meeting in the reviewer’s Zoom account. If the account supports Zoom Phone, include a completed call as well.
- Run capture. Confirm that TimeSentry reports completion without asking for a second Zoom authorization.
- Open the resulting meeting draft. Verify that it is not approved, then inspect the proposed date, duration, client, project, and description.
- Edit one draft field and save it. Confirm that the draft remains reviewable.
- Approve one draft. If multiple drafts are available, dismiss another. Confirm that only approved records enter the approved timesheet workflow.
- Run the same date range again. Confirm that TimeSentry does not create a second draft for the same Zoom source item.
08
Cleanup and deletion
- Verify the connection purge: after the removal test, confirm that no Zoom connection, OAuth credential, source metadata, draft, or approved entry associated with that connection remains.
- Report incomplete deletion: if any Zoom-derived test record remains after deauthorization processing, stop and contact reviewer support with the approximate removal time. Do not include Zoom data in the message.
- Full account deletion is separate: removing Zoom does not close the TimeSentry reviewer account or delete other-source data. Do not close the shared reviewer account unless coordinated with TimeSentry. A verified account-deletion request can be sent to privacy@timesentry.ai.
- Credentials: do not copy reviewer credentials, tokens, meeting summaries, participant data, or phone numbers into review notes or public issue trackers.
Complete data-handling and user-deletion instructions are available in the Zoom data guide and Privacy Policy.
09
Marketplace release-note copy
Use the following text in the Zoom Marketplace resubmission:
This resubmission unifies Zoom Meetings and Zoom Phone under one user-managed OAuth connection. It adds historical scheduled-meeting analysis, eligible past-participant context, optional Zoom AI Companion summary context, and Zoom Phone call-log capture. All Zoom-derived time records are created as reviewable drafts. The app does not join meetings, use the Zoom Meeting SDK, access recordings, or retrieve transcripts. Removing the integration from TimeSentry or Zoom purges its credentials and all Zoom-derived data associated with that connection. Public setup, usage, troubleshooting, removal, deauthorization, and data-deletion documentation has also been updated.