Event Stage Participation Evidence avatar

Event Stage Participation Evidence

Pricing

$0.25 / completed report

Go to Apify Store
Event Stage Participation Evidence

Event Stage Participation Evidence

Merge supplied participant intervals inside explicit opening, breakout and closing stages. Retain reconnect/parallel-room evidence, coverage limits, missing identities and source ambiguity. JSON or mapped CSV; no certificates or attendance decisions.

Pricing

$0.25 / completed report

Rating

0.0

(0)

Developer

Gilad Ronen

Gilad Ronen

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 days ago

Last modified

Share

Combine authorized attendance exports for an event with an opening session, parallel breakout rooms and a closing session. This Actor produces a participant-by-stage evidence report from your explicit room manifest and observed join/leave intervals. It merges reconnects and overlapping room observations so the same minute contributes once to a stage and once to each participant's whole-event interval union.

Use this when different organizations or meeting platforms operate parts of the same workshop and you already have permission to process their exports. Prepare a common opaque participant ID before uploading. The Actor does not fetch Zoom or Teams accounts, parse changing native export layouts, infer identity from display names, or require attendee contact details.

Inputs

Provide an eventId and four tables as JSON arrays or mapped CSV:

  • rosterRows: rowId, participantId. Preserve identifiers as strings, including leading zeros. Missing or blank identities remain unresolved.
  • stageRows: stageId, startTime, endTime, sessionIds. A stage is a bounded time window with one or more acceptable room/session IDs. JSON uses a room array; CSV uses a|b in the sessionIds field. Use JSON when a session ID contains a pipe.
  • coverageRows: sessionId, coverage, which is complete, partial or not-provided. This is your declaration about the submitted export, not a verified claim about a platform's reporting system.
  • intervalRows: rowId, sessionId, participantId, joinTime, leaveTime.

Each timestamp must include a valid calendar date, seconds, and Z or an explicit offset such as +03:00. Up to three fractional second digits are accepted. End times must follow start times. Explicit offsets handle daylight-saving boundaries as actual instants; zone names and ambiguous local times are rejected. Intervals are half-open: touching endpoints do not constitute a simultaneous-room observation.

For CSV, remove the corresponding array and supply a nonempty rosterCsv, stagesCsv, coverageCsv or intervalsCsv. Default headers are the field names above. Optional complete column mappings allow different headers. BOMs and quoted fields are supported; duplicate headers, unknown columns, reused mappings and irregular rows are rejected. Header-only CSV deliberately supplies an empty table.

Reading the report

Each roster-stage row retains indexed source references and reports observedUnionMilliseconds, exact decimal observedUnionSeconds, and an exact observedMinutesFraction expressed as milliseconds divided by 60000. For example, 900000/60000 is fifteen observed minutes. mergedIntervals contains UTC epoch-millisecond endpoints after clipping and union. participants contains whole-event unions, which also avoid double counting when stage windows overlap.

Observed intervals in any acceptable breakout room support that stage. Overlapping observations in different rooms produce simultaneous_room_observation evidence; this is not a misconduct or engagement conclusion. Duplicate row IDs, duplicate roster identities, duplicated stage IDs, overlapping stage windows and repeated coverage declarations remain ambiguous with all source rows retained. Arithmetic observed durations remain available; resolvedUnionMilliseconds and the corresponding whole-event field are null where ambiguity or missing evidence prevents a resolved metric.

A stage with no observations receives no_observation_in_submitted_complete_exports only when every allowed session has one complete coverage declaration. Partial, missing or not-provided exports produce missing_evidence_unknown. Neither result establishes actual absence. Orphan participants, missing identities, sessions outside the manifest and intervals outside declared windows stay in the unassigned evidence table. They are never assigned by a time or name guess.

Downloads, pricing and limits

One completed run delivers one complete dataset item, full JSON (OUTPUT), participant-stage CSV, findings CSV and a standalone escaped HTML report. Download the HTML attachment and open it locally. CSV cells are neutralized against spreadsheet formulas.

Price: $0.25 per completed report, with platform usage included and no startup or dataset-item fee. Invalid input, insufficient remaining report budget and output-capacity failures do not charge a report event. A fresh run of the same input is a new report. Resuming the same run repairs missing exports without another item or charge; modified saved results or changed input are rejected. Partial export files can exist after an interruption, so wait for successful completion before using them.

Maximum input is 4 MB JSON and 2000 combined table rows, with 2000 stage-session assignments and 10000 roster-stage pairs. Expanded analysis is bounded to 40000 evidence references and 20000 findings; highly duplicated manifests can require smaller batches. Full JSON must remain below 8 MB and every export below 9 MB, checked before billing.

Inputs and reports are stored in your Apify run storage. Use authorized opaque IDs, not names, email addresses or other contact details. This Actor reports supplied-data evidence only. It does not issue certificates, apply thresholds, decide attendance, evaluate learning, determine payroll, verify regulated qualifications or claim a live platform state.