Pathable has the ability to read data from your internal databases and systems (e.g., your attendee ticketing and registration system, your session scheduling tool, your exhibitor database). While Pathable offers custom integration with a number of popular services and systems, it also supports an industry standard method of passing data between systems known as XML.


To integrate your system with Pathable using an XML feed, have your IT department or development team create an XML feed of the relevant data available to the web. Pathable will poll that data periodically (approximately every 20 minutes), importing new attendees, meetings, exhibitors, etc that it sees in the feed. In the case of attendees, it can be configured to automatically send an invitation email to the attendees immediately, as well.


Attendee records are de-duplicated based on unique ID (e.g., their "Membership ID" in your database) as well as e-mail address, so you don’t have to worry about “new” vs “old” attendees. Just serve up the full list to us and Pathable can handle it from there. 


To enable your event for XML polling, visit your administrative dashboard, and choose “Data Import” > New Import. 


XML Schema

All XML feeds must be fully valid XML or they will be rejected by our parser. That includes escaping characters such as ampersands (which should be rendered &, for example). A full list of the characters requiring escaping can be found on the XML Character entity references article.


Note that the precise schema you use is not important. The Pathable administrative interface will automatically inspect your feed, determine the fields you’ve made available, and provide you with a simple mapping interface to indicate which of your fields correspond to each Pathable field. The field names below are recommended only in that they will be automatically detected, and will save you 30 seconds when you are configuring the feed in the Pathable interface.

If your feed is in a different format than the one described below, see our Transforming XML with XSLT article for information on how to translate it automatically.


Attendees

Below is a sample of valid XML Pathable can import to create attendees, speakers, exhibitor staff, etc. (i.e., end-users). 

<?xml version="1.0" encoding="UTF-8"?>
<users>
  <user>
    <external_id>2lk332klsd21</external_id>
    <primary_email>peter@pathable.com</primary_email>
    <first_name>Peter T.</first_name>
    <last_name>Brown</last_name>
    <organization_name>Pathable &amp; Pounds</organization_name>
    <title>CTO</title>
    <credentials>PhD.</credentials>
    <bio>CTO at Pathable, Inc.</bio>
    <visible>false</visible>
    <networking_interests>bagels,cream cheese</networking_interests>
    <favorite_dog>beagle</favorite_dog>
  </user>
  <user>
    <external_id>2lk332klsd22</external_id>
    <primary_email>paul@pathable.com</primary_email>
    <first_name>Paul.</first_name>
    <last_name>Atkinson</last_name>
    <organization_name>Pathable &amp; Pounds</organization_name>
    <title>Account Manager</title>
    <networking_interests>bagels,cream cheese</networking_interests>
    <favorite_dog>mutt</favorite_dog>
  </user>
</users>


Agenda items

Below is a sample of valid XML Pathable can import to create agenda items (public agenda such as keynotes, educational sessions, etc as well as one-on-one private meetings between attendees and exhibitors). 


<?xml version="1.0" encoding="UTF-8"?>
<meetings>
  <meeting>
    <external_id>29821</external_id>
    <name>Keynote</name>
    <starts_at>7/26/2013 3:30:00 PM</starts_at>
    <ends_at>7/26/2013 5:20:00 PM</ends_at>
    <location_name>Cascade Room</location_name>
    <blurb>Lorem ipsum doler</blurb>
    <track>Business</track>
    <keywords>success,education</keywords>
    <speaker_emails>john@example.com jane@example.com</speaker_emails>
    <accepted_attendees_emails>bob@example.com ellen@example.com</accepted_attendees_emails>
    <online_attachments_urls>http://www.example.com/document1.pdf</online_attachments_urls>
    <mandatory>false</mandatory>
    <private>false</private>
  </meeting>
</meetings>


If you prefer to specify the list of attendees registered for a session with the “external id” you specified when creating the accounts, rather than their email address, you may use this instead:


    <accepted_attendees_external_ids>923491 194191 1949145</accepted_attendees_external_ids>


Separate multiple keywords with a comma. If a keyword contains a comma, it should be preceded with a backslash, e.g., “Monsters\, Inc.”


Exhibitors / Sponsors

Below is an example of valid XML Pathable can import to create exhibitors. 

<?xml version="1.0" encoding="UTF-8"?>
<organizations>
  <organization>
    <external_id>291</external_id>
    <name>Acme</name>
    <booth>199</location_name>
    <blurb>Acme sells widgets</blurb>
    <link_list>acme.com</link_list>
    <tags>widgest</tags>
    <logo_deferred_url>http://acme.com/logo.gif</logo_deferred_url>
    <staff_emails>john@acme.com jane@acme.com</staff_emails>
    <editor_emails>bob@acme.com</editor_emails>
  </organization>
</organizations>


Note that Pathable will automatically match up “staff emails” and “editor emails” with corresponding users in the system and add that user record as staff of that exhibiting / sponsoring organization. This will happen whether the user is added before or after the exhibiting organization record.

Security

Pathable support HTTPS and the HTTP Basic Auth scheme when polling. Simply specify a https URL as your polling endpoint and Pathable will do the rest. You can similarly provide a username and password that will be used when accessing the provided URL or specify authentication via headers. These options are available under Advanced Options when configuring the feed in Pathable's dashboard.