Anyone had any luck capturing data available in "play" mode on published docs?

I’ve made an order calculator that customers can use to work out how much an order will cost.

To make this very low friction, since login is not essential, I am trying to use a published doc in “play” mode to allow the customer to:

a) Play with an order and see the total value of it
b) download their own copy for reference / submission later (in this case as a CSV/XLSX).

I’ve managed to get everything to work except the download itself. When someone is in “play” mode the Export to table pack I am using (Export Tables Pro Pack, extend Coda with Export... | Coda) doesn’t grab the rows. Instead it sees them as empty. I am guessing because this is actually being cached locally on their computer and this pack is accessing the server for this?

It’s frustrating because the data is right there! Has anyone had any luck with a workaround? I’ve tried a few things like copying to clipboard but its a very ugly solution since even if I work out how to re-organise the data back into comma-seperated format, the customer will have to paste them into excel or google sheets.

I am assuming this is serious edge case stuff… but would be fascinated to hear if anyone has succeeded here! Seems like if there was a way to do this, Coda could open-up another avenue of potential products it replaces.



Hi @James_Naylor ,

I understand your problem with downloading data in a Coda document published in “read” mode. It seems that the Export Tables Pro Pack is not able to access the locally cached data on the users computer.

Unfortunately, I don’t have an immediate workaround that allows the data to be downloaded in a CSV/XLSX format when the document is in “read” mode. However, I’ll check with the community to see if there are any ideas or solutions that might help you.

On the other hand, I suggest a solution that is not the most elegant, but that could work:

You could use the “Copy” function to copy all the rows of the table,
Then use a macro (for example with iMacros) to paste the data into an Excel or Google sheet.
Finally, you could automate the export of this data in a CSV/XLSX format.
I know this is not ideal, but I hope it will help you find a temporary solution to your problem.

If you need help implementing this solution or have any questions, please let me know.

Good luck!

@codafrench - Thierryvm

1 Like

Hey @James_Naylor !

I used to solve this in two ways:

  • through a form that captures and submits the data to a private doc. Then I can code whatever processing I need in that other doc, including composing the CSV and emailing it to the client:

    🍕 Viva Pizza: Making a secure storefront (pizza delivery) on Coda

  • through a custom pack formula, but I had to deliberately make the formula not an action, and make sure it’s only invoked once at a button click. Action formulas are deactivated in play mode but non-action formulas aren’t. It’s a very bad design to make non-action formulas that have side effects (i.e. change something and thus cannot be called repeatedly at any time) but it’s a justified workaround.

    Coaching · Work with Coda Tricks
    — Leave Your Email functionality is built this way

Generally yes, the challenge is to somehow capture the data the user has in their sandbox (because play mode is a sandbox, the changes aren’t saved to Coda anywhere and only exist in that tab) and pass it somehow where it can be stored and processed.


Thanks Thierry! I’d sort of settled on something like that for now… only getting the user to copy/paste the data manually into a blank spreadsheet? Is there a way to make the Coda front end do that for them?

1 Like

This is so clever!! I was wondering when I was doing this if there was some way to use a form (since this is the point of forms) but gave-up when I remembered you can’t do tables inside forms to which you can have any n rows. Your solution of compressing the order data into a string of IDs and quantities, passing that and then “uncompressing” is brilliant.

Being able to automatically add submitted orders to our system, which would then kick off other existing automations, would be another insanely useful feature of this system.

I submitted an order but didn’t get an email. Would love to copy the backend doc if I can to poke around it? I’d like to see how you pass the string into the hidden field and how you do the convert back to structured data (I’m guessing this is the most complex part).

Interestingly I think my ordering system is actually simpler. We have more SKUs (which is short for stock keeping unit btw, if you didn’t already learn since the video :D) but its simpler - its just a raw quantity of each thing with some discounting rules applied.

Yeah the queue got stuck because Gmail pack got disabled in that doc for some reason (maybe inactivity and no refresh of auth for a while). Here’s the doc:

> here <

Thank you so much for this Paul! This is absolutely brilliant.

Could you elaborate more on the custom pack formula? Is that available somewhere where we could use it? I have a situation would it would be nice to collect information just when people press a button (similar to your coaching website with collecting newsletter emails).

Hey! You can do it easily without custom packs. I do it all the time and outline the process here

Also, it’s how The Coda Quiz works if you wanna see it live!

1 Like

Really cool but not quite what I need unfortunately! I’ll definitely be storing that in my toolbox though! I guess my application is similar to upvoting or liking content on social media. If you had to open up a form to submit every like/upvote, then you would be much less likely to like/upvote. Essentially I am looking for a way to submit information with a single click of a button. Right now I’ve put an embed of the a rating form in a canvas column for the modal popup which appear when clicking on a post in the site. This has worked decently. However this will still discourage people giving feedback since forms take more time.

Hey Paul… Same problem here… for which pack was the the formula made the gmail pack or a webhook? I have tried just about every work around I can think of to capture the current state of the document… Sending Email Address/certain table values to another document to process and send an email would work fine, but the simpler more ideal scenerio would be emailing the page directly from the published doc

1 Like

Agreed, if you happened to be able to publish the custom pack you mentioned, give the code, or provide some additional direction on how to implement it ourselves, it would save a lot of time trying to figure out how to make it ourselves. It has not been a bottleneck for the project I’m working on yet, but it may become one in the future (I’m trying to give people the ability to upvote or downvote how convincing they find pros/cons to different ideas - see If/when I do reach that bottleneck, I would probably be very willing to pay $1-3 a month if you make it a paid pack.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.