Publishing Flows to Dynamic URLs
Sometimes URLs within your application can contain dynamic variables that are randomly generated or related to a specific user or account. Dynamic URLs tend to have one base structure but include a string of letters, numbers, and occasionally characters that change frequently.
Both URLs above are dynamic URLs. They look identical except for a unique string of numbers at the end of the address based on who is logged into your application.
To publish a flow on a dynamic URL:
- Create your flow at one version of your dynamic URL (ex: http://yourapp.com/dashboard/23944-3)
Just note, these URLs must appear the same for your end users: if certain page elements are missing from some versions of this URL, your flow may not appear.
- In the Settings step of your flow, target and publish the flow to URLs that contain stable keywords:
In the *rare* case that your URL does not contain stable keywords publish the flow to all versions of this URL by using a regular expression (regex):
While using “contains” is good for basic keyword matching, you may require more advanced targeting. For instance, what if you wanted to only target /dashboard/2392/view but not /dashboard/2392/? Matching URLs that contain /dashboard would result in too many matches.
When this is the case, we can use Regular Expression matching. Regular Expressions (or "regex") are a simple way of representing strings in a URL by patterns in its characters.
Common Regex Patterns
Here is a little cheat sheet on a few common regex patterns
The most common regex pattern you will probably want is simply:
The "." is the wildcard match, and the "+" means "match the previous item one or more times. Thus, ".+" means "match one or more of any character." So, the following pattern would work to match anything (say, a user's individual dashboard page) in a url:
Here are some other common regular expressions that come in handy when using regex to target specific pages within Appcues:
• Any number: [0-9]+
• Either of two values: (Option1|Option2)
• Any word: [a-z]+
For additional help with Regex, check out this cheat sheet and this Regex tester