Boost sales with AI: Using Amazon Bedrock to monitor customer tasks leading to upsell

Índice

Automat-it is an all-in AWS Premier partner empowering startups with DevOps & FinOps expertise and hands-on services. We have guided and supported hundreds of startups to leverage AWS more effectively throughout their growth journey. As DevOps and AI experts, we build cloud solutions from a DevOps perspective, focusing on practical applications with built-in efficiencies that save our customers significant time to market and optimize their cloud performance and economics.

Automat-it provides ongoing operational support for customer AWS environments: day-to-day infrastructure management, incident response and troubleshooting, patching and upgrades, monitoring and alerting management, FinOps and cost governance, scaling and capacity planning, backup management, and general DevOps hours for ad-hoc requests. Automat-it acts as an extension of the customer’s engineering and operations team, with 24/7 coverage through its NOC.

 

Problem statement

We thoroughly monitor hundreds of our customers who may request thousands of changes/improvements to their AWS infrastructure. We need to be proactive and understand which requests or tasks may lead to upsell. Artificial intelligence (AI) is a great candidate for routine tasks, allowing people to focus more on interesting and important tasks.

One Sales/Account manager is responsible for multiple customers, and manually checking all new tasks would be challenging for them, especially when they just need to know if the new task will lead to upsell.

We have decided to implement automated task analysis and classification using AI, notifying only the responsible Sales/Account manager of tasks that may lead to upsell.

 

Solution overview

Automat-it owns a Business Automation Software product called Albatross, which also serves as a customer database containing all necessary contacts, including the responsible Sales/Account Manager. This is our single source of truth.

Automat-it uses Asana, a work management platform designed to help teams organize, track, and manage their work. It allows teams to create projects, assign tasks, set deadlines, and collaborate in real-time.

Albatross and Asana have API, which can be used for the designed automation.

Lambda checks new T&M tasks in Asana every 2 hours, analyzes them via Amazon Bedrock to classify if the changes may lead to upsell. If found, a Slack notification is sent to the relevant Sales/Account Manager. The responsible manager is retrieved from the Albartoss API.

How it works

  1. Lambda function is executed daily via an Amazon EventBridge scheduled rule.
  2. It gets credentials for Asana and Albatross from the AWS Secrets Manager secret.
  3. It checks all Asana tasks for «DevOps Hours» projects for the last 2 hours.
  4. It utilizes the Albatross API to retrieve the Name of the Sales/Account Manager responsible for each project.
  5. It utilizes Amazon Bedrock to categorize every task, distinguishing between PossibleUpsell — true/false, indicating whether the task may lead to upsell or not. Lambda attempts 10 calls to Amazon Bedrock to overcome throttling
  6. All collected data is stored in a DynamoDB table with the following attributes:
    • TaskGID — Asana task ID (partition key)
    • CustomerName — project name from Asana
    • TaskDescription — task name
    • LinkToAsanaTask — direct link to the Asana task
    • PossibleUpsell — true/false
    • Explanation — AI reasoning
    • AM_AE — account manager name from Albatross (or «AM not found»)
    • TaskCreatedAt — when the Asana task was created
    • SlackNotified — whether a Slack notification was sent (prevents duplicates)
    • expireAt — TTL timestamp
  7. For upsell=true items, a Slack message is posted tagging the AM (or @channel if not found)
  8. The web dashboard shows all leads with filters.

We store data in DynamoDB for future needs or more convenient debugging today. The DynamoDB data is also used for a simple Web UI application built with Amazon CloudFront, Amazon S3, Amazon API Gateway, AWS Lambda, and Amazon Cognito.

Here is the prompt template, used by the Lambda function when calling the Amazon Bedrock:

PROMPT_TEMPLATE = """
You are an AWS cloud sales analyst at a managed services company. Analyze the following Asana task from a T&M (Time & Materials) project.

Your job is to determine if this task represents a SIGNIFICANT upsell opportunity — meaning it could become a standalone project, SOW (Statement of Work), POC (Proof of Concept), or migration engagement.

IMPORTANT RULES:

Mark as upsell ONLY if the task involves:
- A full migration project (e.g., migrating a database from one platform to AWS, migrating an application to AWS)
- Implementing a new solution or architecture from scratch (e.g., Landing Zone setup, Backup solution with monitoring, new multi-component deployment)
- A multi-service deployment that requires significant planning and implementation effort
- Work that could realistically be scoped as a separate paid project/engagement (SOW, POC)

Do NOT mark as upsell even if it increases AWS spend, if it is:
- Adding or creating a single resource (one EC2 instance, one NAT gateway, one RDS instance, one ECR repo, one load balancer)
- Small configuration changes (increasing memory, enabling logs, activating WAF logging, adding subnets)
- Upgrading existing resources (EKS version upgrade, RDS version upgrade, instance type change)
- Creating new AWS accounts in an existing Control Tower setup
- Setting up access, permissions, IAM roles, or VPN configurations
- Enabling encryption, security hardening, or compliance fixes
- Code reviews, pipeline deployments, or CI/CD agent setup
- Cost optimization, monitoring, alerting, or troubleshooting tasks
- Maintenance, bug fixes, or operational support
- Getting access to or subscribing to AWS services (e.g., Bedrock model access)
- Provisioning resources in staging/dev environments for testing
- Free of charge tasks, initial security audits, or onboarding assessments (e.g., "[Free of Charge] First Security Audit") — these are standard onboarding activities when starting with a new customer, not upsell opportunities
- Any task that is too small to justify a separate project engagement

If PossibleUpsell is true, also estimate the approximate monthly increase in AWS spending (MRR) that this opportunity would generate. Base your estimate on typical AWS pricing for the resources/services involved. Provide a range (e.g., "$200-$500/mo"). If you cannot estimate, use "Unknown".

Return ONLY valid JSON in this exact format:
{"PossibleUpsell":true,"Explanation":"<2-3 sentences: what makes this a significant project opportunity, or why it is too small/routine to be a project>","EstimatedMRR":"<estimated monthly AWS spend increase, e.g. '$500-$1500/mo' or 'Unknown'>"}

Task:
{ticket_content}
"""

If the classification result is not acceptable, we can modify the Prompt (“PROMPT_TEMPLATE” in the Lambda code) or change the Bedrock model.

Results

Tasks for the last 2 hours were written into the DynamoDB table. We can see the Project, task, classification, explanation, and the responsible Account Manager. Data for the previous day is automatically removed by DynamoDB TTL.

Slack notifications have been sent mentioning only “Upsell” tasks (tasks that potentially may lead to upsell).

and the Web application shows the information from the DynamoDB with possible filtration:

 

Conclusion

In this blog, we demonstrated how leveraging Amazon Bedrock’s generative AI capabilities alongside AWS services such as AWS Lambda, Amazon DynamoDB, and others can help monitor Upsell leads. By integrating Amazon Bedrock’s foundation models into Sales workflows, organisations gain visibility, proactive insights, and recommendations, helping them engage the Account manager and contact customers faster, leading to a better customer experience and sales results.

Get 40 FREE Hours From a Senior AI Engineer
We build one capability in your AWS account. You ship AI faster.