Action - Memory
-
OSS/BSS Answers
Access Control Admin Audit B3Network Master Account Channel App Contract App Customer App Discount App Edge Server File Management Finance App Invoice App Number Management Payment Portal Settings Price List Product App Release V2 SMS Gateway Supplier App Support Center Support Hub Business Hub Sales Hub
- App Model - Organization Management
- App Model - Communication Apps Answers
- License Model - Organization Management
-
License Model - CPaaS Solution Answers
Phone System - Admin Guide Phone System - End-user Guide Mobile App Desktop App Web Phone Auto Attendant - Admin Guide Developer Hub - Admin Guide Microsoft Teams Operator Connect - Admin Guide Microsoft Teams Direct Routing - Admin Guide Contact Center - Supervisor Guide Contact Center - Agent Guide Omni-Channel SIP Trunk CPaaS - SIP Trunk Power SIP Trunk CPaaS Fax Contact Dashboard Campaign File Explorer
- Telcoflow
- Integrations Answers
- Updated Regulations
- Ideas Portal
Table of Contents
Introduction
Memory is an action that supports storing data and sharing it within executions of the same flow or among different flows.
There are 4 sub-actions under Memory:
- Add to Memory
- Get from Memory
- Increase Memory Value by 1
- Add to Memory List
- Get From Memory List
1. Add to Memory
This action is used to add 1 single output from the previous action to the Memory.
REQUIRED INPUTS
- Key name
- Value
- Time to live (The period of time during which memory is intended to be valid)
![](https://d2x3xhvgiqkx42.cloudfront.net/c94ab348-5fb1-4c1d-89b1-fa79e3e916d0/81ec6e6f-2b1b-45dc-9193-b23c4a10d966/2022/01/19/8ff267ca-6516-4b87-a875-8230f04a0b4a/1164669b-612c-4b3f-b9d8-87056368982b.png)
2. Get from Memory
This action is used to get value from the Memory.
- Key set in Flow
- Key name
- Value (String)
![](https://d2x3xhvgiqkx42.cloudfront.net/c94ab348-5fb1-4c1d-89b1-fa79e3e916d0/81ec6e6f-2b1b-45dc-9193-b23c4a10d966/2022/01/19/a5141afc-212e-4efa-9d03-e219398a092b/7304fc1a-ee0d-4653-b581-88f61a5e3b0e.png)
3. Increase Memory Value by 1
This action is used to count the number of times an event happens (e.g, count the number of abandoned calls, send SMS when it reaches 5)
REQUIRED INPUTS
- Key name
- Time to live (The period of time during which memory is intended to be valid)
OUTPUT
- Incremented Value (Number) (The value after the increment)
![](https://d2x3xhvgiqkx42.cloudfront.net/c94ab348-5fb1-4c1d-89b1-fa79e3e916d0/81ec6e6f-2b1b-45dc-9193-b23c4a10d966/2022/11/04/a1ca5e7a-5124-42a2-ae6e-76e48940cecb/6b09f019-9eb7-483b-bce5-635cf0422647.png)
4. Add to Memory List
This action is used to add multiple outputs from the previous action to the Memory List.
REQUIRED INPUTS
- List name
- Value
- Time to live (The period of time during which memory is intended to be valid)
NO OUTPUT
Do not replace if value exists:
- Tick = thesystem will not add if a value already exists.
- Untick = thesystem will delete the existing value and add it as the most recent value.
![](https://d2x3xhvgiqkx42.cloudfront.net/c94ab348-5fb1-4c1d-89b1-fa79e3e916d0/81ec6e6f-2b1b-45dc-9193-b23c4a10d966/2022/01/19/8af2020c-3fe3-44f9-8944-a39380c8028f/998b5c3e-7ddd-4979-9445-30442a4ce14f.png)
5. Get from Memory List
This action is used to get value from the Memory List.
REQUIRED INPUTS
- List set in Flow
- List name
- Index
OUTPUT
- Value (String)
Index:
- Most recent: get the most recent value in the list
- Least recent: get the least recent value in the list
-
Custom: get one of the values in the list:
- ...
- -3 =3rd Most recent
- -2 = 2nd Most recent
- -1 = Most recent
- 0 = Least recent
- 1 = 2nd Least recent
- 2 = 3rd least recent
- 3 =4th least recent
- ...
![](https://d2x3xhvgiqkx42.cloudfront.net/c94ab348-5fb1-4c1d-89b1-fa79e3e916d0/81ec6e6f-2b1b-45dc-9193-b23c4a10d966/2022/01/19/bcacda3d-87c0-43f0-8de5-88305a2df979/b5cb102e-668f-41a7-b1e8-77df3e6798ca.png)
Also remove value from list:
Get and delete value from the list.
![](https://d2x3xhvgiqkx42.cloudfront.net/c94ab348-5fb1-4c1d-89b1-fa79e3e916d0/81ec6e6f-2b1b-45dc-9193-b23c4a10d966/2022/01/19/6040154c-4e6a-45e6-8bbc-81bc8b8f323a/d5ddf584-8927-4985-9999-2ca652b371fa.png)
Example:
1. Single Memory
Requirements:
- Send a Survey SMS message to your Caller when the call ended.
- Do not send the message again to the same Caller within 7 days.
Configuration:
In order to fulfill this requirement, follow the steps below:
Step 1:
- Create a flow with trigger: Call Ended
- Select the Action - Send SMS Message (legacy)
- Destination Number
- Sender Name
-
Message:
- "Could you take 60 seconds to go to [link to review platform] and share your happy experiences? We will be forever grateful. Thank you in advance for helping us out!"
- Expose Output
Step 2:
- Choose Action - Add to Memory:
- Save the information of the Caller.
- Value = SMS Sent
- Time to live = 7 days.
- Save the information of the Caller.
Step 3:
- Before the Send SMS action, choose Action - Get from Memory:
-
Get the value:
- From the same flow
- Caller Number
-
Get the value:
Step 4:
- After the Get action, choose Split Flow:
-
Path 1: Already sent SMS in the last 7 days
- Get Value = SMS Sent
-
Path 2: Has not sent SMS
- When all else fails (Default path)
- Add all the next actions in this path
- Deploy
-
Path 1: Already sent SMS in the last 7 days
Single Memory
2. Memory List
Requirements:
- You have a menu of 3 options, you want to save the Caller's time by announcing the two most recent chosen options.
-
First time:
- The Caller will hear the Full Menu.
-
Second time:
- The Caller will hear the confirmation of their selected option.
- Full Menu.
-
Third time and later:
- The Caller will hear the confirmation of their most and second selected options.
- Full Menu.
-
First time:
Configuration:
In order to fulfill this requirement, follow the steps below:
Step 1:
- Create a flow with trigger: Incoming Call to Phone Numbers
- Select the Action - Gather Input
-
Message to Play:
- Press 1 for Red
- Press 2 for Green
- Press 3 for Purple
- Language
- Predefined inputs
- Expose Output
-
Message to Play:
- Choose the Action - Split Flow
-
Path 1: Red
-
Actions:
-
Add to Memory List:
- List name: Caller ID
- Value: Red
- Time to live: 4 days
- Untick [Do not replace if value exists]
- Hang Up
-
Add to Memory List:
-
Actions:
-
Path 2: Green
-
Actions:
-
Add to Memory List:
- List name: Caller ID
- Value: Green
- Time to live: 4 days
- Untick [Do not replace if value exists]
- Hang Up
-
Add to Memory List:
-
Actions:
-
Path 3: Purple
-
Actions:
-
Add to Memory List:
- List name: Caller ID
- Value: Purple
- Time to live: 4 days
- Untick [Do not replace if value exists]
- Hang Up
-
Add to Memory List:
-
Actions:
-
Path 1: Red
Step 2:
- Before the Gather Input action, choose Action - Get from Memory List:
-
Get the value 1: Get most recent
- From the same flow
- List Name = Caller ID
- Index = Most recent option (or Custom = -1)
-
Get the value 2: Get second most recent
- From the same flow
- List Name = Caller ID
- Index = Custom = -2
-
Get the value 1: Get most recent
- Select the Action - Split Flow
-
Path 1: 1 color
- "Get most recent: Value" - Exists
- "Get second most recent: Value" - Does not Exist
-
Path 2: 2 colors
- "Get most recent: Value" - Exists
- "Get second most recent: Value" - Exists
-
Path 3: First run
- Default path (When all else fails)
- Add the Action in Step 1 under this Path
-
Path 1: 1 color
Step 3:
- Select the Action - Gather Input
-
Message to Play:
- Your favorite color is "Get most recent: Value". What's your new favorite color? Press 1 for Red, 2 for Green, 3 for Purple.
- Language
-
Message to Play:
- Select the Action - Split Flow
-
Path 1: Red
-
Actions:
-
Add to Memory List:
- List name: Caller ID
- Value: Red
- Time to live: 4 days
- Untick [Do not replace if value exists]
- Hang Up
-
Add to Memory List:
-
Actions:
-
Path 2: Green
-
Actions:
-
Add to Memory List:
- List name: Caller ID
- Value: Green
- Time to live: 4 days
- Untick [Do not replace if value exists]
- Hang Up
-
Add to Memory List:
-
Actions:
-
Path 3: Purple
-
Actions:
-
Add to Memory List:
- List name: Caller ID
- Value: Purple
- Time to live: 4 days
- Untick [Do not replace if value exists]
- Hang Up
-
Add to Memory List:
-
Actions:
-
Path 1: Red
Step 4:
- Select the Action - Gather Input
-
Message to Play:
- Your favorite color is "Get most recent: Value", and your second most favorite color is "Get second most recent Value". What's your new favorite color? Press 1 for Red, 2 for Green, 3 for Purple.
- Language
-
Message to Play:
- Select the Action - Split Flow
-
Path 1: Red
-
Actions:
-
Add to Memory List:
- List name: Caller ID
- Value: Red
- Time to live: 4 days
- Untick [Do not replace if value exists]
- Hang Up
-
Add to Memory List:
-
Actions:
-
Path 2: Green
-
Actions:
-
Add to Memory List:
- List name: Caller ID
- Value: Green
- Time to live: 4 days
- Untick [Do not replace if value exists]
- Hang Up
-
Add to Memory List:
-
Actions:
-
Path 3: Purple
-
Actions:
-
Add to Memory List:
- List name: Caller ID
- Value: Purple
- Time to live: 4 days
- Untick [Do not replace if value exists]
- Hang Up
-
Add to Memory List:
-
Actions:
-
Path 1: Red
Step 5: Deploy
Return to the main page and deploy the Flow
Memory List