> For the complete documentation index, see [llms.txt](https://docs.distro.so/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.distro.so/guides/event-follow-up.md).

# Event and trade show follow-up

Enrich, route, and follow up on trade show, conference, and webinar leads.

Event leads usually arrive as a list: badge scans or webinar registrants. Each person needs an owner and a first touch. Import the list into your CRM, and a Distro workflow picks up each new record, checks what you already have, enriches it, assigns an owner, and starts the follow-up.

## Choose how the list arrives

| Path                          | Use it when                             | Trigger                                                                              |
| ----------------------------- | --------------------------------------- | ------------------------------------------------------------------------------------ |
| CRM import (recommended)      | You get a file after the event          | **Salesforce object created** with **Start only when** on the value your import sets |
| Scanner, event app, or Zapier | Leads should be worked during the event | **Webhook received**                                                                 |
| Your own script               | You send rows yourself                  | **API call**                                                                         |

## Build it for an imported Salesforce list

Before importing, set `LeadSource` = `Trade Show` on every row, and `Rating` = `Hot` for people who asked for a demo at the booth.

{% stepper %}
{% step %}

### Trigger on the import

**Salesforce object created**, `Lead`, including `Email`, `LeadSource`, and `Rating`, with **Start only when** `LeadSource` **Equals** `Trade Show`.
{% endstep %}

{% step %}

### Existing contacts stay with their owner

**Match Salesforce Record** on `Contact` by email. On **Matched**, post to your events channel.
{% endstep %}

{% step %}

### Enrich and match the account

On **Not matched**, **Enrich Lead**, then **Match Salesforce Record** on `Account` by domain, picking the largest by `NumberOfEmployees`.
{% endstep %}

{% step %}

### Owner or queue

On **Matched**, **Update Salesforce Record** with the account's `OwnerId`. On **Not matched**, **Assign from Queue** with `Event follow-up` and write the assignee as owner.
{% endstep %}

{% step %}

### Hot leads get a call, everyone else a sequence

Add **Branch** with `Hot` (`Rating` equals `Hot`) and `Has email` (the lead's email **Is present**). On `Hot`, **Notify in Slack** the **Earlier assignee**. On `Has email`, **Add to Outreach Sequence** with your trade-show sequence.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Every imported row starts a run, so import two or three test rows first and check their runs. Use your CRM's duplicate rules, because two runs for the same person seconds apart can both take **Not matched**.
{% endhint %}

## HubSpot differences

HubSpot's import updates contacts with an existing email instead of creating them, so those people start no **Hubspot record created** run. Build a second workflow on **Hubspot record updated** watching your event property.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.distro.so/guides/event-follow-up.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
