Attributes vs Metadata

(Kurt Anderson) #1

Hey everyone,

I’m new to flowxo, and I’m curious if anyone can explain in simple terms, when to use attributes vs when to use metadata.

Thanks!

(Daniel Beckett) #2

Hey Kurt!

There’s a lot of similarities between Attributes and Metadata, especially when setting your own values to use.

Metadata is primarily useful when working with triggers. For example, Facebook Messenger bots have an m.me link which can be used with a referral tag in the URL. E.g:
m.me/1234?ref=MyReferenceHere

Using the above example a user talking to the bot would have Metadata for ‘ref’ with a value of ‘MyReferenceHere’.

Attributes are more suited to conditions where a value needs to change. Unlike Metadata, you are able to GET an attribute mid-flow to grab the latest value. This is especially useful when combined with features like Bot > Ask a Question.

Whenever an attribute is updated during a Flow you will need to GET the latest value to use as an output. There’s a support article on Using Attributes in Flow XO that shows this.

Hopefully that helps. :slightly_smiling_face:

Thanks,
Dan

(Kurt Anderson) #3

Hi Dan,

That does help quite a bit! I’m just coming to grips with the realization that to get the most from FlowXO, you need to become a ‘flow’ guru!

I’ve created a massively complicated flow, and I now realize that I’ve made it even more unwieldy by liberally using labels, and go to labels actions, which have muddied up my flow quite a bit. So, naturally, I started looking further into attributes and metadata, as a way to make this flow cleaner and easier to improve and maintain going forward.

Which then lead to an investigation of filters, which I think would allow for more elegant branching, likely in combination with either attributes and/or metadata.

So, my question or request becomes, is there a best practices article that shows a newbie like myself, how to best utilize all these capabilities to create a flow worthy of a rigorous code review by Zuck?

If it doesn’t exist and you’ve not got the bandwidth internally to write such a thing, I might try to document my experiments and publish it up for the community to chew on.

Cheers!

(Daniel Beckett) #4

There’s some step-by-step tutorials that can help you Get Started with Flow XO. We’re still working on improving the experience for new users to make it easier to use Flow XO but we’d certainly welcome feedback or user-written guides to be shared on the community site :slight_smile:

If you do find that you’re running into some particularly difficult problems with your flow then you could share it with the support team by emailing support@flowxo.com and we’ll be able to offer some extra advice there.

(Kurt Anderson) #5

Dan,

Indeed Lydia is providing awesome tutos and I’ve read them all. I have found the learning curve for flows to be a bit steep, but expected in any tool with the power of flowxo.

What would be helpful for a newbie would be a ‘roll up’ of all those tutos focused on a forking flow, which utilizes each of the following: attributes, metadata, labels and go to label actions, and finally filtering. It’s a tall order perhaps, given that a single use case utilizing all the above might be hard to grasp, especially for a nube.

However, I think it would be super helpful to pull all the concepts together so that it’s a bit clearer on the best practices in creating elegant flows.

(Kurt Anderson) #6

I’m being a bit greedy with questions today!

Can you then explain when would a series of label and goto label vs. filters be a best practice? It seems like they would both steer the flow, but I’m at a loss as to when to use each?

Cheers again!

(Daniel Beckett) #7

@anderkd

Label & Goto Label allow you to traverse to any part of your flow (forwards or backwards). These are great for breaking your flow up into different sections.

Filters are only ever ran sequentially as the flow progresses so there’s no way to really specify where the user should go and instead focuses on that specific action.

In most cases labels and filters are used together rather than being mutually exclusive.

(John Jackson) #8

Generally when I’m using the product myself, if it’s one or 2 tasks that are conditional, I’ll use filters. Any more then that, labels are probably better.

If flows start to get too complicated, you can always branch them using ‘Flow > Trigger a Flow’ (action) and ‘Flow > New Trigger’ (trigger).

Metadata is ideal for passing data from one flow to another. Good luck with your project @anderkd.

1 Like