Hey @Ben Tilley A chain of Product Tours would work here, or you could use Series to send your Product Tours after certain criteria is met - You'll find more on this in this article from our Help Center
Create an effective onboarding Series
Series explained
Using Tooltips may also come in handy for you, I’ll leave some info on them for you here too - Tooltips explained
I’m looking to do the same. Having to create a full series with multiple different elements and tours linked together just to get a pointer that lets you interact with the app is definitely overly complex.
I ended up finding a way to deliver what I needed, posting it as a reply in case someone else can use it one day.
Firstly, Series weren’t that suitable because I needed a consistent way to link each product tour and give users the ability to go to the next one after they had time to use the design tools in our product.
Series don’t really provide that. I could trigger a banner after the first tour so they could access the second tour but the banner doesn’t persist after you’ve dismissed it or seen it.
Series also have rate limits applied on how often a product tour can be triggered. You can make this as short as 1 minute if you use an action, like clicking a button that sends an event, as a trigger but even that caused issues and didn’t always trigger repeatedly. Without that the tour will only trigger once per day.
This was challenging for us because we observed users starting the tour, going through the steps and then realizing at the end that they needed to see the information again but they had no way of doing that unless they waited for the rate limit to reset.
I built my own buttons within my product and used API calls to trigger each step. I built a custom header with a button for each step and then used a post upon entry to the tutorial to teach users how to use it.
It works really well now but it did take a bit of extra time to build the extra stuff in my product first so it would be a seamless onboarding but now the multiple tour system is working.