# Shared "User Specific" Lists Between Users!

**URL:** <https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747>\
**Category:** Project Showcase\
**Created:** [March 26, 2021, 5:41am UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747 "2021-03-26T05:41:10Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [March 26, 2021, 5:41am UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/1 "2021-03-26T05:41:10Z")

</div>

Note: NOT a native feature in Glide.

### Uses the Pires-Petitto Trebuchet Method! Requires ~10 columns _ **and 0 additional rows!** _

Tutorial coming tomorrow—here’s a (soundless) sneak peak! For context, there’s one master list of items. I’m switching between two users that are linked via a “lead” email. The adding/removing of items from this master list is unique to these two users. Other users in the app have their own set of tools!

[![](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/f/c/fcc31067a1216a41a6731a2e909a042212926b5e.jpeg "Shared User Specific Column") ](https://www.youtube.com/watch?v=A6yC6kYv6F0)

@Lucas_Pires

---

<div class="post-metadata">

**Author:** ![ehdubya](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/ehdubya/32/24087_2.png) [@ehdubya](https://community.glideapps.com/u/ehdubya)\
**Post date:** [March 26, 2021, 1:35pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/2 "2021-03-26T13:35:19Z")

</div>

Interesting! Will def check out the tutorial!

I wonder what other use cases this “Trebuchet Method” could be used for…🤔

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [March 26, 2021, 6:35pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/3 "2021-03-26T18:35:22Z")

</div>

### Here’s the tutorial.

Note—this is an Advanced concept in Glide…not for the faint of heart 💪!

[![](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/b/9/b95dbad73019db5d81a60e2c56b10de972e75809.jpeg "Glide: The Trebuchet Method is UNREAL") ](https://www.youtube.com/watch?v=jhJ8jMEoy3o)

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [March 26, 2021, 8:02pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/4 "2021-03-26T20:02:07Z")

</div>

So I have a question. Maybe I missed something, but couldn’t you skip the temporary column altogether. So your template column would always contain the existing list of selected items already joined to the item in that row. When the action is executed, it slings the template over to the user sheet and automatically pulls in the updated list of selected items to your list sheet. Maybe I’m wrong, but the template column seems like an extra step.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [March 26, 2021, 8:13pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/5 "2021-03-26T20:13:06Z")

</div>

The template column combines the existing list with the new item.

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [March 26, 2021, 8:16pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/6 "2021-03-26T20:16:40Z")

</div>

Right, but couldn’t you shortcut a step and join the row id directly to the existing list, instead of first writing to a temporary column?

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [March 26, 2021, 8:18pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/7 "2021-03-26T20:18:35Z")

</div>

> [@Jeff\_Hager](#):
>
> join the row id directly to the existing list

Oh…TEMPORARY column…I read it as template column…perhaps…

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [March 26, 2021, 8:20pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/8 "2021-03-26T20:20:47Z")

</div>

Yes, for sure it works with the ADD item to list (just tested). 99% sure (now) that you still need it for the remove item functionality.

Hooray for skipping steps!

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [March 26, 2021, 8:22pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/9 "2021-03-26T20:22:00Z")

</div>

Yep, I can see where it’s needed for the removal. Just trying to simplify. 😉  
I might need to watch the video a couple more times. Nice work!

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [March 26, 2021, 8:26pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/10 "2021-03-26T20:26:29Z")

</div>

![2021-03-26 16.26.05](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/e/1/e1977baf52c40b5a6aec3b5066bea99dddbd53ed.gif)

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [March 26, 2021, 8:31pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/11 "2021-03-26T20:31:26Z")

</div>

Using this functionality, you can probably do a bulk award to user (if using relations/lookups to calculate balances). Hopefully one day we can do set columns and delete rows via multiple relation (@mark 🙏 ). Then the Trebuchet method would take Glide apps to the next level!

---

<div class="post-metadata">

**Author:** ![Lucas\_Pires](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/lucas_pires/32/64863_2.png) [@Lucas\_Pires](https://community.glideapps.com/u/Lucas_Pires)\
**Post date:** [March 27, 2021, 1:27am UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/12 "2021-03-27T01:27:52Z")

</div>

Here’s my video explaining **how** and **why** I create this method I’ve posted 3 weeks ago.

It is in Portuguese, but you can use YouTube translation

Who’s curious to know more about it, can watch here:

[![](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/1/a/1a7f1a07536a4bf99e32e5fd48d4e2ee951e0771.jpeg "MÉTODO TREBUCHET | Glide Apps") ](https://www.youtube.com/watch?v=guvIUBmhMb0)

> [@Booking slot Calendar](https://community.glideapps.com/t/booking-slot-calendar/23375/5):
>
> Hey @Mishta_P, I’m working now in a project i was struggling a lot to build all the logic behind the booking logic. But, finally, I found a way to do it! Soon I’ll post here how I did using my new method [Trebuchet](https://community.glideapps.com/t/25k-rows-in-gt-or-external-database-so-needed/22594/12) (I haven’t posted yet too, I know - life’s busy)

> [@praypray\>25K rows in GT, or external database. So needed!](https://community.glideapps.com/t/25k-rows-in-gt-or-external-database-so-needed/22594/12):
>
> Mm… well, it’s hard to explain now, but I’m planning to post here a new method I’ve created called Trebuchet. Funny name but it will open our minds to create new logics inside glide and take our apps to another level relaxed I let you know when I post here

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [March 27, 2021, 3:18am UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/13 "2021-03-27T03:18:38Z")

</div>

heh, I smiled when I saw what you did with the if-then-else to handle the first item in the list. I had exactly the same challenge in my [Global Announcement tracking demo](https://community.glideapps.com/t/global-announcements-with-user-tracking-copyable/23422). I solved it in a similar (but not identical) way:

- Read By: Text column containing a comma separated list of User ID’s (my “items” list)
- tp-first-user: Template containing the current User ID
- tp-subsequent-users: Template containing the current contents of Read By, plus a comma, plus the current User ID
- ite-new-read-by: if-then-else to determine which template column to use. If Read By is empty, use the first one. Else use the second one.

One thing I hadn’t figured out was a good way to remove items (users) from the list, so was particularly interested in what you did there. Very clever and will definitely be making use of that. Thanks!

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [March 27, 2021, 12:40pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/14 "2021-03-27T12:40:23Z")

</div>

Yes! I first used this method back in early December to develop my group chat template, but like you, I didn’t have a good way of removing users from a list. Then, in mid-January, @Lucas_Pires found out how to remove users using a user specific column followed by a join list. He dubbed this complete method the Trebuchet and the rest, as they say, is history!

---

<div class="post-metadata">

**Author:** ![Lucas\_Pires](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/lucas_pires/32/64863_2.png) [@Lucas\_Pires](https://community.glideapps.com/u/Lucas_Pires)\
**Post date:** [April 10, 2021, 6:02pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/15 "2021-04-10T18:02:42Z")

</div>

But I created the method and improved the way we remove a user/item from a list too.  
The difference was I didn’t have time to post here. And now I’m back.

---

<div class="post-metadata">

**Author:** ![Wiz.Wazeer](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/wiz.wazeer/32/72423_2.png) [@Wiz.Wazeer](https://community.glideapps.com/u/Wiz.Wazeer)\
**Post date:** [April 17, 2021, 6:41am UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/16 "2021-04-17T06:41:19Z")

</div>

Funnily I didn’t know this was known as the trebuchet method. My zigzag pattern based on same logic. Interesting 🤙🤙🤙🤙

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [April 17, 2021, 12:14pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/17 "2021-04-17T12:14:39Z")

</div>

Me neither! I think once the set column action came out, many of us tried to do something like this. I used the first half of this method back in Nov/Dec but couldn’t figure out how to remove items from an array. It wasn’t until I met with @Lucas_Pires did I learn that you don’t remove items from the existing array, but rather create a new array and overwrite. He’s the one who branded it the Trebuchet method. I thought it was catchy and branded it as such. But whatever you call it…zigzag, boomerang, trebuchet, array-column-overwriting…it’s an awesome method.

---

<div class="post-metadata">

**Author:** ![Wiz.Wazeer](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/wiz.wazeer/32/72423_2.png) [@Wiz.Wazeer](https://community.glideapps.com/u/Wiz.Wazeer)\
**Post date:** [April 17, 2021, 12:17pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/18 "2021-04-17T12:17:55Z")

</div>

I actually like the name trebuchet- sounds glidEinstein 🤩

---

<div class="post-metadata">

**Author:** ![Lucas\_Pires](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/lucas_pires/32/64863_2.png) [@Lucas\_Pires](https://community.glideapps.com/u/Lucas_Pires)\
**Post date:** [April 17, 2021, 3:58pm UTC](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747/19 "2021-04-17T15:58:27Z")

</div>

> [@Wiz.Wazeer](#):
>
> glidEinstein

Another good name 🤣
