Integration tests verify that data passes correctly between agents and that the handoff signals trigger the next agent reliably. All tests run in the sandbox environment with sandbox credentials.
ID
Scenario
Input
Expected Output
Pass Criteria
T16
Event Setup Agent to Social Promotion Agent handoff
Event Setup Agent completes successfully and passes the Zoom registration link and event context to the workflow
Social Promotion Agent activates immediately after the Zoom registration link is confirmed; no manual trigger required
Execution log shows Social Promotion Agent start timestamp within 30 seconds of Event Setup Agent completion; registration link present in Social Promotion Agent input payload
T17
Registration link propagation across all downstream steps
Zoom registration URL generated by Event Setup Agent
The same URL appears in the HubSpot email sequence, all three LinkedIn post drafts, and the Slack notification without manual copy-paste
URL string comparison across HubSpot sequence tokens, LinkedIn post body, and Slack message confirms identical value; no truncation or encoding error
T18
Post-Event Sync Agent triggered by scheduled time, not manual call
Event end time recorded in the Google Sheets brief row set to 60 minutes in the past relative to the test execution time
Post-Event Sync Agent activates automatically at the correct scheduled time without requiring a manual trigger
Execution log shows agent activation timestamp within 5 minutes of the calculated trigger time; no manual trigger entry in the log
T19
HubSpot sequence dates recalculate when event date changes in Google Sheets
An existing confirmed event row has its date field updated to a new value
The automation detects the date change, updates the HubSpot sequence send dates to reflect the new event date, and logs the update
HubSpot sandbox sequence shows revised send timestamps; execution log records the date change detection and sequence update call
T20
Coordinator revises LinkedIn copy and resubmits for approval
Approval request returned with revision notes; revised copy resubmitted
Agent accepts the revised drafts, replaces the original drafts in the workflow context, and schedules the revised posts to LinkedIn after second approval
LinkedIn API called with revised copy text; original draft text not present in the scheduled post payload; second approval signal recorded in execution log
T21
End-to-end data integrity: Google Sheets row values match all downstream tool records
A single confirmed event row with all fields populated
Event title, date, and speaker name in the Google Sheets row exactly match the Zoom webinar settings, HubSpot email subject lines, LinkedIn post copy, and the Slack notification
Manual field comparison across all four tools confirms no data mutation, truncation, or encoding error at any handoff point
T22
Concurrent event rows: two confirmed rows processed without collision
Two separate confirmed event rows added to the Google Sheets file within 2 minutes of each other, each with distinct event titles and dates
Two independent workflow instances run in parallel; each instance creates its own Zoom webinar and HubSpot sequence without mixing data between the two events
Execution log shows two distinct workflow instance IDs; Zoom sandbox shows two separate webinars; HubSpot sandbox shows two separate sequence enrollments with no cross-contamination
Edge case tests cover inputs and conditions outside the happy path. These scenarios reflect realistic failure modes identified during process discovery.
ID
Scenario
Input
Expected Output
Pass Criteria
E01
Duplicate event row submitted for the same event
A second Google Sheets row is added with the same event title and date as an already-confirmed row
Automation detects the duplicate, skips processing the second row, and logs a duplicate warning without creating a second Zoom webinar or HubSpot sequence enrollment
Execution log contains a duplicate detection entry; Zoom sandbox shows only one webinar for the event; HubSpot sandbox shows no duplicate sequence
E02
Event cancelled after workflow has started
Google Sheets row status updated from Confirmed to Cancelled after the Event Setup Agent has already created the Zoom webinar
Automation detects the status change, cancels the Zoom webinar via API, deactivates the HubSpot sequence, and logs the cancellation. Scheduled LinkedIn posts are removed if not yet published
Zoom API cancellation call returns 200; HubSpot sequence shows unenrolled status; LinkedIn scheduled posts removed or flagged for manual review; execution log records all cancellation actions
E03
Missing speaker name in the event brief
Google Sheets row confirmed but the speaker name cell is empty
AI copy generation proceeds using a placeholder token; coordinator approval request flags the missing speaker name as a required review item before approval is permitted
LinkedIn post drafts contain a clearly labelled placeholder for the speaker name; approval request message includes a warning about the missing field; approval cannot proceed without the field being filled
E04
Zoom API rate limit reached during bulk event creation
Six confirmed event rows submitted within a 10-minute window, exceeding the Zoom API rate limit for webinar creation
Automation queues the excess requests, applies exponential backoff, retries after the rate limit window resets, and logs the delay without dropping any events
All six Zoom webinars eventually created; execution log shows retry attempts with backoff intervals; no events lost; total queue cleared within 15 minutes
E05
HubSpot API unavailable for more than 5 minutes
Event Setup Agent attempts to activate the HubSpot email sequence; HubSpot API returns 503 for all retry attempts over a 5-minute window
Automation logs the failure, pauses the HubSpot step, and sends an alert to the FullSpec monitoring channel. The Zoom webinar creation step is not rolled back. The step retries automatically when HubSpot availability is restored
Execution log records 503 errors and retry attempts; alert delivered to the monitoring channel; HubSpot step retried and completed successfully once the service recovers; no duplicate sequence created
E06
Zoom host ends webinar early without formally ending the session
Zoom attendance report requested 60 minutes after the scheduled event end time; Zoom API returns an incomplete participant list because the session was not formally closed by the host
Post-Event Sync Agent detects an incomplete attendance report (participant count below expected threshold), logs a data quality warning, and flags the event row in Google Sheets for manual attendance verification before follow-up emails are sent
Google Sheets event row contains a manual review flag; follow-up emails are held pending manual confirmation; execution log records the incomplete data detection
E07
Coordinator does not respond to LinkedIn post approval request within 24 hours
Approval request sent to coordinator; no approve or revise action taken within 24 hours
Automation sends a single reminder notification after 12 hours of inactivity. If no response is received within 24 hours of the original request, the workflow pauses the LinkedIn scheduling step and escalates to the Marketing Manager via Slack
Reminder notification delivered at the 12-hour mark; escalation Slack message sent at the 24-hour mark with the coordinator's name, event title, and approval link; LinkedIn posts remain unscheduled until explicit approval is received