01
App boundaries
TimeSentry uses one user-managed Zoom OAuth connection to analyze historical scheduled Zoom Meetings, their full agendas, available Zoom My Notes content and optional My Notes transcripts, 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 meeting or call recordings, meeting audio or video, or phone audio.
- The app sends
include=transcriptonly when retrieving content for a linked Zoom My Notes record; Zoom returns the optional transcript when available. The app does not request Zoom Phone call 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
Use the TimeSentry credentials provided privately with the Zoom Marketplace submission. No username, password, recovery code, OAuth token, meeting identifier, agenda, Zoom My Notes content or transcript, participant information, phone number, or customer data is stored on this public page or in the TimeSentry source repository. Authorize the app with your own Zoom account on Zoom’s OAuth screen. TimeSentry does not supply or request Zoom credentials.
The private review package provides:
- 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. Add a distinctive, non-sensitive test agenda before completing the meeting. 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 My Notes | Optional. Verify when the reviewer can link a manual or generated My Notes record containing distinctive, non-sensitive test text to the completed meeting. If Zoom exposes a transcript for that note, use a distinctive, non-sensitive spoken phrase. Retain another meeting without an available My Notes transcript to verify the fallback path. |
| 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. Meeting details, agenda, summary, participants, My Notes content, and an available My Notes transcript can 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:meeting
Read the full scheduled-meeting record, including its agenda, so the draft can reflect the work the meeting was intended to cover.
- Reviewer action
- Use a scheduled meeting owned by the connected user and add a distinctive, non-sensitive test agenda before the meeting occurs.
- Expected result
- The available agenda can enrich the proposed draft description. TimeSentry reads the meeting; it does not edit the meeting or its agenda.
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.
my_notes:read:note
List Zoom My Notes records linked to a meeting so TimeSentry can identify optional manual or generated notes associated with that source meeting.
- Reviewer action
- If My Notes is available to the reviewer, use a completed meeting with a manual or generated My Notes record linked to it.
- Expected result
- TimeSentry can identify the linked note. If no note is available, meeting capture continues without My Notes enrichment.
my_notes:read:content
Retrieve the content of a linked manual or generated My Notes record as optional context for project matching and the draft description.
- Reviewer action
- Add distinctive, non-sensitive text to a linked My Notes record, then capture the associated meeting.
- Expected result
- Available note content can enrich project matching and the draft description. Capture continues if note content is unavailable.
my_notes:read:notes_transcript
Send include=transcript when retrieving content for a linked My Notes record so Zoom can return its optional structured transcript when available. TimeSentry stores that transcript with the associated company-scoped meeting note and limits the total speaker-formatted transcript text used for AI-assisted project matching and draft-description generation to 32,000 characters per meeting capture.
- Reviewer action
- If Zoom My Notes exposes a transcript for the test meeting, include a distinctive, non-sensitive phrase in the meeting conversation, then capture that meeting. Also capture a meeting whose My Notes record has no transcript, or a meeting with no My Notes record.
- Expected result
- Available transcript context can improve the suggested project and draft description. Missing transcript data is treated as optional and does not block capture. The structured transcript is retained with the associated meeting note, not exposed as a separate transcript viewer in the current review interface.
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 the completed scheduled meeting with the test agenda. If My Notes is available, link a manual or generated note containing distinctive test text. When Zoom exposes a transcript for the note, use a distinctive, non-sensitive spoken phrase. 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. Confirm that the available agenda, My Notes text, and transcript context can inform project matching and the proposed description.
- Confirm that relevant transcript context can be reflected in the generated draft narrative. If linked My Notes content is shown in the meeting’s notes view, confirm that the note remains associated with the meeting. The current review interface does not include a raw-transcript viewer, so no separate transcript display is expected.
- Run capture for a meeting without an available My Notes transcript. Confirm that capture still completes and creates a reviewable draft from the remaining available meeting context.
- Confirm that neither transcript test requires TimeSentry to join the meeting, use the Meeting SDK, or access a recording, audio, or video.
- 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.
Transcript storage note: TimeSentry retains the complete structured transcript returned by Zoom on the associated company-scoped meeting note. Because the current interface does not expose that raw field, this workflow verifies transcript use through the resulting draft. Separate persistence evidence can be supplied with the private review package if Zoom requests it.
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 and source content: do not copy reviewer credentials, tokens, meeting agendas, summaries, Zoom My Notes content or transcripts, 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.