Skip to content

Automation  ·  Marketing

How to build a webinar and event registration sync

Four hundred badge scans arrive as a spreadsheet nine days after the event and the leads are cold. Below is the model behind same-day follow-up, the prompts that build it, and the parts that only bite once it is live.

Built with Tray Headless

  1. System Zoom
  2. Step Sync pre-event
  3. Step Split attended
  4. Step Route by behaviour
  5. System Salesforce
Also Marketo

Registrations sync before the event so sales can act on who is coming, and attendance is a separate fact from registration.

The short answer

What is an event registration sync?

An event registration sync is four parts: registrations flowing before the event rather than after it, attendance recorded as a separate fact from registration, follow-up routed the same day based on what somebody actually did, and attribution that survives a finance conversation. Most of these come apart on treating registration as attendance. Half of registrants never turn up, and a sequence thanking a no-show for attending is the fastest way to waste an event.

What matters here

  • Sync registrations before the event. Knowing a target account registered is worth more before it than after.
  • Never treat registration as attendance. Thanking a no-show for attending is worse than not following up at all.
  • Route the same day. A lead from an event is warm for about seventy-two hours.
  • Segment on behaviour: attended fully, dropped early, no-show, asked a question. Each needs a different follow-up.
  • Attribute to the event with real cost attached, or the channel looks impossibly efficient and gets defunded.

Who this is for

You run marketing operations or demand generation. Registrations sit in a webinar tool, badge scans arrive as a spreadsheet, and follow-up happens whenever somebody gets to it.

How it works in practice

What happens between somebody registering and a rep having a useful conversation.

  1. 1

    Registrations sync as they happen, before the event

    So sales know which target accounts registered while it still matters.

  2. 2

    Registrants are matched to accounts and existing contacts

    A registrant on an open opportunity is a different conversation entirely.

  3. 3

    Attendance is recorded separately after the event

    Attended, partially attended, no-show, with the duration.

  4. 4

    Behaviour is captured, not only presence

    Questions asked, polls answered, resources downloaded.

  5. 5

    Follow-up routes the same day, differentiated by behaviour

    A question asker and a no-show get different messages from different people.

  6. 6

    Cost is attached and pipeline attributed

    So the channel is judged on cost per opportunity, not on registration count.

What the sync is made of

Four parts. The second is the distinction everybody collapses.

Pre-event registration flow

As registrations happen. A target account registering is intelligence sales can use before the event, not a record afterwards.

Attendance separate from registration

Two different facts. Half of registrants do not attend, and treating them alike produces embarrassing follow-up.

Behaviour-based routing

Attended fully, dropped early, no-show, asked a question. Each is a different intent and a different message.

Honest attribution

Real cost including staff time against real pipeline. An events channel with no cost attached looks impossibly efficient.

The Tray Headless prompts

Paste these into Claude Code or Codex with the Tray Headless plugin installed. Each stage runs on its own. The systems named in them are the worked example rather than a requirement, and every prompt says so.

Once per project, run /tray-workflows:set-workspace to pick the workspace these build in. Point it at a sandbox first.

  1. 1

    Set up and sync registrations before the event

    A registration is intelligence before the event and a record afterwards.

    Headless skills build-workflow tray-patterns

    Use build-workflow.
    
    Sync registrations as they happen, not in a post-event export.
    
    For each registration: match to an existing contact and account, create
    the contact where new, add to the campaign with a registered status, and
    capture what they told you at registration.
    
    Then notify the account owner when somebody from a target account or an
    open opportunity registers. That is worth far more before the event than
    after it, because the rep can plan to speak to them.
    
    Never wait for the event to end before any of this happens. The
    information is most valuable while it can still change what somebody
    does.
  2. 2

    Record attendance as its own fact

    Thanking a no-show for attending is worse than silence.

    After the event, record attendance separately from registration:
    
      Attended, with duration and the percentage of the session
      Partially attended, with when they left, because dropping after ten
      minutes is a different signal from staying to the end
      Did not attend
      Watched the recording afterwards, which is a real signal and usually
      discarded
    
    Keep both facts on the campaign member. Registered and attended are
    different statuses, and collapsing them produces follow-up that thanks
    somebody for attending an event they missed.
    
    For an in-person event, take badge scans as attendance and treat the
    registration list as intent instead of presence.
  3. 3

    Capture behaviour, not just presence

    Somebody who asked a question is not the same lead as somebody who watched.

    Headless skills tray-gotchas

    Use tray-gotchas, then capture what people actually did:
    
      Questions asked, with the text, which is the strongest signal in the
      whole event and is almost always thrown away
      Poll responses, which frequently include budget or timing
      Resources downloaded during the session
      Time spent, and whether they stayed for the demo or left before it
      Booth conversation notes for an in-person event
    
    Write the question text onto the record. Somebody who asked how this
    handles multi-entity consolidation has told you their evaluation
    criteria, and that is worth more than any score derived from
    attendance.
  4. 4

    Route the same day, differentiated

    A lead from an event is warm for about seventy-two hours.

    Route follow-up within hours, not days, and differentiate by behaviour:
    
      Asked a question: to the account owner, with the question, for a
      personal reply
      Attended fully with no owner: to routing as a normal inbound lead
      Dropped early: a nurture sequence, not a sales call
      No-show: send the recording, do not thank them for attending
      Existing opportunity: to the deal owner as context, not as a
      new lead
    
    Suppress anybody with an open opportunity from generic follow-up. A
    prospect mid-negotiation receiving a templated nurture email about the
    webinar they attended looks like two companies talking to them.
  5. 5

    Attribute with the real cost

    An events channel with no cost looks impossibly efficient.

    Attach the real cost to the campaign: platform fees, stand and travel for
    in-person, agency, and staff days at a loaded rate. Staff time is the
    largest line for most events and is almost never counted.
    
    Then report per event: registrations, attendance rate, question askers,
    pipeline created within a window, pipeline influenced on existing deals,
    and cost per opportunity.
    
    Attendance rate is the operational number and cost per opportunity is the
    commercial one. Reporting registrations alone makes every event look
    successful, and it is the reason event budgets survive without scrutiny
    and then get cut all at once.
  6. 6

    Check it end to end, then hand it to marketing operations

    Because every event platform is slightly different.

    Run the per-step schema checks and the whole-workflow audit before this
    touches production.
    
    Then open the same workflow in Tray Build so marketing operations can add
    an event platform, change the follow-up routing and adjust the
    suppression rules in the visual canvas. Every event uses a slightly
    different tool and none of them should need an engineer.

What it connects to

Registrations arrive in an event tool and have to reach the people who follow up.

Zoom

Read registrations as they happen, plus attendance, duration, questions and poll responses.

Reads

Marketo

Manage the campaign, statuses and nurture, with registered and attended held as different statuses.

Reads and writes

Salesforce

Match to accounts and contacts, write campaign membership, and create follow-up tasks for the owner.

Reads and writes

Slack

Tell the account owner when a target account registers, before the event rather than after.

Writes

Google Sheets

Import the badge scan export, which every in-person organiser hands over as a spreadsheet.

Reads

Snowflake

Land attendance and behaviour, so cost per opportunity by event is a query rather than a reconstruction.

Writes

Same build, other stacks

The design does not change if you run something else in one of these seats. The same prompts build it against Microsoft Dynamics 365, Google BigQuery, Microsoft Teams, HubSpot, Databricks or Google Chat.

Named systems are the ones most teams run, not the only ones that work. Each is an authentication in your Tray workspace, referenced by name, so the workflow never holds a credential. Where we have a connector page, the name links to it.

Running it in production

This runs on the day of an event, at volume, when the marketing team is busiest.

It runs where production runs, not on a laptop

Registrations arrive continuously and follow-up fires within hours of the event ending, whether or not anybody is at a desk.

Registration and attendance are stored separately

Two facts, never merged. Collapsing them is how a no-show receives a message thanking them for attending.

Credentials are managed, never in code

Event platform credentials expose attendee lists and everything people typed into a poll. Read-only, scoped and in your workspace.

Marketing operations own the routing

Follow-up rules, suppression and event platforms open in Tray Build, because every event is slightly different.

Cost is attached to every campaign

Including staff days. Without it the events channel looks impossibly efficient, which is exactly why it eventually gets cut without argument.

Questions people ask

Why sync registrations before the event?

Because knowing a target account registered is intelligence a rep can act on beforehand. After the event it is a record, and the moment to use it has passed.

Why separate registration from attendance?

Because roughly half of registrants do not attend. A follow-up thanking a no-show for attending is worse than no follow-up, and it is the most common event automation failure.

What is the strongest signal from a webinar?

The questions people asked. Somebody asking how it handles multi-entity consolidation has told you their evaluation criteria, and that text is almost always discarded.

How fast should follow-up go out?

The same day. An event lead is warm for roughly seventy-two hours, and a spreadsheet arriving nine days later is a list of cold contacts.

Why attach staff cost?

Because it is usually the largest line and it is almost never counted. Without it the events channel shows an impossible cost per opportunity, which is why event budgets go unexamined and then get cut all at once.

Vibe-coding app guides

Vibe-code an entire app with Helix

This moves the data between systems. It does not give anybody a screen to work in. Build that app in Claude Code, Codex or Cursor, then deploy and run it governed on Tray Helix. Same kind of guide, same kind of prompts.

How to build an event management tracker (opens helix.tray.ai in a new tab)

Last reviewed September 2026.