"""Generate the AgroSense LinkedIn (B2B) Campaign as Word (.docx) and PDF. pip install python-docx fpdf2 python scripts/build_linkedin_campaign.py """ from __future__ import annotations import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parent)) from docgen import build_both # noqa: E402 DOCS_DIR = Path(__file__).resolve().parent.parent / "docs" TITLE = "AgroSense - LinkedIn (B2B) Campaign" SUBTITLE = "FPOs, agri-input partners, investors and enterprise/API" SECTIONS = [ ("1. Overview", [ ("ul", ["Goal: B2B awareness, partnerships, enterprise/API pipeline, expert " "recruitment, and investor interest.", "Why LinkedIn: decision-makers and professionals - target by job title, " "function, industry, company size and seniority; strong for thought " "leadership, Lead Gen Forms and account-based marketing (ABM).", "Audience segments: FPO/cooperative leaders, agri-input companies " "(seed/fertilizer/agrochem/equipment), enterprise (banks, insurers, " "agribusiness, govt/NGOs), investors (agritech/impact VCs), and talent " "(agronomists/experts to verify as plant doctors).", "Primary CTAs by segment: 'Partner with us', 'Book a demo', 'Integrate " "our API', 'Read the whitepaper', 'Let us talk' (investors), 'Join as a " "verified expert'.", "Tone: credible, data-led, outcome-focused, concise. Avoid hype; show " "evidence (citations, metrics, the explainable RAG approach)."]), ]), ("2. Company Page Setup", [ ("ul", ["Complete the Page: logo, tagline ('Explainable AI advisory for " "agriculture'), About with the problem/solution and a clear link.", "Add Products, a featured 'whitepaper/report' document, and a custom CTA " "button ('Visit website' / 'Contact us').", "Enable a Newsletter for recurring thought leadership.", "Have the founder/leaders post from personal profiles too (higher organic " "reach) and tag the Page."]), ]), ("3. Content Pillars", [ ("ol", ["Thought leadership - explainable AI in agriculture, food security, " "climate resilience, digital public goods.", "Impact and data - outcomes (yield, input savings, reach), the cited/" "low-hallucination approach, evaluation metrics.", "Product and API - features (advisory, plant clinic + live doctors, " "farmer clubs, produce marketplace, embedded finance/loans, schemes and " "land records), enterprise use-cases (risk scoring, crop prediction, " "advisory API, white-label).", "Partnerships and ecosystem - FPOs, input suppliers, government/research, " "enterprise clients.", "Talent and community - recruit verified plant doctors; team and culture."]), ]), ("4. Organic Content Plan", [ ("ul", ["Founder POV (text/article): 'Why agricultural advice must be cited and " "explainable'.", "Document carousel (PDF): 'The AgroSense stack' - how RAG + live data " "produce grounded, cited advice.", "Impact post: a metric + chart (e.g. +15% yield, -20% fertilizer; " "evaluation: high faithfulness, low hallucination).", "Product/API post: 'Build on AgroSense' - advisory/risk/crop-prediction " "APIs for banks, insurers and agribusiness.", "Partnership post/announcement: welcome an FPO or input partner; tag them.", "Poll: 'Biggest barrier to AgriTech adoption? Trust / Cost / Language / " "Connectivity'.", "Talent post: 'Calling agronomists, pathologists, entomologists - get " "verified, reach farmers'.", "Newsletter (monthly): a deeper essay tying product to outcomes.", "Cadence: 3-5 posts/week from the Page plus founder/leaders; one document " "carousel and one article/newsletter per week perform best."]), ]), ("5. Sample Posts", [ ("h2", "Thought leadership"), ("p", "Most 'AI for agriculture' fails on trust. A confident but wrong " "recommendation can cost a whole season. AgroSense takes a different path: " "Retrieval-Augmented Generation that answers ONLY from a vetted knowledge " "base and cites its sources - so advice is explainable and auditable. Add " "live weather, satellite, prices and verified human doctors, in the " "farmer's language. Explainability is not a feature; it is the foundation. " "[link]"), ("h2", "Enterprise / API"), ("p", "Banks, insurers and agribusinesses: turn farm context into decisions. " "AgroSense exposes APIs for grounded advisory, crop/weather/satellite " "signals and risk inputs - to power credit scoring, crop-insurance and " "input recommendations. Explainable, multilingual, and built on open data. " "Book a demo: [link]"), ("h2", "FPO partnership"), ("p", "FPOs and cooperatives: give every member cited, local, multilingual " "advice - plus weather, plant diagnosis, live mandi prices and verified " "doctors - in one app. Improve member productivity and engagement. Let us " "onboard your members: [link]"), ("h2", "Investor teaser"), ("p", "Agriculture sustains nearly half of India's workforce yet runs on " "fragmented, generic advice. AgroSense delivers explainable, cited, " "multilingual guidance with a multi-sided model (free for farmers; Pro, " "Enterprise, API and data licensing for revenue). Building the trusted " "advisory layer for agriculture. Let us talk: [link]"), ]), ("6. LinkedIn Ads Plan", [ ("h2", "Objectives"), ("ul", ["Brand awareness / thought leadership to cold professional audiences.", "Lead generation via native Lead Gen Forms (pre-filled - high " "conversion).", "Website conversions (demo requests, whitepaper downloads) with the " "Insight Tag.", "ABM: target named enterprise/partner accounts."]), ("h2", "Targeting"), ("ul", ["FPOs/agribusiness: job titles (CEO, Director, Manager) in Farming / " "Agriculture / Agribusiness; company size and geography.", "Input partners: Agrochemical, Seed, Fertilizer, Farm Equipment " "industries; sales/marketing/partnerships functions.", "Enterprise: Banking, Insurance, Government industries; risk/credit/" "product functions.", "Investors: Venture Capital / Private Equity; partners/principals; " "agritech and impact interests.", "Talent: Agronomy/Plant pathology/Entomology titles and skills.", "Use Matched Audiences (company lists for ABM, retargeting, lookalikes)."]), ("h2", "Formats"), ("ul", ["Single image and document Ads (carousel PDF) for thought leadership.", "Video Ads (the demo/explainer).", "Sponsored Content with Lead Gen Forms.", "Conversation / Message Ads for demo booking and partner outreach."]), ("h2", "Budget and method"), ("ul", ["LinkedIn CPCs/CPLs are higher than Meta - focus on quality leads, not " "volume; start with a few high-intent ad sets.", "Lead with value (whitepaper/report) to lower cost per lead; nurture " "leads by email/Conversation Ads.", "Measure cost per qualified lead and pipeline influenced, not just clicks."]), ]), ("7. Sample Ad Copy", [ ("p", "Enterprise/API (Lead Gen): Power decisions with farm context. AgroSense " "APIs deliver explainable advisory, crop/weather/satellite signals and risk " "inputs for credit, insurance and agri-input use-cases. | Headline: " "Explainable agri-intelligence, via API. | CTA: Request demo. | Form: Name, " "Work email, Company, Role, Use-case."), ("p", "FPO partnership: Give every member cited, multilingual farming advice + " "live experts in one app. | Headline: Onboard your FPO on AgroSense. | CTA: " "Learn more."), ("p", "Input partners: Reach segmented, intent-rich farmers with relevant, " "responsible product recommendations. | Headline: Partner with AgroSense. | " "CTA: Contact us."), ("p", "Investors (awareness): The trusted, explainable advisory layer for " "agriculture - multilingual, multi-sided, evidence-based. | Headline: " "Investing in AgriTech? | CTA: Learn more."), ("p", "Talent (Lead Gen): Agronomists, pathologists, entomologists - get verified " "and help farmers across India. | Headline: Become a verified Plant Doctor. " "| CTA: Apply. | Form: Name, Email, Specialization, Registration no."), ]), ("8. Enterprise and API Pitch", [ ("ul", ["Advisory API - grounded, cited recommendations for crop, fertilizer, " "disease and pest management, multilingual.", "Signals API - weather, satellite/NDVI, agroclimate and market data, " "normalized per location.", "Risk and prediction - inputs for credit scoring, crop-insurance and " "yield/risk models.", "White-label / embed - bring AgroSense advisory into a partner app or " "call center.", "Why us: explainable (cited), multilingual, built on open data, with a " "human-expert fallback (verified doctors).", "Commercials: tiered SaaS (free for farmers; Pro and Enterprise), API " "usage pricing, and data licensing - a multi-sided model that keeps " "farmer access free while monetizing B2B value."]), ]), ("9. Investor Narrative", [ ("ul", ["Problem - fragmented, generic, non-local advice; ~80% smallholders; " "yield loss and input misuse.", "Solution - explainable, cited, multilingual RAG advisory + live data + " "verified human doctors.", "Differentiation - trust by design (citations, low hallucination, " "evaluation), offline-capable, patentable retrieval (CARO).", "Model - multi-sided: free farmer tier for adoption and data network " "effects; Pro, Enterprise, API and data-licensing revenue.", "Traction and roadmap - MVP to multilingual to IoT/predictive to national " "scale; align to SDG 2 (Zero Hunger) and Digital Agriculture Mission.", "Ask - use the deck/report to open conversations; CTA 'Let us talk'."]), ]), ("10. Events and Webinars", [ ("ul", ["Host a LinkedIn Live / webinar: 'Explainable AI for agriculture' or an " "enterprise/API deep-dive; create a LinkedIn Event for RSVPs.", "Run partner roundtables with FPOs and input companies; repurpose " "recordings into document carousels and clips."]), ]), ("11. Measurement", [ ("ul", ["Page analytics: followers, impressions, engagement rate, post reach by " "audience.", "Demand gen: Lead Gen Form leads, cost per qualified lead, demo requests, " "whitepaper downloads.", "Pipeline: meetings booked, opportunities and pipeline influenced; " "investor and partner conversations.", "Iterate weekly; double down on the formats and topics that drive " "qualified leads."]), ]), ("12. Compliance and Style", [ ("p", "Be evidence-led and avoid overclaiming or guaranteeing returns. Keep " "investor materials consistent with the project report. Follow LinkedIn ad " "policies and collect consent on lead forms. Keep the 'decision support, " "not a substitute for an expert' framing where relevant."), ]), ] def main() -> int: build_both(TITLE, SUBTITLE, SECTIONS, DOCS_DIR, "AgroSense_LinkedIn_Campaign") return 0 if __name__ == "__main__": raise SystemExit(main())