An attribute is a piece of information. It is any value assigned to a user. Similar to labels or tags.
Every user that texts your bot has attributes in their profile. Attributes consist of two pieces of information: attribute and value. For example:
attribute | value |
first name | Jordan |
gender | male |
last seen | 2 days ago |

With attributes you can:
Save user info to learn more about your audience;
Sort your audience into segments based on qualities or preferences, so you can retarget effectively;
Personalize the chat to each user.
Types of attributes
System attributes
System attributes come from a user's Facebook profile. They can not be changed. They provide general information. Some examples:
attribute | value | meaning |
signed up | May 12 | When a user had the first conversation with your bot |
timezone | +1 GMT | What their timezone is |
locale | en_US | What language is displayed for them |
See more examples of system attributes.
Custom attributes
Custom attributes are assigned to a user by you. They can be created, edited and removed. The main idea is to assign some information to users to use it later.
For example, if you sell pet products you might ask users to tell you what pet they own. Your attribute is pet type, and your values might be cat, dog, parrot, fish, etc.
attribute | value |
pet type | cat |
For an online store this can be product types: shoes, hats, accessories, glasses, pants, etc.
attribute | value |
product type | shoes |
Global attributes
Global attributes are a type of Custom attributes. You can set them up by clicking ⁝ → Manage Attributes next to any Flow in Flow Builder.

They are mainly used for two reasons:
👉 Defaults for information you use regularly
Use it when you need to enter the same information — your brand's address, phone number, etc. multiple times. If you ever need to change it, you will only do it once by changing the global attribute.
Type the attribute instead of typing your information each time. For example:
Phoenix Farms > {{company name}}
👉 Fallback
Set up a generic value to appear when a user's value is empty. Your store sells balls for football and basketball.
You want to set up a message that says:
Hello! We have a great discount on {{ball type}} this week!
If the attribute ball type is empty, you customer will see this message:
Hello! We have a great discount on this week!
After you set up a global attribute sports balls for {{ball type}}
Hello! We have a great discount on sports balls this week!
Adding or removing attributes
📌 Remember, adding or removing attributes only works for custom attributes.

To add a custom attribute:
Automation > Flows.
Add a new block. Actions > Set User Attribute.
Add an attribute and a value.
Connect it to other blocks.
To remove a custom attribute:
Automation > Flows.
Add a new block. Actions > Remove User Attribute.
Type in an attribute you want to remove.
Connect it to other blocks.
Using attributes
To use attributes in Flow Builder you need to put them in curly brackets: {{first name}}
, {{gender}},
{{pet type}}
, etc.
Content blocks
You can show attributes in content blocks. For example, use a user's name in a message:
Hello, {{first name}}
. How can I help you? = Hello, Dave. How can I help you?
Condition
Let's go back to our pet store example. You already asked users what their pet type is. To simplify, let's say your store only sells products for cats or dogs. Your pet type can either be cat or dog.
Let's use the Condition plugin. It will redirect users based on the value of your attribute. Now you can send your cat owners one way and your dog owners another way.

You can also add attributes manually to any user in the People tab.
Examples of system attributes
Below is a list of more examples of system attributes. They can help you improve your Flows.
Attribute | Description |
first name | User’s first name |
last name | User’s last name |
gender | User’s gender |
locale | User’s locale |
timezone | User’s current timezone offset from UTC |
profile pic url | User’s profile picture |
messenger user id | A unique ID created for specific page when a user interacts with a Messenger bot (also known as PSID) |
within 24h window | Indicates if a user can or can not be messaged within 24 hour window |
last seen | Last time a user was seen active on Facebook |
last user freeform input | Last message user typed in themselves (Quick Replies won't count) |
instagram name | User’s Instagram handle |
instagram follower count | Number of followers user’s Instagram has |
user follows instagram account | Indicates if a user follows Instagram Account |
instagram account follows user | Indicated if Instagram Account follows user |
instagram user is verified | Indicates if a user has verified account status on Instagram |
eu restricted | Indicated if a user is under GDPR laws |
source | How a user initially subscribed to bot (ads, comments, url, etc.) |
signed up | Shows a date when a user first contacted bot |