Enable data imports from NationBuilder

I’m trying to migrate NationBuilder blog post content into Webflow and NationBuilder contacts data into Mailchimp.

Am I right that this is not supported in Parabola? If it’s not, I’d like to request both as a feature.

Thanks,
Chris

After I posted this, I did find the Pull from an API option and was able to authorize and configure it properly for Webflow. (Now just trying to get around NationBuilder’s limit of 100 entries for a return but that’s not a Parabola issue.)

EDIT: About the limit, looks like I’m able to cycle through the API results’ pagination: API Pagination Issue so trying that out now!

And your Mailchimp references will be super helpful, thanks!

1 Like

Hello @Chris_Heuberger!

Glad to hear you found the Pull from an API option. Sounds like you’re on the right track.

You’re right that Parabola doesn’t offer direct integrations to NationBuilder or exporting to Mailchimp, though we do have an import Mailchimp integration. If you’d like to connect to a service that we don’t have an integration for, like NationBuilder, it’s worth trying the Pull from an API and Send to an API steps as you’ve found.

Taking a look at NationBuilder’s Docs, their API requires the authentication process to be done via OAuth JSON encoding. Parabola uses a different one of x-www-form-urlencoded. Unfortunately, it appears that connecting to NationBuilder isn’t possible currently.

If you can manually upload your NationBuilder contacts into Parabola, you can send that data to a Mailchimp by generating an API key and sending a request to the link below:


Hope that clarifies things for you. Let me know if that workaround method can work for you, or if you have any other questions we can assist you with. :slightly_smiling_face:

1 Like

Thanks @Adeline

I was able to see results from the NationBuilder API in Parabola after completing authentication as described in those docs and including the NationBuilder access_token as a parameter in Parabola. Doesn’t that mean it worked? NationBuilder docs do tend to be very incomplete and not up to date. Maybe that’s at issue?

Assuming the results I see in Parabola are usable, I’m still having an issue with the pagination though. The blog post results return in this format:

{
  "results": [
    {
      post data...
    },
    {
      post data...
    },
    {
      post data...
    }
  ],
  "next": "/api/v1/sites/example/pages/blogs/6/posts?__nonce=123&__token=123",
  "prev": null
}

Reference: https://nationbuilder.com/blog_posts_api

What pagination style does that imply? (This is not covered at all in the NationBuilder docs.) And whether it’s Page key and value, Offset and limit, or Cursor, can you suggest values for the relevant fields associated with that pagination style?

There are 593 blog posts total but the max is 100 per results page. The goal is get all results however I can.

@Chris_Heuberger apologies for not making this clearer in my first response; yes, technically we can connect to their API. Unfortunately, however, we can’t do so in the way you’re looking for. We don’t currently support their implementation of cursor based pagination style. Please see below for an example screenshot with step settings in the sections of Pagination style > Offset and limit and Rate Limiting:

Despite what one puts in these settings’ fields, the same page will be pulled in X number of times with repeated row values in the results column. The next column has their implementation of cursor based pagination where they send partial URLs with tokens. Parabola supports cursor based pagination of either full URLs or just the tokens.

Does NationBuilder have a CSV export or another way to download the data, so you can use a different import step?

Shoot, no, NationBuilder doesn’t have any CSV export option for blog posts. the only other format I have them in is a pg_dump archive file of a PostgreSQL database but I don’t suppose Parabola offers support for that.

Is there any way to do this manually in Parabola, maybe taking each page of results by itself? I only need to transfer this data once. I don’t even know how to explicitly return any other results page besides the first one.

Edit: I was able to retrieve all 6 pages of results and manually stitch them together in a single JSON object. So now figuring out the easiest way to get that into Parabola for use.

1 Like