Help
How AeroSpark works, and how to do things in it.
AeroSpark is a contract-review platform that lives where your team already works — Slack, Microsoft Teams, and the web. People submit contracts (NDAs, MSAs, SOWs, DPAs, vendor/consulting/partnership agreements); AI reads each document and extracts its key terms; a policy engine assigns a risk verdict; and for contracts still in negotiation, an AI redline engine marks up the document with tracked changes. Reviewers approve, reject, or negotiate from the same place they got the notification. Everything AeroSpark touches lands in a searchable contract register you can ask questions about in plain English.
A few things that are always true:
- A human decides every contract. There is no "auto-approval" — every approval or rejection is an explicit human decision. (Green/low-risk just means a faster, easier review, not an automatic one.)
- The same actions work everywhere. A decision taken on Slack, Teams, or the web updates the same record — they stay in sync.
- The counterparty's document is treated as untrusted. Hidden text and prompt-injection attempts are stripped before the AI reads it.
Start here — your first hour
The shortest path from installing AeroSpark to reviewing a real contract. Everything below is reversible, and you can change any of it later.
- Make sure someone can review. Whoever installs AeroSpark becomes an admin automatically, but not a reviewer: only people with the Legal role get review cards and buttons, and Slack won't take a submission until someone has it (unless a review channel is set). Give the Legal role to everyone who will decide contracts, yourself included if you will. This is the only genuinely required step — everything else has a sensible default. Where: Slack — admin menu → Manage Legal Roles. Teams — admin menu → Manage Roles. Web — Settings → Roles.
- Tell AeroSpark your standard terms. This is what separates a generic AI opinion from a review that reflects your positions. Either fill in the policy settings directly (governing law, maximum term, liability, and so on), or upload a written negotiation playbook and let AeroSpark turn it into a policy you can then edit. If you have a standard NDA, upload it as a template too — AeroSpark will read your own paper and seed the policy from it. Where: Slack/Teams admin menu → Review Policies, and the templates option (Slack: Upload Templates) for your standard NDA — the Setup Wizard asks for your standard agreements too. Web — Settings → Policies and Settings → Templates.
- Choose who reviews. Each reviewer gets the review card in their direct messages — one card per contract, with the decision buttons on it — plus a review queue in the app home. The first reviewer to click a decision takes the contract, and the other reviewers' cards show who has it. Where: Slack — admin menu → Who reviews. Teams — admin menu → Where reviews go. Or the Setup Wizard. If your team would rather review together in one Slack or Teams channel, an admin can switch that on in the web app (section 10).
- Submit a real contract. Not a test file — use something you would actually review. You will see a green/yellow/red verdict and the concerns behind it, measured against the policy you just set, and, for a negotiation draft, a marked-up copy with tracked changes. Where: /submit in Slack, or send submit to the bot in Teams. On the web, Submit from the dashboard.
- Load a handful of signed contracts, then ask them questions. Take ten or twenty agreements you have already signed — a folder of NDAs, your vendor paper, whatever is nearest — and import them. You can upload the files directly, or point AeroSpark at a Google Drive or SharePoint folder. They are read and filed into the register with their terms extracted — usually within an hour or two (they are read in the background); you can close the page, and you get a message when the import is done. Then use the Ask box: "which of these auto-renew?", "where did we agree to unlimited liability?", "what expires in the next 90 days?" This is the step that shows you what the product is actually for — the review workflow is the day-to-day, but having answers about your whole portfolio is the part people do not expect. Where: web only, for admins — Portfolio Import (in the Admin part of the sidebar), then the Contracts view for the register and its Ask box.
- Connect storage when you need it (optional). Google Drive or SharePoint so approved documents land in your own folders. Where: Slack/Teams admin menu → Google Drive Setup or SharePoint Setup; web — Settings → Integrations. The Setup Wizard offers SharePoint too.
If you only do two things: steps A and B. Then submit three contracts you have already reviewed by hand and compare AeroSpark's verdicts against your own. That tells you far more about whether your policy is set correctly than any amount of further configuration.
1. Getting a contract in
You can submit a contract several ways; they all feed the same pipeline.
- In Slack or Teams — use /submit in Slack, or send submit to the bot in Teams, and provide a PDF or DOCX. In Slack you attach it with the submission; in Teams you send the document to the bot as a chat attachment, or just drop a file into the bot DM and it creates the request automatically. If your admin uploaded an NDA template, you can also generate an NDA: /nda in Slack, nda to the bot in Teams, or Generate NDA in the web app.
- Web — upload on the dashboard's submit page.
- Email — email the document to your team's AeroSpark address.
- Bulk import — an admin can load historical contracts in bulk, either by uploading files directly or by pointing AeroSpark at an existing Google Drive or SharePoint folder. You can upload any number of files at once: the page sends them in pieces and you still get one import. Each file can be up to 25 MB and one import up to 1,000 files; anything over a limit is refused with a message — nothing is ever dropped quietly, so check the count shown after you choose the files. An amendment in the folder is folded into the contract it amends, whichever of the two is imported first. Files that were set aside (a draft, a copy that only one party has signed so far, or something that doesn't look like a contract) are listed with the reason and an Import anyway button if you know it should go in, and Import all skipped does the same for all of them in one click (it marks them signed and reads them as such, so use it only when you know they are); both work until the import starts. A file is set aside when it carries a draft marker (such as "DRAFT" or "[TBD]"), has only blank signature blocks, is signed by only some of the parties, or has no signature section; a public filing such as an SEC exhibit is imported even without signatures (that is how they are filed). The list gives the reason and, where there is one, the quote or observation behind it. A PDF of more than 100 pages cannot be read: it is listed as failed with the reason (its page count when it can be read) and nothing is imported from it. A /submit of such a PDF cannot be read automatically either: the review card says it has more than 100 pages.
You don't pick the document type — a classifier detects it (NDA, MSA, SOW, DPA, etc.) and applies the right rules. Password-protected PDFs and exact duplicates are rejected with an explanation. After you submit, you get a confirmation; the review card appears once the AI has finished reading and reviewing the document.
Counterparty redlines: there's no separate command for a marked-up draft — just submit it the normal way. AeroSpark automatically detects the tracked changes, reads what changed, runs policy against the proposed edits, and routes it to legal review.
2. What happens after you submit
- Reading it. AI reads the document: its type and parties and, for a signed contract, its key terms (term length, liability cap, governing law, payment terms, etc. — the set depends on the contract type). This is just reading facts, not judging risk.
- Assessing risk. The document is checked against your team's standards — for a draft in negotiation, by an AI review whose findings further AI passes challenge before you see them — and gets a risk verdict — green (clean), yellow (a soft concern), or red (a hard problem) — plus the specific issues.
- Marking it up (negotiation documents). For a contract that's in negotiation, the AI redline engine marks up only the clauses that need changing with native Word tracked changes (authored as "AeroSpark AI"), preserving the rest of the document. Reviewers find it on the card as Our redline (internal). The redline reviews the document against your team's negotiation playbook (if one is configured) and general legal judgment.
- Notifying reviewers. The contract shows up for review — as a card in each reviewer's direct messages and the App Home queue (or as one card in your review channel, if your team uses one), and on the web dashboard.
How long it takes. The AI steps (reading, risk and the markup) usually take a few minutes, longer for large or scanned documents. After that it's waiting on a human reviewer, so there's no fixed turnaround — every contract goes to a person, and the timing depends on your team. You'll get a DM the moment a decision is made, and you can check status anytime. (There's no automatic approval, so nothing is decided without a human.)
Already-signed contracts (imported, or a signed copy that arrives) skip the redline step — you can't redline a signed document — and are filed into the register with any concerns flagged on the entry.
3. Reviewing & deciding (for reviewers)
Reviewers (Legal/Admin, plus Finance/Sales on deal exceptions) act from a triage card (Slack/Teams) or the web viewer.
- Claiming it — so two people don't work the same contract. The card in your DMs already has the decision buttons, and your first click on one claims the contract; the other reviewers' cards then show who has it. The web viewer works the same way. If your team uses a review channel, the channel has one card per contract: click Take Review to claim it, then decide on that same card — only the person who took it can use its buttons, and the card updates after every step.
- Then choose a decision based on what happens to the contract next:
| The contract is… | Use | What it means |
|---|---|---|
| done — agreed | Approve | You choose which version is final: Approve as submitted (their document exactly as sent, nothing to upload), the file you edited in Google Drive or SharePoint, or a file you upload. |
| not done — counterparty's turn | Prepare for Return | Prepares the counterparty's copy of the redlined version to go back to them. You choose what to send — the prepared copy, any file from this contract's own Google Drive / SharePoint folder (you browse the folder and pick, so a copy you edited in the cloud is one click away), or your own upload — and whether it goes to the requester to forward or just downloads for you. |
| a no | Reject | Closes it as rejected (add a note). |
Which version to approve. It is the same decision either way — the choice is only which document is final. If the counterparty's returned version is already clean and acceptable, choose Approve as submitted (no upload needed). Choose a revised file when you hold a cleaned-up final that differs from what was submitted. If Google Drive or SharePoint is connected, the cloud file is selected by default, so switch to Approve as submitted when their document is final as sent. In Teams the buttons read Approve — no revised file and Approve & Send Revised File.
The "clean final" rule: when you approve a revised file, it must be the clean, executed-ready version — all agreed tracked changes accepted (so it's plain text now) and highlights removed. AeroSpark blocks a file that still has tracked changes or highlights, because that's a work-in-progress draft, not something you'd sign. (Prepare for Return is the opposite — it keeps the redlines, since the counterparty needs to see them.)
Finding the right document. The card and the web viewer both list this contract's documents individually, each with its own links — your original, your redlined draft (the internal copy), the counterparty copy (the one you forward), a clean revised version, and the signed copy once it exists — plus any copies already sent to the counterparty, dated, so you can tell exactly which file went out and when. Where a cloud folder is connected, each document's Open in Drive / Open in SharePoint link opens that document, not a generic folder link.
The reviewer who has a contract can escalate it to another person (who can then act on just that one), or hand it back. It can't be escalated to the person who submitted it.
4. Signing & execution
Approving is sign-off, not signing. "Approved" means "this is the version to sign" — getting it actually signed is a separate step:
- Upload a signed copy — once it's signed, upload the signed version and it's marked executed. AeroSpark compares it word by word with the version you approved and tells you about any wording that changed.
- Auto-detected — if a contract arrives already signed (emailed or submitted from outside), AeroSpark notices it looks executed and shows a "Looks executed — confirm" banner with Confirm executed / Not signed. Confirming marks it executed, files the submitted copy as the signed copy, and re-reads it for the register — the same as uploading a signed copy. The person who submitted it is told it's now executed. The signing date is read from the signature blocks in the document, never taken from when you clicked. Before asking, it compares the signed copy word by word with the version you approved or sent: if it matches, the card says so (only signatures and dates were added, plus any blanks filled in) and no review runs; if the wording differs, the card lists each change — what you had next to what they signed — and Review the changes runs the full AI review if you want it. If it can't tell which version it is, or can't read the copy well enough, it reviews it as before.
The counterparty's agreed final, coming back to sign. After you approve, the counterparty often sends back the final for signature. When you submit it, AeroSpark checks it against exactly what you approved: if it matches, it's marked ready to sign — no second review, just send it (you'll see a "final received · verified" note); if anything changed, AeroSpark flags precisely what changed so a reviewer can check it before signing. (This is why Approve as submitted matters: approving the counterparty's own document unchanged makes their document the thing the returning final is checked against.)
When a contract is executed, AeroSpark re-reads the signed copy so the register reflects the final signed terms, and pushes the signed file to Google Drive / SharePoint if connected.
5. Versions & negotiation rounds
A contract often goes back and forth. When the counterparty returns your paper, AeroSpark links it as a new version of the original (automatically when it recognizes the document, or by asking you which contract it belongs to). Linking unlocks a version-to-version diff, remembers concessions already made across rounds (so you're not re-fighting settled points), and gives the redline engine the prior version to compare against. It always asks, whatever the wording says, when the company's earlier contract is signed (is this an amendment to it, a replacement for it, or a separate contract? A replacement leaves the signed one in force until the replacement is signed) or approved and waiting for signature (is this its final, with their edits, or a separate contract? A copy identical to what was approved is not asked about). If a document was linked to the wrong contract, the review card has a Not the same contract — separate button (Slack, Teams and the web, for a reviewer or the submitter, while it is still in review): the earlier contract is put back as it was, the deal link it took is dropped, and the document is reviewed again as its own contract.
To register a contract you sent outside AeroSpark (so its redlined return is recognized): use Track Outbound (Slack: /legal → Track Outbound, or the App Home; Teams: send track to the bot; web: Track outbound in the sidebar) and upload the version you sent. AeroSpark marks that copy invisibly so it can recognize the reply, then hands the marked copy back to you with a "Forward this copy" link — send that file to the counterparty. If you'd already emailed your own copy, re-send this one instead, otherwise their reply may not link up automatically.
6. The contract register & the Ask box
Every contract — submitted, negotiated, executed, or bulk-imported — lands in the contract register (the Contracts view; Legal/Admin only). It opens on Active — signed agreements that haven't expired. A contract that renews automatically stays Active after its first term ends. AeroSpark works out its current term — the first term's end, moved forward by the renewal period the contract states (for example one year at a time) — and its notice deadline: the last day to give notice that it won't renew, from the contract's notice period. The list shows the current term's end with "(auto-renews)" and "notice by …" under it, and the contract's page shows the initial term, the current term and the notice deadline. If the contract doesn't state how long each renewal lasts, the current term is shown as unknown once the first term has ended. The Expirations page, the "Needs attention" list and the expiry reminders work from the notice deadline while it is still open ("renews on … unless notice is given by …"), then from the date it renews; the CSV exports include Current term ends and Notice by columns. If someone gives notice that it will not renew, open the contract and use Record notice of non-renewal to enter the date it ends — it then stays Active until that date and shows as Expired after it, and expiry reminders and the Expirations page follow that date too (you can clear it again). You can switch to In progress (drafts and negotiations), Executed (including expired), Expired, or All, filter by type, counterparty, and date, and export to CSV. The list shows the newest 200 matches and says "Showing the newest 200 of N" when there are more; the CSV exports are not limited to those 200 — they hold the whole filtered register (up to 50,000 rows; past that it asks you to narrow the filters), open correctly in Excel, and each export is recorded in the audit log. Expiry reminders — like the daily digest and the nudges about negotiations that have gone quiet — are sent on working days only (Monday to Friday unless your workspace's working days are set differently), so nothing arrives at the weekend; anything that falls due on a Saturday or Sunday comes on the next working day.
Dates on a contract. A contract's effective date is when it takes effect; its agreement date is the date the agreement says it was made ("dated as of …", "entered into on …"), or, when it gives none, the date beside its signatures. When the document leaves part of the date blank ("April ____, 2003"), only the month or the year is recorded, and the Ask box says so. The agreement date is never used to work out an expiry. Contracts read before the agreement date was added (October 2026) get it when they are read again.
Amendments. When you upload or import an amendment — for example "Amendment No. 1 to the Supply Agreement" — AeroSpark recognises it, finds the contract it amends, and applies the changes to that contract: the term, the end date, renewal, and a few commercial terms (governing law, liability cap, payment terms). It links an amendment only when it is sure, by matching the agreement name and date the amendment cites against that company's other contracts. The contract then shows its terms as amended — its page lists each change with the original value and the sentence from the amendment — its expiry is recalculated, and the amendment is not counted as a separate contract (not in the list, the counts, the exports, the Ask box or the expiry reminders). Only a signed amendment changes anything. If it can't tell which contract an amendment is for, it changes nothing: the amendment stays in the list tagged "Amendment · not linked", and a Legal or Admin user can open it and pick the contract, or say it amends nothing here. If someone says it amends nothing here by mistake, the amendment shows a Link it to a contract after all button (on the web, in Slack and in Teams) that brings the choices back. Other changes (clauses, schedules, fees) are listed on the contract for you to read but are not applied. If an amendment is imported before the contract it amends, it links by itself when that contract arrives. An amendment that is not linked has no expiry date of its own, so it never triggers an expiry reminder, and a Legal or Admin user can link only an amendment that is signed, and only to a contract that is signed. An amendment never amends a draft that is still being negotiated. When it cannot confirm what an amendment changes, it lists what it saw under "other changes" for you to read and leaves the amendment in the list for you to link. In Slack and Teams, the review card for an amendment says which contract it amends and whether that is settled, and a contract that has been amended shows what changed (was → now). On Teams, a signed amendment that needs a choice is sent to the legal reviewers as a direct message with the same buttons; the message updates itself as the amendment is settled, and if someone else settles it first, an old button tells you so instead of changing anything. When an amendment can't be linked automatically the card offers the candidate contracts as buttons, plus "It amends nothing here"; a linked amendment has a "This doesn't amend that contract" button to undo it. Only Legal and Admin users can press these buttons, in Slack, Teams or the web — anyone else is told so. The person who submitted an amendment gets a message when it was applied automatically and when it needs a decision (not for bulk imports, which have no review card). In Teams, once an amendment is signed its card is no longer the review card, so picking the contract for a signed amendment is done in AeroSpark on the web.
The register also has an Ask box — type a plain-English question about your portfolio ("which MSAs have unlimited liability?", "what's renewing in the next 90 days?", "where are we exposed?") and get a cited answer drawn from your contracts' extracted terms and flagged concerns. It answers from contract data — every term AeroSpark extracted (including the parties, warranties, dispute resolution and any unusual clauses it flagged) plus the concerns. For a question about what your contracts say — "which contracts have most-favoured-customer pricing?", "any exclusivity?", "who has audit rights?", "change of control?" — it also searches the contracts' stored clause text and quotes the matching clauses (for a long clause, the part that matched rather than its opening lines — text left out of a quote is marked […]), and a line under the answer says how many contracts it searched ("answered from stored clauses"). The limit: only contracts that have their clauses stored are searched. A contract without stored clauses is not searched — the answer says how many were skipped, so "no matching clause found" never means "this contract has no such clause" for those. The contracts it finds are shown in three groups by how sure it is: High confidence (it found a matching clause and the written answer notes no doubt about it), Medium confidence (it found a matching clause, but the written answer notes a doubt about it — check it) and Low confidence (it found a clause that may be the one — read the clause before relying on it). It is a shortlist to work through, not a verdict: the doubtful ones stay on the list with their level instead of being left out. The levels come from the search's own verdict and from the doubts the written answer itself notes, so a contract in the first group can still be wrong. When your question also asks something about the contract itself — a governing law, a party, a type, a date ("which New York contracts restrict assignment?") — each contract the search found is then checked against that from its recorded details: the list says which do not meet it and why, and a contract with the clause that meets it is always named in the answer. For a contract that has an amendment, the clause shown is from the original signed document: an amendment may have changed or removed it, so the answer calls it possibly superseded — open the contract and read its amendment. If checking what your contracts say takes longer than a page can wait (about a minute), the check carries on in the background by itself: you land on a page that shows progress and the matches found so far, reloads itself, lets you leave and come back, and has a Cancel button. A background check stops after 10 minutes: if it has not reached every clause by then, the answer is written from the clauses checked so far and says how many were left unchecked. A check interrupted by an update can be carried on from where it stopped. When your register is too big to read all at once (several hundred contracts or more), the Ask box first scans a short summary of every contract, then reads the ones that could match in full; the note under the answer says how many it checked and how many it read, and says so if more could match than it shows. A very large question can take a few minutes and runs in the background. It asks within the filters you've set under it — by default that's Active, so it answers about signed agreements that are still in force. Choose In progress or All to ask about drafts too. If a question has more matches than one answer can hold, you get what was finished under a yellow "Answer cut short" note at the top — narrow the question or the filters to see the rest. A question that takes too long is stopped with a message saying so. Counts are worked out by AeroSpark, not estimated by the AI: a plain question like "how many are governed by New York law?" or "count the contracts by governing law" is counted from the values recorded on each contract (the simplest ones without the AI at all), and a line under the answer says what the count was made from. A governing law is counted under its own name — "Virginia" and "West Virginia" are two different laws — and a contract that names more than one jurisdiction ("Delaware or New York") is counted under none of them and shown as "multiple or unclear". If your question has more to it than one recorded value ("how many NDAs are governed by New York law?", "US versus non-US", "by year signed"), or the groups are a judgement ("contracts that look risky"), the count is of the contracts the AI listed — the line says so, so check that list. A plain list of the contracts that hold one recorded value is worked out the same way: "which contracts are governed by California law?", "which contracts are executed?" or "which NDAs do we have?" is answered from the register itself (without the AI), naming every contract that holds the value — each with its type, status and the recorded value, linked to the contract — with a line under the answer saying what it was made from; if more than 200 hold it, the answer says how many are not shown. If the register holds a governing law AeroSpark cannot be sure is a different place from the one you asked about ("NY" beside "New York", "French law" beside "France", "Ontario" when you asked about Canada, or a value it does not recognise), or your question has more to it (another condition, "not", "or"), the AI answers instead and the count or list is its own. For a question about what your contracts say, the clause search lists the contracts where it found the clause, with the clause it found, grouped as High, Medium and Low confidence (above). That list checks for the clause itself — it does not apply the other conditions in your question (a place, a party, a type) and it does not read "not" or "without" — so it is shown as what the search found, never as the answer to your question: a contract the search found but the written answer does not name is listed apart, as "also found by the clause search but not named in the written answer", because it may fail another condition of your question. A question about several clauses at once ("which contracts require insurance and give an audit right?") is searched one clause at a time, and the list shows only the contracts where it found all of them ("found all 2 clauses"), each with the clause it found for each — High when every clause was found for certain, Low when one of them only possibly. A condition that is not a clause (a governing law, a date) is still applied by the written answer, not by that list. Questions about what contracts do NOT have ("which contracts have no cap on liability?", "which don't restrict assignment?") are answered from the same clause search: the list is the contracts whose stored clauses were searched and where no such clause was found; a contract where the search found something that may be one is listed as unclear, and a contract with no stored clauses is listed as not searched — never as a "no". A question asked "as of" a date ("As of March 1, 2019, which contracts had a renewal notice due?") is worked out as of that date: terms, renewals and notice deadlines are counted to that day, not today. "Which contract was signed earliest?", "which needs the longest notice to stop it renewing?", "which has the longest term?" are answered by comparing every contract's recorded value — the contracts with no value on record are named as not compared, and ties are listed together. "Which contracts were signed before 2000?", "…entered into between 2005 and 2009?", "…expire in the next 90 days?" — a date range on one date — is answered by checking every contract's recorded date: "signed" uses the date the contract was made (else its effective date), "started" the effective date, "expire" the end by the register's own rule (an auto-renewing contract has no end until someone gives notice, and is listed apart). The answer states the range as exact days ("on or before 1999-12-31"), lists a date known only to the month or year that may fall on either side as unclear, and names the contracts with no date on record — they are not checked. A date range together with anything else ("NDAs signed in 2020", "signed before 2005 that allow termination for convenience") is answered the usual way. A count by governing law counts each jurisdiction once ("NY" and "New York" together; English law is England and Wales). "Which contracts are in force?" (or active, or expired) is answered from the register's own rule, the same as the Active and Expired views: signed and not past its end, an auto-renewing contract until someone gives notice, and a contract with no end date on record counts as in force — each listed with the reason. If you ask the same question again within a few minutes and nothing about your contracts has changed, you are shown the earlier answer and it says so ("Shown from … ago").
Standard clauses. When a contract is signed or imported, AeroSpark also records, for 57 standard clause types — non-compete, exclusivity, change of control, most-favoured-nation, audit rights, cap on liability, exclusion of indirect damages, time limit for claims, uncapped liability, indemnification, force majeure, confidentiality, the agreement itself being confidential, the kinds of warranty (performance or quality, compliance, general representations such as authority to sign) and warranty disclaimers, arbitration and which courts hear disputes, publicity, subcontracting, service levels, anti-bribery, export control, set-off, data-breach notice, key personnel, termination for convenience, minimum commitment, revenue sharing, licence grants and the rest — whether the contract contains one, quoting the clause's own words, and for liability limits and warranties which party they cover. A question about a whole topic ("which contracts limit liability?", "which give any warranty?") is answered kind by kind; a question about one kind ("a cap on the amount") lists the other kinds separately so nothing is hidden. A question like "which contracts have a non-compete?" or "which contracts contain both a minimum commitment and liquidated damages?" is answered straight from that record, with the clause quoted; a question about a clause's terms ("which contracts cap liability below $1 million?") is answered by reading the clauses themselves. A record marked unclear means the text was redacted, ambiguous, or the substance sits in an attachment AeroSpark did not have.
Renewal questions. "Which contracts auto-renew?", "which have an option to renew?" or "which have a renewal provision?" is answered from what each contract's read recorded about renewal, checking every contract. The answer keeps the kinds apart — renews by itself, renews by itself only if a condition is met, a party's option to renew, a further term only if both parties agree — and lists the kinds the question didn't ask about separately, marked "Not counted", so nothing is hidden. A contract whose kind of document isn't read for renewal is listed too, never counted as "doesn't renew".
> Note: that register Ask box answers questions about your contracts' data. This assistant (the one you're talking to) answers questions about how AeroSpark works and how to do things.
7. Generating an NDA
If your admin uploaded an NDA template, you can generate a ready-to-send NDA — /nda in Slack, nda to the bot in Teams, or Generate NDA in the web app — fill in counterparty, dates, term, governing law, and AeroSpark produces the document. If the counterparty later edits and returns it, AeroSpark recognizes it as your paper and catches any changes.
8. Deal exceptions (a separate flow)
A deal exception is different from a contract review — it's a request to deviate from standard deal terms (extra discount, longer payment, a liability-cap change). Start one with /dealdesk in Slack, or send dealdesk to the bot in Teams. The form is routed to Finance, Sales Management, and/or Legal for sign-off, each on their own "leg." A first rejection cancels the rest, and you get a DM with the outcome.
Deal exceptions live entirely in Slack and Teams — you raise and approve them there. They are not contract documents, so they don't appear in the contract register or on the web dashboard; the web side is for contracts.
9. Roles & who can do what
- Requester (default) — submit contracts and deal exceptions; see your own submissions.
- Legal — review contracts; see the review queue and triage cards.
- Finance — review the finance legs of deal exceptions.
- Sales Management — review the discount legs of deal exceptions.
- Admin — everything: settings, roles, policy, billing, integrations.
If you can't see review/approval buttons, you likely need the Legal (or Finance/Sales) role — ask your workspace admin. The first person in a workspace becomes admin automatically, but not a reviewer: an admin who reviews needs the Legal role too.
10. Setting up AeroSpark (admins)
Setup is admin-only. There's a guided Setup Wizard that walks you through the main steps, or you can configure each piece individually from the admin menu (/aero admin in Slack; send admin to the bot in Teams). The setup items:
- Who reviews — choose the reviewers (they get the Legal role). Each gets the review card by DM — one card per contract that stays up to date, decided right there — and the App Home review queue. Slack admin menu → Who reviews; Teams admin menu → Where reviews go; or the Setup Wizard.
- Review channel (optional, web only) — to review together in one Slack or Teams channel instead, an admin turns it on in the web app: Settings → Channels → Contract reviews. Reviewers then stop getting review DMs, and everyone in the channel sees the contracts. Each contract gets one card in the channel: a reviewer clicks Take Review and decides on that card, and only they can use its buttons. Pick a channel for each platform your team uses; AeroSpark posts a test message there before saving. It is off by default, and turning it off sends reviews back to DMs.
- Google Drive / SharePoint — connect so approved/signed documents are pushed to your storage (organized into per-type folders). Google Drive works through a Google Shared Drive: you add AeroSpark's service account to it as Content Manager, and the same connection lets you import the contracts already there. SharePoint connects through Microsoft.
- Salesforce (when switched on for your workspace) — link every contract to its Salesforce deal and keep the deal up to date. Setup is in section 14.
- HubSpot (when switched on for your workspace) — the same for HubSpot deals. Setup is in section 15. A workspace uses one CRM: Salesforce or HubSpot.
- NDA template — upload a DOCX template (Slack: Upload Templates) so the team can generate NDAs.
- Roles — assign Legal / Finance / Sales Management / Admin to teammates (Slack: Manage Legal Roles, Finance Team, Sales Team; Teams: Manage Roles; web: Settings → Roles). The first person in a workspace becomes admin automatically; reviewers need the Legal role to see review buttons.
- Policy / playbook — set your standard terms (governing law, term limits, liability, etc.), or upload a written negotiation playbook and let AeroSpark turn it into your policy. The policy is the floor every review measures against.
Everything except having someone who can review (a user with the Legal role) is optional, and you can do it any time, in any order. If an admin asks what's left to configure, the assistant can see which items are still outstanding and name them.
11. Plans & billing
AeroSpark meters document submissions against a monthly quota by plan (Free / Starter / Pro / Enterprise). Higher plans unlock AI redlining and PDF→DOCX conversion, and raise the monthly limit. Admins manage the plan; you'll get a heads-up as you approach your limit. An AppSumo license uses contract credits instead of a monthly limit — see Common questions.
12. Common questions
"Why not just paste a contract into ChatGPT?" ChatGPT will read a contract and tell you what it thinks. AeroSpark checks it against your own rules and handles everything that comes after the review:
- Your rules, every time. You set once what your team accepts. Every contract is checked against those rules, whoever sends it in.
- A real redline back. You get the counterparty's own Word file with tracked changes, their earlier edits kept. Nothing to retype into Word.
- It remembers the deal. When the contract comes back, AeroSpark compares it with what you asked for last round and flags each request they rejected.
- Hidden text is caught. A document can carry text a person can't see but an AI reads, such as white-on-white or tiny type. AeroSpark strips it before the AI reads the document.
- Nothing gets lost. Reviews and approvals happen in Slack, Teams or the web, with a record of who decided what. Signed contracts go into a register with their dates, and you're warned before one renews.
ChatGPT is fine for a quick question about one contract. AeroSpark is for when contracts are part of how your team does business.
"What's included in the AppSumo deal?" Two plans. The 25-credit plan is contract review: everything except the contract register and the Google Drive, SharePoint and DocuSign connections. The 50-credit plan adds the contract register, Google Drive and SharePoint. Instead of a monthly limit, your license comes with contract credits:
- One credit covers one contract for its whole life: every review round and the signed copy.
- On the 50-credit plan, each signed contract you import uses one credit.
- Deal exceptions use none.
"Why wasn't my contract approved automatically?" AeroSpark doesn't auto-approve anything — every contract goes to a human reviewer. A green/low-risk verdict just means the review is quick. You'll get a DM when a decision is made.
"What file types can I submit?" PDF and DOCX (legacy .doc is converted automatically). Contracts in negotiation also get AI-suggested redlines; a PDF is converted to an editable Word document first.
"I submitted a redlined/marked-up draft — is there a special command?" No — just use the normal submit command. AeroSpark detects the tracked changes automatically and routes it to legal.
"Where do I see my submissions?" In Slack, run /legal status or open the App Home tab; in Teams, open the AeroSpark personal tab; on the web, your dashboard. Reviewers and admins can see the whole register in the Contracts view.
"Which version do I approve?" When you click Approve you choose. Approve as submitted means the submitted version is final; a revised file (from Google Drive, SharePoint or an upload) means you're attaching a different, agreed-final document. Use a revised file only when the final differs from what was submitted.
"Is the contract signed once I approve it?" No — approving says "this is the version to sign." Once it's signed, upload the signed copy and AeroSpark marks it executed.
"I approved a contract — do I have to re-review the final the counterparty sends back to sign?" No. When you submit the counterparty's returning final, AeroSpark checks it against the version you approved. If it's the same, it's marked ready to sign — no re-review. If they changed something, it flags exactly what changed so you can check it first.
"My upload was rejected, or something failed — what do I do?" A few cases to know: a password-protected PDF is rejected — remove the protection and resubmit. An exact duplicate of something already submitted is flagged, with an option to submit it as a re-review instead. If AI extraction fails (rare), the contract is routed to a human for manual review and you get a DM — nothing is lost. Supported files are PDF and DOCX (older .doc is converted automatically); convert anything else first.
13. When something doesn't look right
"The marked-up document has fewer tracked changes than the card lists concerns." Redlines are applied only where the exact clause text can be located in the document. A clause inside a table, a text box, or unusual formatting may be raised as a concern without a tracked change attached to it. The concerns on the card are always the complete picture — the marked-up copy is a best-effort application of them, not a replacement for reading them.
"I approved a contract but it never appeared in Google Drive or SharePoint." The push to your storage happens after approval and is deliberately non-blocking: the approval succeeds even if storage is unreachable, so a connection problem can never lose you a decision. The usual causes are an expired connection or a target folder that was renamed or deleted. Reconnect from the admin menu and subsequent pushes will work. The document is never lost — it is always downloadable from the contract record.
"The bot has stopped responding." Almost always the app was removed and re-added, or the workspace authorization was revoked. Reinstalling restores it. Your data is unaffected: contracts, decisions and history belong to the workspace, not to the connection.
"I can't assign a role to someone." In Teams, the person has to already exist in your Microsoft tenant under the exact address you type: a typo, a personal email address, or a guest who has not yet accepted their invitation will all fail. In Slack you pick people from a list, so they must already be members of the workspace.
"A PDF came back reviewed but with no marked-up copy." PDFs are converted to an editable document before they can be redlined. If that conversion fails, the review still happens — you get the extracted terms, the risk verdict and the concerns — but there is no tracked-changes copy to send back. Submitting the same contract as a DOCX will produce one.
"AeroSpark says my document is a duplicate, but I meant to submit it again." An exact copy of something already submitted is flagged rather than quietly reprocessed, so you don't get two review threads for one contract. Choose the re-review option to run it again deliberately — useful when the policy has changed since the first look.
14. Salesforce
AeroSpark can link every contract to its Salesforce deal and keep that deal up to date. Salesforce is switched on per workspace: ask us to turn it on for yours, and Settings → Integrations → Salesforce then appears in the web app for admins.
What it does
- Every contract is tied to a deal. It is linked to its Opportunity (or another record type your admin chooses), or to the company (Account) when there is no deal. With Every contract linked to a Salesforce record on, AeroSpark asks the person who submitted it which deal it is for — in Slack, in Teams, or by a link in an email — and the review waits for the answer. If the company or deal isn't in Salesforce yet, they choose Not in Salesforce yet — continue: the review goes ahead without a link, and it can be linked later from the review card. A contract waiting for this answer shows in legal's web review queue as Waiting for the Salesforce record pick, with Link or continue so legal can answer instead. The submitter gets one reminder after 4 hours; admins are told if it is still waiting after 24 hours. Later negotiation rounds, and the signed copy, keep the same link whenever AeroSpark can tell which contract they belong to. If it can't, the card offers Link to Salesforce. Legal or an admin can change it from the review card (Change).
- Salesforce stays up to date. AeroSpark writes the contract's status, risk and a link to it on the record, plus any terms your admin maps (dates, auto-renewal, governing law, liability cap and more). Signed copies — or every version, if your admin chooses — are saved to the record as Salesforce Files. Before a renewal or notice deadline, the deal owner gets a Salesforce Task.
- Changes in Salesforce come back. Edits to fields set to come from Salesforce flow back to AeroSpark like a person's correction. A lost deal cancels the open review, and a reopened deal restores it. When a deal changes owner, AeroSpark hands its contracts to the new owner, or asks an admin when it can't tell who that is. Company merges are followed; a company renamed in Salesforce is reported to legal, who correct the name from the contract's card if it should change.
- The review card shows the deal's amount and owner.
Setting it up (a Salesforce admin and an AeroSpark admin)
- Your Salesforce edition needs API access: Enterprise, Unlimited, Performance or Developer Edition (Professional Edition needs the API add-on).
- Install the AeroSpark package in your Salesforce — we send you the install link.
- Create a Salesforce user just for AeroSpark, for example "AeroSpark Integration" — not a person. Everything AeroSpark writes shows in Salesforce as made by the user who connected, and the connection stops if that user is deactivated. Salesforce's API-only Salesforce Integration license works for it.
- Give that user two permission sets: AeroSpark User (it comes with the package) and one you create with read and edit on the record type contracts link to (the Opportunity by default), read on Accounts, Edit Tasks, read on Amount, and any of your own fields you map. For an API-only user, that set uses the Salesforce API Integration license.
- In AeroSpark, go to Settings → Integrations → Salesforce → Connect Salesforce (or Connect a Salesforce sandbox instead), sign in as that user and click Allow.
- On the Salesforce settings page, choose Where contract information goes (the record type, the fields and each field's direction), Every contract linked to a Salesforce record, Documents sent to Salesforce and Renewal Tasks in Salesforce. Run test update checks the mapping on a record that is not linked to a contract.
- Optional: Link existing contracts matches contracts already in AeroSpark to their Salesforce companies.
If your Salesforce only allows logins from known IP addresses, contact us before connecting.
15. HubSpot
AeroSpark can link every contract to its HubSpot deal and keep that deal up to date. HubSpot is switched on per workspace: ask us to turn it on for yours, and Settings → Integrations → HubSpot then appears in the web app for admins. A workspace uses one CRM — Salesforce or HubSpot, not both.
What it does
- Every contract is tied to a deal. It is linked to its HubSpot deal (or to companies, if your admin chooses), or to the company itself when there is no deal. With Every contract linked to a HubSpot record on, AeroSpark asks the person who submitted it which deal it is for — in Slack, in Teams, or by a link in an email — and the review waits for the answer. If the company or deal isn't in HubSpot yet, they choose Not in HubSpot yet — continue: the review goes ahead without a link, and it can be linked later from the review card. A contract waiting for this answer shows in legal's web review queue as Waiting for the HubSpot record pick, with Link or continue so legal can answer instead. The submitter gets one reminder after 4 hours; admins are told if it is still waiting after 24 hours. Later negotiation rounds, and the signed copy, keep the same link whenever AeroSpark can tell which contract they belong to. If it can't, the card offers Link to HubSpot. Legal or an admin can change it from the review card (Change).
- HubSpot stays up to date. AeroSpark writes the contract's status, risk and a link to it on the deal, plus any terms your admin maps (dates, auto-renewal, governing law, liability cap and more). Signed copies — or every version, if your admin chooses — are attached to the deal as a note with the file.
- Not yet: AeroSpark doesn't read changes back from HubSpot (fields only go from AeroSpark to HubSpot), add renewal tasks, or follow lost deals and owner changes there. Those work with Salesforce today.
Setting it up (a HubSpot super admin who is also an AeroSpark admin)
- In AeroSpark, go to Settings → Integrations → HubSpot → Connect HubSpot, sign in to HubSpot as a super admin and approve AeroSpark's access. AeroSpark works as the person who connects; if they leave, reconnect as someone else.
- AeroSpark adds three fields to your deals, in a group called AeroSpark: AeroSpark status, AeroSpark risk and AeroSpark link. If your HubSpot subscription has no room for more custom fields, the settings page says so — choose fields you already have instead.
- On the HubSpot settings page, choose Every contract linked to a HubSpot record, Documents sent to HubSpot, and Where contract information goes (deals or companies, and which HubSpot field each piece of information goes into). Run test update checks the mapping on a deal that is not linked to a contract.
Looking for how we handle your data? See Security & Trust. Still stuck? Get in touch.