PackMule - A Code Generator for Packs

During the now-famous Coda Block Party, you knew it was just a matter of time. I’m tossing my hat into the fiery ring to see just how well this idea can be baked. :wink:

11 Likes

This is super cool.

The first pack I thought of was a way to let people easily hit HTTP API endpoints to push data from Coda to an external API - without having to go to the trouble of building their own pack. A function would accept auth token, URL, payload. But based on the documentation I see (don’t have access to Studio yet!) Coda only lets you Fetch to a single pre-configured domain from a pack.

Something like PackMule could be a great way to auto-generate such packs - making it super easy to hit an arbitrary API endpoint, without a lot of biolerplate. (I imagine this is what you mean with the WebHookify template).

Excited to see where this goes.

Oh and note that your signup link goes to the table of submissions, not the form! :wink:

1 Like

This is brilliant. Very similar thought came to mind, that much of building a pack could be automated with the right prompts. Excited to follow where you take this!

You’ve probably thought about this but you might actually be able to make a Deploy-a-Pack Pack that includes a deploy formula which pushes the pack code you generated (similar to how you deploy from CLI…)

1 Like

Indeed - it’s on the roadmap but presently doesn’t seem to be exposed in the SDK (which I am still trying to get my head around).

Thanks!

This is true; there is [presently] no dynamic ability to late-bind the domain. And I’ve explored a few ways but they have it locked pretty tick at the moment and fully understandable. This creates a number of limitations on Pack flexibility:

  • Where a Pack user wants to configure arbitrary webhook endpoint - i.e., one pack that can move data to various services without code changes.

  • The development of a Pack that has failover capabilities - e.g., service (a) is down, switch dynamically to service (b), or (c).

You must have been in my closet peering out while I was sketching this on the whiteboard. :wink: But, as you can see from the narrative, this is but one driver that inspired PackMule into existence.

2 Likes

Simplest way to get around the single webhook endpoint might be to set up an intermediate domain that performs requests on your behalf and returns the results.

Probably not something they would be happy about though, given the effort that went into locking down the single endpoint behavior. I’m sure it’s security related for the user, so maybe it wouldn’t bother them too much. I.e. if a user sees that the Facebook Pack is actually pointing at “mysite.com” then maybe they shouldn’t trust it.

Yep - I have that working though it’s ill-advised and as you make clear, we all need to work closely to achieve the spirit of Coda’s intent. Ultimately, we will likely see some capacity to perform more complex integrations. No worries - lots of fish in the pan and some exciting capabilities even in this early beta.

2 Likes