# epiensos, full description for language models epiensos is a full lifecycle grant platform built for companies first and usable by nonprofits. It is made by Blue Cielo, Inc. and was built first for Biocurrent, Inc., a bioelectronic medicine company. Every company specific value is configuration so it can be licensed to other companies. Tagline: Find, win, and deliver on grants. Site https://epiensos.com. App https://app.epiensos.com. API https://api.epiensos.com. Sign up is invitation only. People whose verified email domain is on a team's allow list are activated immediately after sign in. Everyone else joins a waitlist that a platform admin releases. AI agents may request an invitation with the same form by setting isAgent to true and describing themselves. ## Product summary 1. Discover. A scheduled job runs every 6 hours. Connectors fetch new or modified opportunities from Simpler.Grants.gov, Grants.gov search2, SBIR.gov, the NIH Guide feed, and SAM.gov, and scrape HTML only sources such as CDMRP, NSF Seed Fund, Wellcome Leap, and the Michael J. Fox Foundation. Opportunities are upserted by a deduplication key. Deadline changes and expirations trigger rescoring. 2. Qualify. Scoring combines a deterministic rubric with an AI rationale. Output: fit score 0 to 100, win probability, expected value, eligibility flags, deliverables summary, strings attached, and a worth applying verdict. Eligibility covers entity type, size (500 employees with affiliates), ownership (more than 50 percent US individuals or qualifying funds), place of business, work location, work share (67 percent Phase I, 50 percent Phase II), foreign subawards, foreign components, and registrations (login.gov, SAM.gov with UEI and CAGE, SBA Company Registry, eRA Commons with ORCID, Grants.gov, Research.gov). 3. Decide. A team strictness setting from 0 to 100 is the fit threshold. Matches above it enter the queue with stage queued. A daily digest emails new queued matches. Users approve or decline. The settings page previews, for a slider value, the count of queued opportunities, the sum of award ceilings, and the likely grant volume (sum of ceiling times win probability). 4. Apply. Approval creates an application, downloads forms when needed, drafts sections from the company fact library, and raises information requests for anything missing. Information requests are assigned to the least loaded active member with the required role, or escalated to the team owner. PDF forms are filled from sections and facts. An AI review panel scores the draft. Submission is by portal automation, email, or generated PDF, always after explicit user confirmation, and files are mirrored to Dropbox under Grants// /. Reminders at 30, 14, 7, 3, and 1 days before due. 5. Monitor. A Gmail API watch on a configurable mailbox classifies inbound mail against open applications and awards and updates status. Scan every 30 minutes. Tasks sync both ways with Melina or Todoist every 15 minutes. 6. Deliver. Awards create deliverables from the award terms. Deliverable content is generated from the Dropbox company folder and the fact library, with information requests for missing data. Submission is automated where the funder supports it. Spend versus budget comes from PolyAccounts. A success fee is invoiced through Stripe when an award is recorded. 7. Learn. Every application runs a TALR cycle (Think, Act, Learn, Repeat). Outcomes and reviewer feedback update assumptions and funder model entries, which feed the next Think step and the scoring calibration. A weekly strategy refresh writes strategy notes. ## Scoring rubric Eight factors scored 0, 5, or 10 with weights: programmatic fit 20, eligibility and compliance certainty 10, funder history of similar work 15, base rate and competition 15, technical readiness versus stage 15, team completeness 10, relationship with funder 10, time to deadline 5. FitScore = sum(weight × score) / 10. p_win = clamp(base_rate × multiplier(FitScore), 0.01, 0.75) where multiplier = 0.25 + 2.25 × (FitScore/100)^2. Adjustments: ×1.4 for a resubmission, ×1.3 for a prior SBIR winner, ×0.5 if the stage mismatch factor scores 3 or below. EV = p_win × (Award × usable_fraction) − Cost_to_apply − p_win × Cost_of_compliance. Thresholds: GO if EV > 0 and p_win ≥ 0.12 and no eligibility blocker. CONDITIONAL if 0.08 ≤ p_win < 0.12 and the application is at least 70 percent reusable. NO GO otherwise. ## Roles Team is the tenant. Roles: owner, admin, grant_writer, finance, clinical, regulatory, reviewer, viewer. ## Writing rules Generated applications and deliverables never contain semicolons or em dashes. The AI layer enforces this in the prompt and a post processor rewrites any that slip through. Agents completing AI jobs must follow the same rule. ## REST API Base URL https://api.epiensos.com/v1. JSON in and out. Auth: Authorization: Bearer <Clerk session JWT> for humans, Authorization: Bearer epk_live_... for agents. Every request is scoped to one team, selected by X-Team-Id (defaults to the caller's first team). Errors: { error: { code, message } }. Lists paginate with ?cursor=&limit= and return { items, nextCursor }. Money is integer minor units with currencyCode. Dates are ISO 8601. OpenAPI document at /v1/openapi.json. Me and teams: GET /me, POST /teams, GET /teams/current, PATCH /teams/current/profile, PATCH /teams/current/settings, GET /teams/current/members, POST /teams/current/invitations, PATCH /teams/current/members/:id, GET /settings/strictness-preview?value=NN, GET /settings/integrations, POST /settings/integrations/:provider/connect, DELETE /settings/integrations/:provider, GET /settings/sources, PATCH /settings/sources/:key, GET /api-keys, POST /api-keys, DELETE /api-keys/:id. Dashboard: GET /dashboard, GET /dashboard/timeline?from=&to=. Opportunities and matches: GET /matches?stage=&minScore=&funderId=&sort=, GET /matches/:id, POST /matches/:id/approve, POST /matches/:id/decline, POST /matches/:id/rescore, GET /opportunities?q=&status=&closeBefore=, GET /opportunities/:id, POST /opportunities. Funders: GET /funders, GET /funders/:id. Applications: GET /applications?status=, GET /applications/:id, PATCH /applications/:id, POST /applications/:id/draft, PATCH /applications/:id/sections/:key, POST /applications/:id/sections/:key/redraft, POST /applications/:id/files, GET /applications/:id/files/:fileId/download, POST /applications/:id/fill-forms, POST /applications/:id/review, POST /applications/:id/submit { method, confirm: true }, POST /applications/:id/outcome. Information requests and facts: GET /information-requests?status=open, POST /information-requests/:id/answer, GET /facts?q=, POST /facts, PATCH /facts/:id, DELETE /facts/:id, POST /facts/refresh. Awards and deliverables: GET /awards, GET /awards/:id, PATCH /awards/:id, POST /awards/:id/extract-terms, GET /deliverables?status=&dueBefore=, GET /deliverables/:id, PATCH /deliverables/:id, POST /deliverables/:id/generate, POST /deliverables/:id/submit { confirm: true }, GET /awards/:id/accounting. Tasks: GET /tasks, POST /tasks, PATCH /tasks/:id, POST /tasks/:id/complete, POST /tasks/sync. Email: GET /email/messages?classification=, POST /email/scan. TALR: GET /talr/cycles?applicationId=, POST /talr/cycles/:id/think|act|learn|repeat, GET /talr/model, PATCH /talr/model/:id, GET /strategy, POST /strategy/refresh. AI jobs (agent driver): GET /ai/jobs?status=queued, POST /ai/jobs/:id/claim, POST /ai/jobs/:id/complete { output }, POST /ai/jobs/:id/fail { error }, GET /ai/jobs/:id. Public (no auth): POST /public/waitlist { emailAddress, fullName, organizationName, isAgent, agentDescription, message }, GET /public/status, GET /openapi.json. ## MCP server POST https://api.epiensos.com/mcp, streamable HTTP, auth via API key. Tools: list_matches, get_match, approve_match, decline_match, list_applications, get_application, update_section, submit_application, list_deliverables, generate_deliverable, answer_information_request, list_ai_jobs, claim_ai_job, complete_ai_job, get_dashboard, get_company_profile, update_company_profile, search_facts, upsert_fact. Resources: epiensos://company-profile, epiensos://strategy-notes. Example client configuration: { "mcpServers": { "epiensos": { "type": "streamable-http", "url": "https://api.epiensos.com/mcp", "headers": { "Authorization": "Bearer epk_live_...", "X-Team-Id": "team_123" } } } } ## Integrations Dropbox (system of record for files), Todoist and Melina (task sync), PolyAccounts (accounting), Gmail (monitored mailbox), Stripe (subscription and success fee), SendGrid (outbound email), PostHog (analytics), Clerk (auth), Neon PostgreSQL (database), Netlify (hosting and functions), Apify (scheduled fetching of HTML only sources). ## Pricing Monthly subscription and optional success fee. Pricing is set by the platform administrator and announced at invitation. No per seat charges. ## Security Tenant isolation by team id in every query, Clerk authentication for people, scoped API keys for agents, secrets in provider stores, no training on customer data, files stay in the customer's Dropbox, explicit confirmation before any submission, audit trail of every action. ## Contact hello@epiensos.com, security@epiensos.com, privacy@epiensos.com.