Last week, I spoke with @MichaelGaigg. He showed me how to use a Hosted Table with a List Widget and Data Views to hide and unhide items in Experience Builder. He also showed how to use a solid color image to make a dynamically changing background. This tip has also been discovered by @AlderMaps. And @Christina_Appleby and @KaraUtter2, have previously demonstrated using a Hosted Table with a List Widget to combine text and images. Let's put all these ideas together and create a set of links that can be perpetually and dynamically updated from outside Experience Builder.
Note to users of ArcGIS Enterprise: I will be using the recent history of social media as a narrative framing device. None of the Experience Builder options described here are particularly new, but depending on your version number some of them may be missing. We will be traveling back in time to before the first release of Experience Builder, so if your Enterprise is that old. No, this won't work for you.
Note to everyone: It's too much work for me to track down a bunch of logo and single-color images for this post. So, can we all just pretend that the screenshots look exactly as they are described?
You have done it! You have defied all known laws of physics and invented a time machine. Armed with the most dangerous and powerful device ever invented, you do the most important thing you can think of. Travel back in time with the June 2024 Online version of ArcGIS Experience Builder to make your company a website.
Arriving in the year 2017, you get to work. In ArcGIS Online, you build a Hosted Feature Table with some data you will need to make a set of links. On the My Content Tab, hit the New Item Button then Feature Layer and Define Your Own Layer. Now, give it a name and set the type to Table. Add your Metadata and hit Save. On the Item Page, go to the Data Tab then the three line menu and Add Field to build the fields for your table. You want your links to display the name of the site and its logo and each site should have a brand appropriate background color with a slight variation on that color if the user hovers over it. You also, of course, need a link to your actual social media pages. So, you will need to have fields for all of these values.

Now, you can use the Update Data option in the three line menu to Add Data from a spreadsheet program, like Excel. Assuming you have named the Excel table the same or even just similar to your fields in ArcGIS Online, ArcGIS Online will match up the names for you and upload all the data.


You now have a table hosted in ArcGIS Online with the name of the social media site you use and links to your social media pages, the companies logos and 1x1 pixel squares of appropriate colors. Getting on TikTok this early took some travel as it hasn't been released outside China yet. You did sneeze on a bat while you were visiting, but surely that couldn't be your fault. You decide to add one more field to this table. You call it Active and give it a Default Value of yes. You give each site the value of yes, except for TikTok. Maybe you shouldn't give away your medaling the space-time continuum, just yet.

Now, you open up Experience Builder and build your website that your reality breaking website that looks remarkably similar to the ESRI Developer website. Then you add a List Widget for your social media links. You use that first row template, but scroll all the way to the bottom and check the Remove Default Widgets From Template. Then, hit the Select Data and Add New Data buttons. On the Add Data Page find the Layers in the side panel and click your Links table and select Done. With the Links table added, you open up the dropdown and select Create A View.

You add a filter for Active is yes and Apply Changes. Set your List Widget to use this Data View. This will hide TikTok...for now.

You drop an Image Widget into the first blank rectangle of the List Widget and use the Align > Full Size option. You make sure your data is linked to the Data View you created earlier and switch to the Dynamic Tab. You use the URL option to set the image URL to your background color field in the table. Then you use the Set Link option to designate where clicking the image should send the users. You select the Link To URL option and, in the URL, set it to Attribute using the web address field. You have just turned your List Widget into a set of fully customizable buttons. (To make sure I was doing this right, I made my Facebook background URL a forested mountain and the hover background a beach.)

Edit: After killing your grandpa for giving you a bad Christmas gift five years from now, the timeline resets and you find this article mysteriously posted on the Internet, but you think it needs a more explicit, less-narratively soaked explanation of this step.
- Create a series of 1x1 pixel colored squares and same them somewhere on the Internet that your site will be able to access. Hosted Images on ArcGIS Online, perhaps?
- In your table/data that you will use to control the colors, have a field that contains the full URL to these colored squares.
- As the background of your List Widget, use an Image Widget with an Dynamic URL based on the field that points to the colored squares.
Back to the Prime Timeline...
You go back and reactivate the List Widget Settings. You open the States dropdown and click Hover and then Enable Hover. Then at the bottom of the List Setting Panel switch the Layout to Custom and confirm the scary warning popup. With the List Widget in the Hover State, add a new Image Widget and set it up the same way except using the hover color field from your table. (Note: I had to do this a couple times before I got the whole sequence right, so there is a chance that these instructions are slightly off.) If you have done this correctly, there should be an Image Widget under the Default dropdown of your List Widget and a different Image Widget in the Hover State.

Back in the Default State, drop a Text Widget into your List Widget and use the Dynamic Content to set the text to the name of the websites. Add another Image Widget for the company logo and connect it to the appropriate data. Style up your gorgeous button and then use the Apply to Hover option to make your text and logos appear in the Hover State. (You, with your time machine, have infinite time to make it pretty. I'm leaving it in this horrible state.)

Your work is now complete and you hop back in your time machine to go settle a beef with your grandpa, never to be seen or heard from again. No one at your company knows how to edit your Experience Builder project, but the social media manager can edit that table and that's all they need.
Now, let's travel forward in time to see how your site has handled the last seven years.
It's 2018 and all the kids are doing TikTok dances. The social media manager changes the Active field for TikTok to yes and TikTok magically appears on your site.

It's 2019 and Google+ has officially shut down. The social media manager sees some memes about it and realizes they signed up ten years ago and never made a post since. This site isn't coming back. They delete the entries in that row on the table and Google+ vanishes as if it never existed in the first place.

It's 2022 and TikTok is now illegal in your company's jurisdiction, but the fact that it's illegal may also be illegal. The social media manager wants to comply with the law, but doesn't want to delete the table entry in case TikTok becomes legal again. They switch the Active field back to no and TikTok is gone again.

It's 2023 and Twitter isn't Twitter anymore. It's going through a rebellious teenage phase and it wants to be called X now. The social media manager isn't going to dead-name someone. They respect a person's right to be called what they want. They change the name, logo and brand colors in the table and the site updates automatically.

It's a few weeks later and those teenage hormones are making X very unpleasent to be around. The social media manager is looking for a new site with less of a musk. They sign up for a Threads account and add the information to the table.

The final table looks something like this and the site has kept up with all these changes. Now if only you had put a sports almanac in your time machine...

Author's note: This was a lot of hassle to set up, but it really is worth it on the update side if you anticipate frequent changes. It also offers way more stylistic choices than the standard Button Widget.