[DP-6] Lookup Single Record by ID / Keyword
Problem
Status updates on important records are locked away inside business systems that only experts can access
What does this pattern do?
Enable users to find records based on their identifier. You can visualize this as a filter applied on a table like below:
Show me PO782 please.
Moveworks extracts "782" passes to API value:
{"id": "782"}
One moment, fetching your results. This may take ~10 seconds
PO782: Logitech
Item Name: Mouse
Quantity: 12
Quantity: 12
Example Use Cases
- Finance: View Purchase Orders by ID
- HR: Acronym Lookup
- Project Management: View Jira Ticket by ID
Design Considerations
Design time
- Must return non-200 status code if records are not found
- Must return a JSON dictionary from the API. (No embedded lists)SupportedNot Supported
{ "attribute1": "value1", "attribute2": { "nested_attribute_1": "value2" } }
{ "record": [ { "attribute1": "value1" }, {"attribute2": { "nested_attribute_1": "value2" }} ] }
- Must display a single record of attributes & values. Multiple records, or related records are not supported in this design pattern.
- Your automation tools should use the exact ID that's extracted from the user.
Run time
- Bot will make an API call for each possible ID detected. This will give your users a more robust experience.
- Bot will not ask for the ID if it is omitted from the utterance