🏠 back to Observable

Help with starting with Teams

Is there a tutorial on how to use Observable Teams? I just subscribed (saw that you implemented a viewer profile) but am confused about a few things:

  1. How to do live/team/shared edits
  2. Clicking the Publish button would appear to publish to the Public (there is a warning to that effect). How do we publish to the team only? Or is this done via shared links? IOW, what is the recommended work-flow.

Also, have you considered allowing users to hook notebooks into our own Github repo so that we can track and propose changes via a more familiar medium?

I did search for Observable Teams tutorial but nothing came up.

BTW, the “Contact support” button doesn’t seem to work anymore for me.

Your private team notebooks are always visible and editable by other editors on your team, so you don’t need to publish them to make them accessible to your team members—they start out that way.

If multiple team members open then same notebook, they can edit simultaneously. (Though be careful trying to edit the same cell at the same time, as it’s easy to clobber uncommitted changes that way. We are planning on improving this in the future by synchronizing uncommitted edits.)

We don’t support Git integration currently; we have our own real-time version control to support collaborative editing.

OK, that’s good to know.

So, do I understand correctly that view-only users will see all of our notebooks – IOW, we cannot just invite (and limit) them to specific notebooks? If so, that is unfortunately a problem – we have multiple clients and we’ll want to pick and choose which notebooks are visible to each.

Also, it seems (at least as a first test) that view-only users can edit but they just can’t save/suggest their edits? Maybe I’m not using it right, but I did try to login using a different e-mail (with an team view-only invite). There don’t appear to be any instructions on how such a user should make suggestions – it looks just like any other notebook (less the fork/share options). Moreover, it appears they can add sections – which I wasn’t expecting.

My apologies if this is obvious and/or documented somewhere. But I couldn’t find the docs nor hints in the app.

Yes, viewers can view all your team notebooks; they just can’t save changes to them.

As is always the case on Observable, anyone can edit the code they see on the page, but a viewer won’t be able to save these changes. So, if the viewer changes anything, it will only be visible to them, and it will be discarded if they reload. Viewers can’t currently make suggestions on private team notebooks, either, though they can comment on them.

If you want to let specific people view specific notebooks, rather than adding them as viewers, I recommend using “Enable link sharing” in the notebook menu and sending them a link to the notebook. They’ll be able to view the notebook, but they won’t be able to edit it. They will, however, be able to fork and suggest the notebook you share.

Thanks Mike. This helps.

So just to clarify can viewer users make comments? I thought that was the point (comments but no suggestions), but I can’t seem to see how to make a comment as a viewer. I think I may have misunderstood the limitations of the viewer users.

Someone that you invite to your team as a viewer can comment on team notebooks, yes. The viewer would click on the cell menu (the three dots in the left margin adjacent to a cell), click Comment, type something, and then click the Comment button.

If you share your notebook with someone outside your team using link sharing, they can’t save their comment on the notebook directly, but they can create a comment and then click Suggest in the notebook menu to send it to you as a suggestion.

So, viewers have special privileges within their team: they can view all the team’s notebooks and comment directly on them. But link sharing (like publishing) does not grant readers the ability to comment directly on notebooks; external comments must go through the fork-and-suggest workflow.

We are planning on revising the comment workflow (outside of teams) to make it easier for anyone to comment directly on notebooks. We did not do that initially because we were concerned about trolling and creating a burden for authors to moderate comments. We also wanted it to be possible for people to suggest code changes alongside comments. But in retrospect, the current workflow for comments is heavy-handed and we’d like it to be easier for people to comment.

Is it currently possible for an individual to have multiple teams? And apologies, as I don’t have a team to test with, but can you assign a notebook to a team in a manner similar to assigning a notebook to a collection?

Thanks Mike – and my apologies, I do see the “Comment” now in the ... menu. I didn’t think to look there for some reason.

So that solves that issue. We’re testing the Team features. Looks very helpful, but at this point – more helpful for between colleagues than between us and our clients. The standard “share link” feature would seem more appropriate for our client interactions.

1 Like

Yep, that sounds consistent with our design intent for teams and link sharing!

We are also considering more precise sharing in the future, whereby you can invite specific people to sign-in, view and possibly edit a notebook (and not just rely on the URLs being secret). That will be separate from teams.

@aaronkyle Yes, you can create as many teams as you like. I’m currently in @observablehq and @d3, for instance. You can also transfer notebooks into or out of teams, say if you want to take a personal notebook and move it into a team so multiple people can share ownership. We’ve done that with countless Observable and D3 notebooks!

1 Like
  • What is the process of cancelling a team? Will the slug be inaccessible, but reserved? WIll notebooks automatically transfer to the account that created the team (if there is such a relationship)?
  • And more generally: What happens to a user’s notebooks when they cancel their account?

Edit: Account cancellation is explained extensively in the Terms of Service.

Great - And possibly this means, too, that if @john-clarke wishes to create an account for each different client, he could potentially avoid the risk of creating a ‘public’ URL (i.e. shared; even if not published) and also allow clients to collaborate on content drafting… and also avoid the risk of these clients being able to see other notebooks shared between other teams.

I suppose as a follow-up: Can a single notebook be shared among multiple teams simultaneously?

You can click “Cancel” (next to “Change plan”) on the Billing tab of your team settings to cancel your team at any time.

When you cancel a team, your team notebooks become read-only at the end of your current billing cycle (either month or year). You can transfer your notebooks out at any time, and resume editing them, either to a personal account or to another team of which you are a member. We do not transfer notebooks automatically.

When you transfer a notebook, we automatically create a redirect for this notebook from the old account to the new account so that links and imports continue to work. (For example, @mbostock/standard-library now redirects to @observablehq/standard-library.)

You asked about the slug (e.g., “standard-library”), but in general we never allow a login (e.g., “mbostock”) or slug to be reused. So once you create a team or a personal account with a given login, that login will not be re-assigned to another user. There may be some rare exceptions (such as when a user asks us to rename their login, or if there is a copyright claim), but our general principle is that URLs are permanent and should continue to work for as long as the sun rises.


@aaronkyle Yes, that’s possible, but I would not recommend this approach. You have to pay separately for each team, and it would be tedious to manage membership for many teams, and to transfer or fork notebooks into the right team to share with clients. That’s why I recommend link sharing.

I’m afraid I don’t understand your followup question. A notebook always has exactly one owner (either an individual user such as mbostock or a team such as observablehq), so it can’t be in multiple teams at once. You could, however, fork a notebook from one team into another team to create a copy. And if you enable link sharing, anyone with the URL will be able to read the notebook.

1 Like

This is the answer I was looking for.

… While there would certainly be overhead involved in managing multiple team accounts, I do feel that it could potentially be useful. Here’s the scenario I had in mind:

I am a private consultant with many clients (I am not, but let’s pretend). I work with other individual consultants under the banner of ‘Company Name’, but really it’s a loose affiliation and each of us individual consultants is bound together by a client/project specific consulting agreement.

Here’s our current working arrangement:

We have ‘Client1/Project1’, with me (‘A’), you (‘B’) and john (‘C’).
…and ‘Client2/Project1’,with me (‘A’) and you (‘B’)
…and ‘Client3/Project1’,with me (‘A’) and john (‘C’).

I would not want B to see anything in ‘Client3/Project1’ or C to see anything in ‘Client2/Project1’, but I would want each person to be in ‘Client1/Project1’, as well as anything associated with ‘Company Name’

Oh, and our clients are all super secretive and scared of anything new, so none of them are willing to allow public URLs, even if un-guessable. So I would create a generic account for the client as a team member of their projects and let them view that way.

The teams pricing is very affordable, so if a client is already paying me for a project of a fixed duration, it wouldn’t be so bad to pay for multiple teams. However, it sounds like I’d be paying for my own seat on each of these teams, so if I am on 4 teams it’d be 4x$9 per month that I’m assigned to each. There again, assuming this cost is put back on the client, no big deal…

I was envisioning having a notebook simultaneously ‘tagged’ as belonging to multiple teams as a convenience for managing teams and notebook view and edit permissions, but I now see that it’s not how the teams feature is designed.

I also appreciated that this isn’t how you were envisioning teams. I continue to struggle with the whole notion if public URL sharing… therefore trying to think through work-arounds.