Promoted articles
- Exporting and Downloading Organization and Session Files
- Downloading Data using the Export Hub
- Release Notes v2.24
- Poster Sessions
- Talk Now for Poster Sessions
- How to use Keys to translate Meeting Names and Desktop Headers
- Creating Keys to Translate Meeting Names and Desktop Navigation
- Unpublishing an App from the Android App Store
- Removing an App from the Apple Store
EventRebels Integration Follow
The EventRebels registration provider can provide an XML feed of registered attendees and their selected sessions. Because of the flexibility of Pathable's XML import engine, you can use a translation file, called XSLT, to transform the data from EventRebels' format to Pathable's expected format.
To configure an attendee data feed from EventRebels into Pathable:
- Dashboard > Data Imports > Start New Import
- Choose "XML" under Data Feed
- Enter a Friendly Name: an internal name for the feed (e.g., "Registrants from Cvent")
- For Import Data Type: Choose "People" as the type of feed
- Enter the feed URL provided by EventRebels into the URL field
- Under advanced options, fill in the below for the XSLT:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="ContactInfo">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="UDFs">
<xsl:apply-templates/>
</xsl:template>
<xsl:strip-space elements="*"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="ContactInfo/Attended" />
<xsl:template match="UDF/UDFPrompt" />
<xsl:template match="MemberID" />
<xsl:template match="FacebookUrl" />
<xsl:template match="LinkedInUrl" />
<xsl:template match="TwitterHandle" />
<xsl:template match="BillingID" />
<xsl:template match="RegistrationTime" />
<xsl:template match="BalanceDue" />
<xsl:template match="ConfirmationCode" />
<xsl:template match="ContactInfo/Salutation" />
<xsl:template match="Registrations">
<users>
<xsl:for-each select="Registrant">
<user>
<xsl:apply-templates/>
</user>
</xsl:for-each>
</users>
</xsl:template>
<xsl:template match="RegistrantID">
<event_external_id><xsl:value-of select="."/></event_external_id>
</xsl:template>
<xsl:template match="ContactInfo/LastName">
<last_name><xsl:value-of select="."/></last_name>
</xsl:template>
<xsl:template match="ContactInfo/Email">
<primary_email><xsl:value-of select="."/></primary_email>
</xsl:template>
</xsl:stylesheet>
Configuring an agenda feed from EventRebels is a bit more complex.
EventRebels have "Sessions" that are really time blocks, and then multiple "Programs" in each session that are the meetings. So the XSLT has to walk up from the Program to the Session to get the Start and End Times.
Follow the same steps above for importing the agenda. On the Import Data Type step, select Agenda instead. For an EventRebels Agenda feed, you'll use an XSLT such as:
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Sessions">
<meetings>
<xsl:for-each select="Session/Programs/Program">
<meeting>
<xsl:apply-templates/>
</meeting>
</xsl:for-each>
</meetings>
</xsl:template>
<xsl:template match="ProgramItemID">
<id><xsl:value-of select="."/></id>
<start_time><xsl:value-of select="../../../Date"/><xsl:text> </xsl:text><xsl:value-of select="../../../StartTime"/></start_time>
<end_time><xsl:value-of select="../../../Date"/><xsl:text> </xsl:text><xsl:value-of select="../../../EndTime"/></end_time>
</xsl:template>
<xsl:template match="ItemCode"/>
<xsl:template match="Room"/>
<xsl:template match="Title">
<title><xsl:value-of select="."/></title>
</xsl:template>
<xsl:template match="Description">
<description><xsl:value-of select="."/></description>
</xsl:template>
<xsl:template match="Track">
<track><xsl:value-of select="."/></track>
</xsl:template>
<xsl:template match="SessionType">
<session_type><xsl:value-of select="."/></session_type>
</xsl:template>
<xsl:template match="Presenters">
<xsl:for-each select="Presenter">
<speaker_ids><xsl:value-of select="PresenterID"/></speaker_ids>
<speaker_emails><xsl:value-of select="Email"/></speaker_emails>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Add this to remove all questions except a particular one, identified by its ID:
<xsl:template match="Questions/Question">
<xsl:if test="QuestionID[text()='53784']">
<PresentationSummary><xsl:value-of select="QuestionValue"/></PresentationSummary>
</xsl:if>
</xsl:template>