My requirement is as follows:
If a call comes in a user can select Option 2 on the IVR to get an SMS sent with a link to open a support ticket. If they have been sent an SMS in the last week, they should not receive another.
So, I simply need some way of finding if they've had a text sent and then not send one. I have 3 options:
-
Use the conversation analytics query to find if a text has been sent to that number in the last two weeks. This can be done, but it will simply find any outgoing text, not specifically those support ticket texts.
-
Write to a record to a data table when the first text is sent and query it to block the text the next time the caller rings in. Two issues with this: I will need to regularly clear old data in the data table, I believe triggers can do this, so might not be an issue. The second problem is that the API only offers GET and DELETE methods, but I'd need a query method so I can specify a date range.
-
Use an AWS Lambda function. I can query the conversation data, determine if a text needs to be sent, then simply return a true or false. Downside is that I'd need to create a new AWS instance, which isn't necessarily a problem, I would just like to keep the solution within the Genesys architecture.
Any better suggestions? I think the data table is the best way to go, but just need to overcome the issues I mentioned.