This is a submission for the Agent.ai Challenge: Full-Stack Agent (See Details)
Financial fraud is a rising global problem, costing billions of dollars and hurting millions of people every year. Personal accounts about scams and false calls emphasize the emotional and financial costs of these crimes. This project aims to create a prototype that resembles a Fraud Protection agent and can assist ordinary individuals, particularly those who are less aware and new digital users, in avoiding scam calls and messages.
What I Built
Our major goal in designing FraudWatch was to provide a solid solution that was targeted to the specific needs of the people who are most vulnerable to these scams.
Such people may include senior citizens, teenagers with new digital bank accounts, people from rural areas who are becoming the emerging digital banking customer segment, people who are not fluent in English or are not very tech savvy, and so on, though recent reports suggest that well-informed individuals in senior private and public sector roles have also fallen victim to such fraud.
Our application integrates Whatsapp with AgentAI to transcribe fraud calls, summarize the fraud calls, identify the possibility of fraud, analyze a potential fraud, categorize it according to RBI (Reserve Bank of India) fraud classification guidelines, assist in generating an incident report of the possible fraud and finally submit the incident with a single message via automated API integration to the agencies in charge of enforcing law enforcement.
According to Backlinko, WhatsApp is the world's leading messaging platform, available in over 180 countries and 16 languages. It is the most popular messaging app in over 100 countries, with 2.7 billion active users globally. Remarkably, 33% of its customers are 50 and older, making it the most convenient platform for my application.
Even though Agent.ai's dashboard provides an excellent user experience, managing everything directly through WhatsApp on the phone makes it far more accessible to people who require it the most.
Scam call detection via WhatsApp.
You can send an audio recording of any suspicious call, and it will be transcribed. In the background, a webhook activates an Agent.ai process that analyzes and categorizes the nature of the scam, providing you with clear next steps to take.
General Fraud Chatbot.
If a user sends a question about fraud instead of an audio recording, a webhook activates another Agent.ai process to deliver answers tailored to meet the user's needs as accurately as possible.
Fraud Reporting.
After identifying a call as fraudulent, users can ask the AI agent to generate and submit a report through a simple text message. The agent will review the call transcript and create a well-structured draft that is ready for submission to the appropriate authorities.
Demo
Composer Agent
This agent is the brains of FraudWatch and is in charge of digesting all incoming inputs from the Whatsapp chatbot. It assesses if the message is a fraud call recording or a question connected to fraud, and then passes it to the relevant AI agent for further action.
Fraud Chatbot Agent
This agent gives users clear and meaningful responses to their fraud-related concerns.
Reporting Agent
A dedicated AI agent designed to assist in drafting reports. It helps refine the user's report, ensuring the generated content accurately describes the details of the fraudulent call.
Find the agents here
https://agent.ai/agent/fraudwatch-composer
https://agent.ai/agent/fraud-chatbot-agent
https://agent.ai/agent/analysis-agent
https://agent.ai/agent/3z9ylgnmh2sexyvf
In addition to the AI Agents, I developed a WhatsApp chatbot, which serves as the main interface for users to interact with FraudWatch. It acts as an API Gateway, forwarding user requests—whether as text or voice notes—directly to the AI agents for processing.
I supplied an example scam call retrieved from YouTube for testing reasons here: Please find the Sample Scam call for testing link below.
Test the implementation here: Whatsapp Implementation link here.
Explore the chatbot's implementation here:
CijeTheCreator / agentai_server
DESCRIPTION
Simple Flask AWS S3 Uploader
Simple and quick AWS S3 upload capability for Flask using Boto3 & env variables
Download and install locally
git clone git@github.com:jelmerdejong/simple-flask-s3-uploader.git
cd simple-flask-s3-uploader
mkvirtualenv simple-flask-s3-uploader
pip install -r requirements.txt
Set local environment variables
Open your environments postactive file (nano $VIRTUAL_ENV/bin/postactivate
) and add the following lines:
cd ~/Projects/simple-flask-s3-uploader
export APP_SETTINGS="config.DevelopmentConfig"
export SECRET_KEY="your-random-secret-key"
export S3_BUCKET="your-bucket-name"
export S3_KEY="your-aws-secret-key"
export S3_SECRET_ACCESS_KEY="your-aws-secret-access-key"
Run it!
export FLASK_APP=app.py
flask run
How It Works
The user sends a scam call recording or fraud-related question via WhatsApp.
The WhatsApp bot forwards the message to an AI Composer via a webhook.
The composer analyzes the input and determines the appropriate next step.
Depending on the input, different AI agents are triggered to:
Transcribe call recordings.
Analyze call recordings for fraud.
Generate an initial draft of a report for the relevant authorities.
Answer Questions related to fraud.
The Agent uses AssemblyAI to produce transcriptions behind the scenes.
Agent.ai Experience
Using Agent AI was a game-changer for my project. I was able to quickly build an advanced agent without writing an enormous codebase, I appreciate its intuitive drag-and-drop interface for ordering actions. I was amazed at how quickly I could deploy the bot to start interacting with users.
However, I encountered some issues:
I found the Email function a little wonky and difficult to use. The formatting kept getting in the way. It put placeholders for the Recipient's Name, my name, and contact address, I couldn't find anything in the docs on how to stop it.
Secondly, collecting files uploaded to agent AI proved very difficult. I eventually found a way of sending the files, but the file object wasn't structured JSON. My workaround was to send the file object as plain text, and manually correct it in my server.
Apart from that the experience was bliss.
What's next?
As FraudWatch continues to evolve, the focus remains on improving accessibility to the people who need it the most. Looking ahead, future improvements include expanding to other platforms like Telegram and Facebook Messenger, Incorporating feedback from real-world users and parties involved in the ecosystem, and collaborating with government agencies and regulatory bodies, such as the EFCC Economic and Financial Crimes Commission.
Potential Social Impact:
We were able to give aspirational shape and form to an idea to counter financial scams and were able to build a strong foundation for a self-evolving ecosystem that can be fed and nurtured through collaboration and contribution of all players and institutions interested in the fight against financial fraud. The project has demonstrated that AI can pave the way for a more coordinated and comprehensive approach to combating financial crime.
Top comments (2)
Forgot to include the WhatsApp number
Even though the wa.link/ehvq9q already takes you there
+2348148522113
Cheers!
Done.