Overview
To sync attendance data from RSVPify into HubSpot, your HubSpot account needs a custom object called RSVPify Attendance. While our HubSpot Marketplace app is going through HubSpot's certification process, this object needs to be created manually in your portal.
This guide walks you through every step. If you follow it exactly — especially the internal property names.
Why this matters: HubSpot identifies properties by their internal names, not their display labels. If even one internal name is mistyped, the integration will not be able to write data to that field. We strongly recommend copy-pasting the internal names directly from this guide.
This guide covers:
Prerequisites (subscription tier, permissions, limits)
Creating the custom object
Adding the remaining properties
Configuring associations to Contact and Marketing Event
Verifying your setup
What happens when the RSVPify app is approved
Estimated time: 15–20 minutes.
1. Prerequisites
1.1 Subscription Tier — Enterprise Required
HubSpot only allows custom objects on Enterprise-tier subscriptions. Your HubSpot account must include at least one of the following:
Marketing Hub Enterprise
Sales Hub Enterprise
Service Hub Enterprise
Content Hub Enterprise
Data Hub Enterprise (formerly Operations Hub)
Commerce Hub Enterprise
Smart CRM Enterprise
Important: If your account is below Enterprise, you will not be able to create the RSVPify Attendance object. Please upgrade before proceeding.
To verify your subscription: Settings (gear icon, top-right) → Account Management → Account & Billing → Your Subscriptions.
1.2 Custom Object Limit
Enterprise accounts allow a maximum of 20 custom objects by default. The RSVPify Attendance object will use one slot. If you've already created 20, you'll need to remove one or purchase HubSpot's Custom Objects limit-increase add-on.
1.3 Permissions
The HubSpot user creating the object must have one of:
Super Admin privileges (recommended), or
Account Access permissions plus permission to create and manage custom objects.
If you don't have these permissions, ask your HubSpot administrator to perform the setup.
2. Creating the Custom Object
Step 2.1 — Navigate to Custom Objects
Log into HubSpot.
In the top-right corner, click the Settings gear icon.
In the left sidebar, scroll down to the Data Management section and click Objects.
On the Objects page, click the Select an object dropdown at the top of the page (it defaults to Contacts).
Find Custom objects in the dropdown — you can scroll to the bottom, or type "Custom Objects" in the search field to locate it faster. Under the Custom objects heading, click Learn about custom objects. (Despite the wording, this link doesn't open a help article — it navigates directly to the Custom Objects management page in your portal.)
In the center of the Custom Objects page, click the black Create custom object button.
Note: You may see a yellow banner at the top of the page suggesting you "Manage custom objects in the data model builder." For object creation specifically, you can ignore it — the Create custom object button is the simplest path. (We'll use the data model builder later in Section 4 for setting up associations, since HubSpot has moved that functionality there.)
Step 2.2 — Configure the Object Labels and Internal Name
In the right-hand panel that opens, fill in the following exactly:
Field | Value |
Singular label |
|
Plural label |
|
Next, set the object's internal name. Click the small pencil/edit icon next to the singular label (HubSpot auto-generates an internal name from the label, but you need to override it). Change the internal name to exactly: rsvpify_attendance
Critical: The object's internal name cannot be changed after the object is created. Double-check the spelling before saving — rsvpify_attendance (lowercase, underscore, no spaces, singular form). The integration writes to the object using this exact internal name; if it doesn't match, the connection will fail.
Step 2.3 — Configure the Primary Display Property
The primary display property is what HubSpot shows as the "name" of each record. For RSVPify, that's the attendance state (Invited / Attending / Not Attending).
In the Primary display property section:
Label:
Attendance StateProperty type: select Dropdown select
Click the small pencil/edit icon below the label to edit the internal name.
Change the internal name to exactly:
rsvpify_attendance_stateClick Save.
Critical: The internal name cannot be changed after the object is created. Double-check the spelling before saving —
rsvpify_attendance_state(lowercase, underscores, no spaces).
Add the dropdown options. Click Add option for each one. After clicking Add option, the label field appears — but the internal value field is hidden by default.
Click the small</>code icon next to the option to reveal the internal value field, then fill in both fields.Do not check the "Require unique values" box — multiple records can share the same attendance state.
Label | Internal value |
Invited |
|
Attending |
|
Not Attending |
|
Step 2.4 — Configure the Secondary Display Property
The secondary display property appears beneath the primary display on each record. For RSVPify, that's the ticket name.
In the Secondary display property section:
Label:
Ticket NameProperty type: select Single-line text
Click the pencil/edit icon below the label to edit the internal name.
Change the internal name to exactly:
rsvpify_ticket_nameClick Save.
Step 2.5 — Create the Object
Scroll to the bottom of the panel and click Create.
Your new RSVPify Attendance object now exists in HubSpot. You'll be redirected back to the Custom Objects list, where you should see it listed.
3. Adding the Remaining Properties
The object now has two properties (Attendance State and Ticket Name). You need to add three more: RSVPify Unique Key, Check-in State, and Check-in Type.
Step 3.1 — Open the Properties Settings
Still in Settings, click Properties in the left sidebar.
At the top of the page, click the Select an object dropdown.
Choose RSVPify Attendance properties.
⚠️ Watch out: The dropdown defaults to Contacts. If you create a property without switching to RSVPify Attendance first, it will be added to Contacts instead. Always confirm the object name shown in the dropdown before clicking Create property.
Step 3.2 — Create the Unique Key Property
In the top-right, click Create property.
The Create new property dialog opens. Make sure the Create manually tab is selected (it should be by default — do not use the "Create with Breeze" tab).
In the Property label field, enter:
RSVPify Unique KeyTo set the internal name, click the
</>icon to the right of the Property label field. An internal name field will appear — change it to exactly:rsvpify_unique_keyFrom the Field type dropdown, select Single-line text.
Leave the Data Agent prompt checkbox unchecked. Check the Require unique values for this property checkbox — this is the critical step that makes HubSpot reject duplicate contact/event combinations and lets RSVPify reattach to existing records on reconnect.
Click Create.
Important: The "Require unique values" toggle can only be set at property creation time — HubSpot does not allow it to be enabled on an existing property. If you miss the checkbox in step 6, delete the property and recreate it; do not try to edit it afterward.
Step 3.3 — Create the Check-in State Property
In the top-right, click Create property.
The Create new property dialog opens. Make sure the Create manually tab is selected (it should be by default — do not use the "Create with Breeze" tab).
In the Property label field, enter:
Check-in StateTo set the internal name, click the
</>icon to the right of the Property label field. An internal name field will appear — change it to exactly:rsvpify_check_in_stateFrom the Field type dropdown, select Dropdown select.
Leave the Data Agent prompt checkbox unchecked, and leave Require unique values for this property unchecked.
Add your dropdown options directly in the main panel if the options section is visible. Click Add an option for each entry, then click the
</>code icon next to each option to reveal and fill in the internal value field. If you don't see the options section in the main panel, click Edit more options at the bottom of the dialog to expand the full property editor.Add each entry (click Add an option for each):
Label | Internal value |
Unseen |
|
Checked In |
|
Checked Out |
|
Invalidated |
|
Click Create.
Step 3.4 — Create the Check-in Type Property
Repeat the same flow for the final property:
Click Create property again.
Property label:
Check-in TypeClick the
</>icon next to the Property label field and change the internal name to exactly:rsvpify_check_in_typeField type: select Dropdown select.
Add your dropdown options directly in the main panel if the options section is visible. Click Add an option for each entry, then click the
</>code icon next to each option to reveal and fill in the internal value field. If you don't see the options section in the main panel, click Edit more options at the bottom of the dialog to expand the full property editor.Add the options below.
Click Create.
Label | Internal value |
QR Scan |
|
Manual Search |
|
Walk-in |
|
Step 3.5 — Verify All Five Properties
Back on the RSVPify Attendance properties page, you should now see all five properties:
Display Label | Internal Name | Type |
Attendance State |
| Dropdown select |
Check-in State |
| Dropdown select |
Check-in Type |
| Dropdown select |
RSVPify Unique Key |
| Single-line text |
Ticket Name |
| Single-line text |
Verify the internal names carefully. If any are misspelled, the integration won't be able to write to them once it's connected. To fix a typo, you'll need to delete the property and recreate it (internal names cannot be edited after creation).
4. Configuring Associations
The RSVPify Attendance object needs to be associated with two standard HubSpot objects so that each attendance record can be linked to the right Contact and the right Marketing Event.
Step 4.1 — Open the Data Model Builder
HubSpot has moved association management out of the standard object settings and into the Data Model Builder. To configure associations:
Option A (direct path): In the left sidebar under Data Management, click Objects, then click the Associations tab at the top of the page. Click Go to Association Builder (you may also see this labeled Go to data model builder depending on your portal version).
Option B (via Custom Objects page): Navigate using the same path as Step 2.1 — Settings → Data Management → Objects → Select an object dropdown → Learn about custom objects. Click the Select an object dropdown, choose RSVPify Attendances, click the Associations tab, then click Go to Association Builder.
Either path lands you in the same place. Use whichever you can find — the button label and available navigation may vary by portal.
Step 4.2 — Add the Contact Association
In the Data Model Builder canvas, locate the RSVPify Attendances card.
Hover over the card. A + Create an association button will appear next to it. Click it.
When prompted, select Contact as the object to associate.
The Configure association limit dialog opens. This controls how many records can link from each side of the association. If it doesn't open automatically, locate the "1 to many" option:
RSVPify Attendance-to-Contacts: select Custom and set the value to 1. (An attendance record represents one specific person attending one event, so it should only ever link to one Contact.) In some portal versions this may appear as a one-to-many toggle rather than a dropdown — if so, select the "one" side for RSVPify Attendance and type 1 in the field that appears.
Contact-to-RSVPify Attendances: select Many RSVPify Attendances. (A single contact can attend many events over time, so they can have many attendance records.)
The preview panel at the bottom of the dialog should now read:
"A RSVPify Attendance can be associated to 1 Contact."
"A Contact can be associated to many RSVPify Attendances."
Click Save.
You'll be returned to the canvas, where the Contacts card is now visually connected to the RSVPify Attendances card.
Step 4.3 — Add the Marketing Event Association
Repeat the same flow for Marketing Events:
Hover over the RSVPify Attendances card again and click + Create an association.
Select Marketing event as the object to associate.
In the Configure association limit dialog, configure it the same way:
RSVPify Attendance-to-Marketing events: select Custom and set the value to 1. (An attendance record represents attendance at one specific event.)
Marketing event-to-RSVPify Attendances: select Many RSVPify Attendances. (A single event can have many attendees.)
The preview should read:
"A RSVPify Attendance can be associated to 1 Marketing event."
"A Marketing event can be associated to many RSVPify Attendances."
Click Save.
When both associations are created, your data model canvas should show RSVPify Attendances in the center, connected to both Contacts and Marketing events with cardinality indicators on each line.
Note on Marketing Events: If Marketing event isn't available as an option in the object selector, your portal may not have the Marketing Events feature enabled. Marketing Events are included with Marketing Hub Enterprise. If your Enterprise license is on a different Hub (e.g. Sales Hub Enterprise only), you may need to enable Marketing Events separately or contact HubSpot Support. The RSVPify integration will still work for Contact data without this association — but you'll lose the ability to link attendance records to specific events in HubSpot.
5. Verifying the Complete Setup
Run through this final checklist before connecting RSVPify:
[ ] Custom object RSVPify Attendances appears on the Custom Objects page (Settings → Data Management → Objects → Select an object dropdown → Learn about custom objects).
[ ] Under Settings → Properties → RSVPify Attendance properties, all five properties exist with the exact internal names:
rsvpify_attendance_state,rsvpify_check_in_state,rsvpify_check_in_type,rsvpify_ticket_name,rsvpify_unique_key.[ ] The RSVPify Unique Key property was created with Require unique values for this property checked. (You can confirm by opening the property — if the toggle is enabled, you're good. If not, delete and recreate it; this setting cannot be enabled after creation.)
[ ] The dropdown options for each property match the values listed in this guide (e.g.
invited,attending,not_attendingfor Attendance State).[ ] On any Contact record, the right sidebar shows an empty RSVPify Attendances section (this confirms the Contact ↔ RSVPify Attendance association).
[ ] On any Marketing Event record, the right sidebar shows an empty RSVPify Attendances section (this confirms the Marketing Event ↔ RSVPify Attendance association).
If everything checks out, your portal is ready. You can now connect your HubSpot account inside RSVPify, and attendance data will begin syncing into the new object.
6. What Happens When the RSVPify Marketplace App Is Approved
We're currently going through HubSpot's app certification and Technical Partner approval process. Once approved, the RSVPify Marketplace app will gain the elevated permissions needed to provision custom object schemas automatically for new customers.
For you — having set this up manually — nothing changes. Your existing RSVPify Attendance object, properties, and associations will continue to work exactly as they do today. There's no migration, no reconfiguration, and no risk of duplicate objects being created. The integration is designed to detect that the schema already exists and use it as-is.
Troubleshooting
I get an error saying "Custom objects are not available on your subscription." Your HubSpot tier is below Enterprise. See section 1.1.
I made a typo in an internal name and already saved it. Internal names cannot be edited after creation. Delete the property (or the object) and recreate it with the correct name.
I don't see "Marketing Event" in the association dropdown. Marketing Events may not be enabled on your Hub. See the note in section 4.3.
Can I add my own custom properties to RSVPify Attendance later? Yes. RSVPify will only read and write to the five properties listed above. Any additional properties you create are yours and won't be touched by the integration.
Can I rename the labels (e.g. change "RSVPify Attendance" to "Event Attendance")? Yes. Display labels are cosmetic and can be changed at any time without affecting the integration. Internal names, however, must stay exactly as documented.







