sure! I'm trying to create a chatbot that can guide non technical users when implementing email authentication DNS records (DKIM, DMARC, and SPF).
The agent should be able to do four basic tasks for the user:
- 1.
answer general questions about DKIM, DMARC, SPF, and email authentication (why it's important, how it works, etc...)
- 2.
give a user step by step instructions for how to generate these DNS records using whatever email sending system they're using (ex: mailchimp) and whatever domain name and/or from email address they plan on sending from
- 3.
give a user step by step instructions for how to install these DNS records after they generate them, using whatever DNS management system they use (typically their web host, ex: GoDaddy)
- 4.
validate the records have been installed correctly, and give final instructions for how to activate them in their email sending system
To answer general questions, the agent should have access to a knowledge base with documents that I provide on best practices, what these technologies are, why they're important, how they work, etc...
To give step by step instructions for generating records, the agent should be able to ask the user for their email sending system and their domain and/or from email address, look up how to generate records from a knowledge base that has documents on how to generate these records on supported email sending systems, and supply personalized, step by step instructions back to the user. The agent should reject questions about sending systems it has no knowledge of.
To give step by step instructions on how to install the DNS records on the DNS system, the agent needs to know the user's DNS system, as well as what records they were given by the email sending system to install. It would then look up instructions in that knowledge base, containing documents on how to install DNS records on common DNS systems, and provide personalized, step by step instructions on how to install them.
To verify records have been installed correctly and give followup instructions, the agent needs to know which email sending system is being used, as well as what records should be validated. It needs to be able to call a code tool with the correct arguments to make DNS calls to validate the records are installed correctly, give understandable responses if they aren't (and offer to give instructions for fixing it, back to option 3), and give followup instructions based on a search of the knowledge base of email sending systems for how to turn on validated records in that sending system (there's typically a "validate" button you have to click in the email sending system as the final step)
All of these paths except for maybe the first one require some prerequisite knowledge from the user. You can't give instructions for how to install records without knowing what records you want to install and which DNS system you're using, for example. And the path's aren't necessarily linear. A user might start by generating records, then installing, then validating, but if something goes wrong you might go back to installation or generation, etc...
My complex attempt above accounts for these various paths and loopbacks, but it is, as you see, very complex. I was hoping the AI Agent step could reduce that complexity. Instead of having to proscribe each path and all the branches off each path to other paths, I could have an agent, with a prompt describing the four things it can do, and tools it can pick up to help. The agent would read the user's query, decide on a tool to use (search the knowledge base of email senders about DNS generation, or run the code tool to validate DNS records, etc...) and ask followup questions where necessary (what is your DNS host? etc...)