I would like to give access to Coda data (in a table of a doc) to a lot of different client, each client can of course see only the data he is linked too. They just need a read access. This is non sensitive data (low security solution accepted )
First obvious solution is to invite them all, they create a Coda account, I link the data to them in the table and filter based on connected user.
Several downsides for me with this solution: Lotâs of invitation to do, they have to create account, they can put any stupid name they want (like me right now) and difficult for me to know who is who, canât link data to them until they have made an account, they have coda environnement they donât care,âŚ
When the documation say âexternal usersâ what does it means exactly? Coda user but outside of my workspace? Non Coda user (but how they are identified then, what sort of account is this?)
Another solution could be to create a User table representing all of my clients, with a âtokenâ column which is a code that identify them. I can easily send it to them and then use it to identify them, like puting the token in the document url as a query param (like ?token=ABCD) and filter the table data based on the query param. This is very low security I know, but really acceptable for my non sensitive data in my use case. But I canât find how to get the url param in any formula. Is this possible to get the url params in the doc? Or other way (cookie, âŚ) ?
Any other suggestions to âidentify non coda usersâ are welcome
Hey there @Fake_Fake ! Welcome to the Coda Community!
You can totally do this! Iâve actually done something extremely similar. Ill walk you through some steps you would need to take, and you can also see the example doc below.
Structure your document like I did below and then hide every page that is not the one your clients need to view
Publish your document! This will allow anyone to see/view the data in it without having to create a Coda account. Make sure when you publish under âInteraction and Appearanceâ that you turn on the option to show pages in the top nav bar - this will take away the universal search bar and help increase security in your low security solution
Once you do all that, and write your filter formulas on the client view page just like I did mine, all the clients will need is their password or code from you and the information on the published website will populate for them
Here is the example doc: (Try typing in aaaa for the code or bbbb)
If you have any more questions reach out, or feel free to share your example doc with me here and I can help you structure it!
Lastly - This post would be much better suited for the âAsk the Communityâ section. Try posting in there next time.
Nice idea. This looks like what I need . As an improvement, can we populate the search field from a query param? (so they wont need to copy their code, only click on their url) ?
I dont have any doc at the moment, just looking if it could work in coda before switching anything from airtable
In short- no you cannot do this. You would need to provide the one published link to anyone who needs it along with their code that they would need to manually type in
Heres another solution/workaround (that ill admit is a little bit silly):
Create a document where each row contains the unique information a client will need to see
Plug all the data from a single row (every column) into a single cell using the format() function (way better than concatenate as you can format it with column headers before and bring lots of context to the information)
Create a 2 column form (Column 1 should pull in all the information from your formatted column in the client table and prepopulate it into the URL of the form via the .encodeforurl() formula. Column 2 could be a checkbox that says âI confirm that I read this informationâ or something silly like that)
Your clients would then âsubmitâ the form. Or honestly they donât even need to submit it, they have still seen the unique data you want them to with absolutely zero access to any other data in the document (its a little more secure like this)
Yes - its a weird solution, but if you give more context to exactly what you are trying to do, I might be able to provide more specific insight!
@Scott_Collier-Weir I dont really understand how this hack works. If I do, this will only show them some data in one only field?
Here is my use case: I need an app that will manages all the reports some people do about others people. Iâm part of formers for basket-ball referees in my region. At the moment (I mean before Covid lol) we evaluate referee when they officiate on court, by watching them, analyse their prestation and then fill a report with some creteria that is send to the federation. This report is then available/viewable by the referee (readonly of course) and by his former (create/modify until it is validated) and by âmanagersâ (validate and smalls edit of the reports like typosâŚ). For now all the reports are made in Excel sheets then send by mail to a manager, converted to pdf, resend to referee, all by hands, saving all results in one Excel sheet on local computer, loosing computer, loosing all of the data⌠not really 2021
I have already created an Angular App based on Airtable data, but as we are Non profit organization we do not have budget for an application (like 1 airtable account and 1 hosting for app, or 1 Coda maker are too high for budgetâŚ) and with no budget for maintainng an app⌠Iâm looking for any low-code app that could handle this at low price too.
What I want is an app that:
For referees: list + view the reports they received (and which are valdiated)
For formers: list the report they wrote + add new reports (and edit until they are in state validated by managers)
For manager: list all the reports + validate them.
The validation is a status property on each report that prevent formers to send incomplete/incoherent reports.
Have this structure on several divisions/leagues. A roles permissions system should handle the idea that you can be referee in one division and a former in another one because some âhigh levelâ referees are formers in lower divisions.
So I think all of this could be done in Coda with usuals Coda users, but I would like to avoid the creation of a lot of accounts for the reason I explained on the first post.
@Fake_Fake - Thanks for the thorough explanation! Coda could definitely handle all of this.
I would recommend getting at least the $10 a month Coda account for 1 maker who could then create the doc/apps necessary.
You could possibly do it all on the free account, but depending on how much data you have (amount of reports=amount of rows, you will need some buttons, views, formulas, etc) you may outgrow the free plan.
I would then structure it so that your formers and managers have Coda accounts so they can edit data (reports). Although, you could have it so formers input data through an external form that then gets formatted into a readable and digestible version via some format() formulas in your doc and then pushed into a read-only version on a published doc like the one I shared with you before (where referees input their âCodeâ)
If you have gmail you could also hook up the gmail pack and have the reports auto-emailed to the referees when validated.
So many options! Good luck making and feel free to reach back out yo the community for support.
If you want a unique clickable URL for each client, showing only their relevant info, my suggestion would be to use separate pages. And share published links.
For each client:
Create a page with all relevant information. (You can even create pages with buttons if that helps make things faster for you).
Then to get the link to a specific page, open the published link and simply navigate to that page
and the last step would be to append ?hideSections=true at the end of your URL.
That token is just another way to (non-securely) limit access to data. I believe it works in both published docs and embeds. The final url will look something like this: https://coda.io/@fake_fake/my-doc/client-page-12?hideSections=true that you can share with each client.
The doc is only published once. I got those two separate URLs by opening the published link in my browser, navigating to the relevant page, then copying the URL and appending ?hideSections=true to the end.
Note: you must be sure to uncheck âShow pages in top navâ, otherwise the URL parameter has no effect.
Note 2:This is not secure. Even if you are careful to hide all links back to the main data, itâs as easy as just changing the url in the browser for someone who really wants to access data not for them. But at least no one will accidentally access data not for them. So if thatâs your main concern, you can use this method.