Action - Memory
- OSS/BSS Answers
- 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 CPaaS Fax Contact Dashboard Campaign File Explorer
- 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