- Add comprehensive documentation in botbook/ with 12 chapters - Add botapp/ Tauri desktop application - Add botdevice/ IoT device support - Add botlib/ shared library crate - Add botmodels/ Python ML models service - Add botplugin/ browser extension - Add botserver/ reorganized server code - Add bottemplates/ bot templates - Add bottest/ integration tests - Add botui/ web UI server - Add CI/CD workflows in .forgejo/workflows/ - Add AGENTS.md and PROD.md documentation - Add dependency management scripts (DEPENDENCIES.sh/ps1) - Remove legacy src/ structure and migrations - Clean up temporary and backup files
72 lines
2.1 KiB
QBasic
72 lines
2.1 KiB
QBasic
PARAM dealname AS STRING LIKE "Acme Corp Enterprise License" DESCRIPTION "Name of the deal or opportunity"
|
|
PARAM companyname AS STRING LIKE "Acme Corporation" DESCRIPTION "Company or account name"
|
|
PARAM contactemail AS EMAIL LIKE "john@acme.com" DESCRIPTION "Primary contact email"
|
|
PARAM dealvalue AS MONEY LIKE 50000 DESCRIPTION "Estimated deal value in dollars"
|
|
PARAM stage AS STRING LIKE "Lead" DESCRIPTION "Initial stage: Lead, Qualified, Proposal, Negotiation" OPTIONAL
|
|
PARAM closedate AS DATE LIKE "2025-03-30" DESCRIPTION "Expected close date" OPTIONAL
|
|
PARAM notes AS STRING LIKE "Met at trade show" DESCRIPTION "Notes about the deal" OPTIONAL
|
|
|
|
DESCRIPTION "Create a new sales deal in the pipeline with deal information and value tracking"
|
|
|
|
IF NOT stage THEN
|
|
stage = "Lead"
|
|
END IF
|
|
|
|
IF NOT closedate THEN
|
|
closedate = DATEADD(TODAY(), 30, "day")
|
|
END IF
|
|
|
|
dealid = "DEAL-" + FORMAT(NOW(), "YYYYMMDD") + "-" + FORMAT(RANDOM(1000, 9999))
|
|
createdat = FORMAT(NOW(), "YYYY-MM-DD HH:mm:ss")
|
|
ownerid = GET "session.user_id"
|
|
owneremail = GET "session.user_email"
|
|
|
|
probability = 10
|
|
IF stage = "Qualified" THEN
|
|
probability = 25
|
|
ELSE IF stage = "Proposal" THEN
|
|
probability = 50
|
|
ELSE IF stage = "Negotiation" THEN
|
|
probability = 75
|
|
END IF
|
|
|
|
weightedvalue = dealvalue * probability / 100
|
|
|
|
WITH deal
|
|
id = dealid
|
|
name = dealname
|
|
company = companyname
|
|
contact = contactemail
|
|
value = dealvalue
|
|
currentStage = stage
|
|
expectedClose = closedate
|
|
prob = probability
|
|
weighted = weightedvalue
|
|
dealNotes = notes
|
|
owner = ownerid
|
|
ownerEmail = owneremail
|
|
created = createdat
|
|
END WITH
|
|
|
|
SAVE "deals.csv", deal
|
|
|
|
SET BOT MEMORY "last_deal", dealid
|
|
|
|
WITH dealActivity
|
|
dealId = dealid
|
|
action = "Deal created: " + dealname
|
|
user = owneremail
|
|
timestamp = createdat
|
|
END WITH
|
|
|
|
SAVE "deal_activities.csv", dealActivity
|
|
|
|
TALK "Deal created: " + dealname
|
|
TALK "ID: " + dealid
|
|
TALK "Company: " + companyname
|
|
TALK "Value: $" + FORMAT(dealvalue, "#,##0")
|
|
TALK "Stage: " + stage + " (" + probability + "% probability)"
|
|
TALK "Expected Close: " + closedate
|
|
TALK "Weighted Value: $" + FORMAT(weightedvalue, "#,##0")
|
|
|
|
RETURN dealid
|