Audience: Workspace owners and members with contract permissions
Summary: Create a project agreement, review its commercial terms and clauses, then invite the provider and every required client signer through secure, signer-specific signing pages.
Create the agreement
1. Open Contracts from the workspace sidebar and select New contract.
2. Choose Create with Moody, Templates, or Start from blank, then choose an accessible client project. The project is required before you can continue and supplies the client information used by the agreement.
3. Review the provider and client legal names, the primary client signer, any additional authorized client signers, every signer's unique email address, scope, deliverables, dates, fee, payment schedule, revision allowance, cancellation terms, intellectual-property terms, confidentiality, governing law, and dispute venue. Additional client signers sign for the same named client; adding one does not create another contracting party.
4. Open PDF preview to read the rendered draft in a separate browser tab. The preview is not displayed inside the creation panel and does not save, send, or sign the agreement.
5. Save the draft only after every required detail is complete. Templates and Moody output are operational starting points, not legal advice.
Choose a workflow
Create with Moody costs 3 AI credits. After the project is selected, describe the engagement and ask Moody to prepare a structured contract draft. Moody can prepare wording and flag assumptions, but it cannot save, send, sign, accept, or reject an agreement.
Moody flags missing dates, pricing, payment terms, revision limits, jurisdiction, service-specific facts, or other critical details instead of inventing party names, email addresses, legal identities, or unsigned commercial terms. A stopped or failed generation never creates a contract. A failed model response is refunded, and a safe retry reuses its request identity so a repeated click cannot charge twice.
Templates includes ready-made agreements for design, development, marketing, content, consulting, operations, and legal work. Search or filter the catalog, choose the closest fit, and provide the project-specific facts. Ready-made templates provide reusable scope and clause foundations; they do not silently decide the price, deposit, payment period, revision count, dates, governing law, or dispute venue.
The Templates workflow also shows Workspace templates containing wording previously saved by the workspace. They never copy the prior project, effective dates, provider identity, client identity, or signer email addresses. Members can use workspace templates. Owners and admins with contract-management access can save or delete them, and a workspace can keep up to 100.
Start from blank is the manual workflow. Choose the agreement structure and author the scope and terms yourself.
Moody and Templates skip the separate manual Scope and Terms authoring screens because the base agreement is already prepared. Any unresolved project, party, service, date, commercial, or jurisdiction detail appears together in the missing-details review and must be completed before the draft can be saved. Always review every generated or templated field before saving or sending.
Send and sign
1. An authorized member selects Send for signature. Sent agreements are locked so the document presented to each signer does not silently change.
2. Every required client signer receives a separate secure invitation. Opening a link first sends a six-digit code to that signer's exact email address; the agreement and PDF remain hidden until verification succeeds. Never give one signer's link or code to another person.
3. Each code expires after 10 minutes, is single-use, and the newest code requested for that signer invalidates that signer's earlier code and session. A verified access session expires after 15 minutes. During that session, the signer can review the complete locked agreement and download the exact unsigned PDF before deciding whether to sign or decline, without creating a MoodLens account.
4. Each client signer independently types, draws, or uploads a signature image and actively confirms the electronic-signature consent. PNG, JPG, and WebP uploads are cropped, stripped of their background, converted to a black PNG signature, and limited to 5 MB before processing. Only the workspace owner can sign as the service provider, using an authenticated MoodLens account.
5. Signatures may be collected in any order. The agreement becomes Signed only after the service provider and every required client signer have signed. MoodLens then generates one locked PDF containing every signature and its audit certificate, and emails completion access to the provider and every client signer.
Contract sending limits
Free includes 3 new agreements sent for signature per calendar month, Plus includes 20, and Pro and Enterprise include unlimited contract sends subject to fair-use and security rate limits. The Contracts page shows current usage and the monthly reset date.
Drafts, PDF previews, saved templates, and Moody generations do not use a contract send. Moody's 3-credit generation cost is separate from the monthly sending allowance.
One agreement uses one send when its first signer invitation is accepted, regardless of how many required signers it has. Repeated clicks and safe retries do not consume another send. A revised draft remains part of the original send while it keeps the same project and contracting parties; changing either makes it a new agreement for quota purposes.
A completely failed or rejected first delivery releases its reserved send. If any invitation is accepted, or the email provider cannot confirm whether it accepted an invitation, the agreement remains counted so a possible recipient delivery cannot be treated as free.
Reaching the limit blocks only first-time sends of new agreements until the next monthly reset or a plan upgrade. Existing drafts and sent, signed, declined, canceled, or expired records remain accessible; available retry and record-management actions continue to work.
What the client sees
Each signer-specific public link opens an email-verification screen first. Agreement content, party names, pricing, and PDFs remain hidden until the code sent to that link's named signer email is verified.
The client can review every locked term and download the unsigned PDF before deciding. Signing requires an active electronic-signature consent; declining is a separate, equally available action and the reason is optional.
A permanent footer identifies MoodLens as the signing-technology provider, explains that MoodLens is not a party to the agreement, and links directly to the Privacy Policy, Terms of Use, signing help, and support contact. These links open separately and do not send the bearer signing URL as a referrer.
Questions about the agreement's scope, price, parties, or legal terms go to the sender. Questions about verification, access, signing security, or MoodLens privacy go to supports@moodlens-ai.com.
Track status and history
Use All contracts, Draft, Active, Signed, or Declined to filter the workspace list. Active includes sent, viewed, and partially signed agreements.
Use Internal note in the contract panel to keep private team context on a draft, active, declined, canceled, expired, or signed agreement. Members with contract-management access can add, edit, or remove the note. It is workspace-only and is never shown on a client signing page, included in a contract PDF, added to the signature certificate, or mixed into the signing audit history.
In Parties, choose the client's phone country and enter the local number; MoodLens stores one normalized international number. The phone and website remain optional, and a supplied website is safely normalized to HTTP or HTTPS. Provider and client legal-address fields offer optional Google suggestions after three typed characters, but manual entry always works if you prefer it or suggestions are unavailable. Confirm the selected address before saving. Supplied contact details appear in the agreement preview, locked PDF, contract panel, and client signing page.
The contract panel shows every required signer's status and a chronological audit timeline for creation, updates, delivery, opening, signing, downloads, cancellation, failure, or decline. When each client signer first opens the agreement after email verification, that signer's opening event shows an approximate city, region code, and country derived from Google's network headers, or Location unavailable. MoodLens does not put the raw IP address in the contract record or show it in the audit.
Network location is only an estimate. A VPN, mobile carrier, corporate network, or unusual routing can place the connection in another city, region, or country, so never treat the audit location as proof of identity, authority, residence, or physical presence. A client-supplied decline reason appears with the decline event for authorized workspace members.
MoodLens is not a party to the agreement and does not decide whether either party performed its obligations. Keep the completed PDF and audit certificate with the business record required for the engagement.
Create and track invoices from a signed contract
1. Open a contract whose status is Signed, then find Billing in the contract panel and select Create invoice. Draft, active, declined, canceled, and expired contracts cannot start linked invoices.
2. For a fixed-fee agreement, choose the configured deposit, remaining balance, full contract amount, or a custom milestone up to the value still available. A full invoice reserves both the deposit and balance so those portions cannot later be invoiced again. For monthly or hourly agreements, choose the billing-period invoice and review the period and tracked work.
3. MoodLens opens a prefilled invoice draft with the project, client, currency, contract version, commercial amount, and payment due date. Review the description, tax treatment, recipient, payment method, and every other invoice field. Nothing is emailed and no payment link is created automatically.
4. Return to the signed contract to see its linked invoices and their Draft, Awaiting payment, or Paid status, or open a linked invoice directly from that list.
Contract invoice links are commercial workflow aids, not accounting or legal determinations. Before an invoice is sent, paid manually, or given a payment link, MoodLens checks that the source agreement still exists, is fully signed, is the same version and project, uses the same currency, and has enough uninvoiced fixed-fee value. Sending the same deposit, balance, milestone, or billing period twice is blocked. Drafts remain editable where safe, but fixed contract amounts are locked to the signed terms; create a revised contract or an unlinked invoice when the commercial terms genuinely change.
Security and operating rules
Each required client signer receives a different long, non-readable token. Plaintext tokens are kept only in server-only link records; the member-readable contract stores only their SHA-256 hashes. Each link is bound to one signer identity, and MoodLens revokes all links when the request is canceled or invalidated.
One-time codes are single-use. Verified access sessions are short-lived and remain bound to the newest code challenge, the specific contract, the specific signer, and that signer's public link. Never forward a contract link or verification code to another person.
MoodLens binds signatures to the locked agreement hash and stores drawn or uploaded signature images and detailed evidence outside the client-readable contract record.
Confirm every signer's identity, unique email, authority to sign for the named party, and legal name before sending. Up to 20 required client signers can be added. MoodLens does not decide whether an electronic signature is legally suitable for a particular document or jurisdiction.
Members can create and edit drafts only for projects they can access. Admins and the owner can send or cancel requests and export PDFs. Only the owner can provider-sign or permanently delete a draft.
A sent agreement cannot be edited, including its signer list. Cancel or decline the old request, then use Create revised draft to prepare a separately versioned agreement when terms or required signers change. A decline by any required client signer declines the request for everyone.
Production readiness
Native signing has no separate signature-provider account or test mode. Test only with agreements and email addresses created for QA.
Live signing requires HTTPS, the deployed contract functions and rules, and the existing Resend transactional-email configuration.
If Email setup required appears, drafts and PDF exports still work, but invitations and verification codes cannot be sent until email delivery is configured.
If invitation or completion email acceptance cannot be confirmed, the agreement remains safely locked and an authorized user can retry the same idempotent delivery.
If the final PDF cannot be generated after the final required signature, all recorded signatures remain preserved and an owner or admin can safely finalize the same locked agreement; no signer needs to sign again.
Clips & Media Uploads
Record or upload a clip
Audience: Workspace members with Clips access
Summary: Record a screen, voice note, or screenshot, or securely add an existing video, audio file, or image to Clips.
1. Open Clips from the workspace sidebar.
2. Use the Screen, Voice, or Screenshot controls to create new media, or select Upload media to choose an existing file.
3. Upload supports MP4, MOV, WebM, MP3, M4A, WAV, OGG, PNG, JPEG, and WebP. Video is limited to 250 MB, audio to 100 MB, and images to 20 MB.
4. MoodLens checks the file bytes rather than trusting its name, verifies audio and video tracks and duration on the server, and removes hidden metadata from uploaded images. A workspace upload remains unavailable for playback until verification succeeds; an invalid file is removed instead of becoming visible.
5. Free clips remain on the current browser. Paid workspace sharing follows the plan's clip-duration allowance and the workspace's member, upload, creation, download, and deletion policies.
Workspace clips are kept in private storage and played through authenticated account and membership checks. Only choose Ask Moody when you want the selected clip processed by AI. File checks reduce risk but cannot guarantee that every harmful or unlawful file will be detected, so upload only media you trust and have permission to use.
Invoices & Online Payments
Find invoices and payment setup
Audience: Workspace members with invoice access
Summary: The Invoices page handles creation and invoice activity, while Invoice settings keeps business and payment configuration separate.
Open Invoices from the workspace sidebar to create, search, review, download, resend, duplicate, mark, refund, or manage supported invoice records.
Select Create invoice, choose the project you want to invoice, then continue to start a draft using that project's client, budget, and billable work.
Or open a Signed contract and select Create invoice in its Billing section to start a linked deposit, balance, full, milestone, monthly, or hourly-period draft. Linked invoices appear back on the contract with their payment status.
Open Settings → Invoice settings to configure business details, payment methods, defaults, and invoice appearance.
If Invoices or an action is unavailable, the workspace owner may have disabled the feature or that member action in the Admin Center.
Get paid from an invoice with Stripe
Audience: Workspace owners and invoice admins
Summary: When online invoice payments are enabled for your workspace, connect Stripe once, then create a secure payment link for an invoice.
How it works
1. A workspace owner opens Invoice settings and connects the business Stripe account.
2. Stripe hosts the identity, business, payout, and bank verification steps. Complete every requirement shown by Stripe.
3. Create or review an invoice in MoodLens, then choose Let the client pay online.
4. MoodLens creates a secure payment link. You can send it with the invoice email or copy it yourself.
5. The client pays on Stripe's checkout page. MoodLens then updates the invoice payment status.
6. Stripe sends funds to the connected Stripe account according to that account's payout schedule and any Stripe requirements.
What MoodLens does and does not do
Stripe processes the payment and holds/pays out funds; MoodLens does not store full card or bank-account details.
MoodLens can create requested payment links and display limited connected-account, payout-readiness, and payment-status information.
You remain responsible for invoice accuracy, goods or services sold, taxes, refunds, disputes, chargebacks, and communication with your client.
Stripe fees, currency conversion, eligibility, payout timing, reserves, verification, and account restrictions are determined by Stripe.
Before sending a payment link
Check the invoice amount, currency, tax treatment, payment terms, client email, and description of the work.
Make sure your Stripe account shows that charges and payouts are enabled.
Treat AI-generated budgets, rates, and estimates as suggestions. Check the sources and assumptions before presenting them to a client.
Disable a payment link if the invoice should no longer be payable. A disabled link cannot be used by the client.
> Callout: Online payments may be marked Coming Soon until MoodLens activates the feature for new Stripe connections. Manual invoice payment instructions remain available.
Get paid from an invoice with cryptocurrency
Audience: Workspace owners and invoice admins
Summary: Connect a live NOWPayments merchant account, choose whether funds settle to NOWPayments Custody or an external payout wallet, and create a hosted crypto-payment link from an invoice.
Before connecting
1. In NOWPayments, decide whether to use Custody or an external Payout wallet. New NOWPayments accounts may use Custody by default.
2. If you use a payout wallet, add a public receiving address for the exact asset and network. For an exchange address, include any required memo or tag.
3. Create a live NOWPayments API key and IPN secret. Paste only those credentials into MoodLens. Never enter a wallet seed phrase, private key, exchange password, or two-factor code in MoodLens.
4. The workspace owner selects Verify & connect. MoodLens verifies API access and stores the API key and IPN secret encrypted on the server.
How the client payment works
1. Create or review an invoice, select Crypto, and create the secure payment link.
2. MoodLens supports crypto invoice prices in USD, EUR, GBP, CAD, AUD, ILS, and RON. MoodLens applies a $10-equivalent product floor; NOWPayments can require a higher live minimum for a specific asset or network.
3. The client opens the MoodLens link and continues to the NOWPayments hosted page.
4. The client chooses an asset and must send the exact displayed amount, on the exact displayed network, to the provider-generated deposit address before the quoted rate expires. NOWPayments may recalculate an expired quote.
5. NOWPayments detects and confirms the blockchain transaction. Signed callbacks and server reconciliation update the MoodLens invoice from waiting to processing and then paid.
6. Depending on your NOWPayments settings, the resulting funds appear in your NOWPayments Custody balance or are sent to your configured payout wallet. MoodLens never receives or holds those funds.
Pay from Bybit or Binance
1. Keep the NOWPayments page open. Note the exact cryptocurrency, network, deposit address, amount, and any memo or tag shown there.
2. In Bybit or Binance, open Assets/Wallet, choose Withdraw, and select an on-chain or crypto withdrawal. Do not use an internal transfer.
3. Choose the same cryptocurrency, paste the NOWPayments deposit address, and select the exact same network. Networks such as Ethereum (ERC-20), TRON (TRC-20), and BNB Smart Chain (BEP-20) are not interchangeable.
4. Enter enough for the recipient to receive the exact amount requested by NOWPayments. The exchange can deduct a withdrawal fee, so review its final amount received before confirming. If the fee is deducted from what you enter, increase the withdrawal amount accordingly.
5. Compare the first and last characters of the address, confirm any memo/tag, review the asset and network again, then complete the exchange security checks.
6. After submission, check the exchange withdrawal history. Keep the transaction ID (TXID) and wait for the withdrawal and blockchain confirmations.
The payment can remain Waiting for payment while the exchange prepares the withdrawal, then show Processing payment while the blockchain and NOWPayments confirm it. This usually takes a few minutes but can take longer because of exchange review, network congestion, or the confirmation requirements of the selected asset. Do not send a second payment merely because the quote timer expires or the status has not changed yet. First confirm whether the exchange shows the withdrawal as completed and provides a TXID; then refresh the payment status or contact the invoice sender with the TXID.
> Safety: A wrong network, address, asset, amount, or memo/tag can permanently lose funds. MoodLens is not affiliated with or endorsed by Bybit or Binance, their screens may change, and their availability, limits, verification requirements, and fees apply. Neither MoodLens nor a legitimate invoice sender will ask for your seed phrase, private key, exchange password, or two-factor code.
Important crypto edge cases
Cryptocurrency prices, conversion results, service fees, and blockchain fees can change. The amount that reaches the merchant may be lower than the invoice amount after applicable fees.
A wrong asset, network, address, amount, or missing memo/tag can delay or permanently lose funds. Blockchain transfers are generally irreversible.
An underpayment, additional deposit, conflicting status, or payment after a link is disabled is held for review and is not treated as a clean full settlement.
A NOWPayments hosted invoice is reusable and controlled by NOWPayments. Disabling it in MoodLens stops MoodLens from offering the link, but an already-copied provider URL cannot be deleted by MoodLens and may still receive a late deposit.
Crypto refunds are not sent automatically from MoodLens. Review the destination with the client and refund from NOWPayments or your payout wallet. A refund is a new blockchain transfer, can incur fees, and may have a different fiat value.
If workspace ownership changes, the new owner must reconnect NOWPayments. Existing payment records stay available for reconciliation and review, but old credentials are not exposed to the new owner.
Where to find the money
Custody enabled: open the NOWPayments dashboard and check Custody/Balances. Withdrawals and conversions are controlled in NOWPayments.
Non-custodial payout wallet: check the exact receiving wallet and network configured in NOWPayments. The provider payment can show Sending while funds are moving to that wallet and Finished after settlement.
MoodLens shows invoice status and limited settlement details. It is not a wallet, exchange, bank, escrow service, or payment processor.
Receive or withdraw your payout
If Custody is enabled:
1. Wait until NOWPayments shows the payment as finished and the funds appear in Custody/Balances. A paid MoodLens invoice and an available Custody balance are separate stages.
2. In NOWPayments, verify or add the payout wallet for the currency and exact network you intend to withdraw. Complete any wallet/IP allowlisting and two-factor security required by NOWPayments.
3. Open the relevant Custody balance and choose its withdrawal action. Review the destination, network, amount received, minimum, and network fee before confirming.
4. Keep the withdrawal TXID and verify the funds in the destination wallet or exchange. A submitted or provider-completed withdrawal is not final until the destination and blockchain record confirm it.
If non-custodial payout is enabled:
1. NOWPayments automatically converts the client payment when required and forwards the settlement to the payout wallet configured in NOWPayments; there is no payout action in MoodLens.
2. Check the payment in the NOWPayments dashboard and then check the configured wallet on the same network. Sending means the provider is forwarding funds; Finished means its processing is complete.
3. If the payout wallet belongs to an exchange such as Bybit or Binance, its deposit asset, network, and memo/tag must match the NOWPayments payout configuration exactly. Exchange crediting can take additional time after the blockchain transaction is confirmed.
NOWPayments and the selected network determine processing time, conversion results, minimums, and fees. Optional fiat withdrawal/off-ramp features can require identity or business verification and may not be available in every country. MoodLens cannot withdraw, convert, freeze, or recover payout funds.
Refund a crypto invoice safely
Crypto payments do not support card-style chargebacks or automatic reversals in MoodLens. A merchant refund is normally a separate blockchain transaction.
1. Confirm that the original payment is fully settled. Record the invoice, provider payment ID, original TXID, asset, network, and amount actually received.
2. Confirm the refund amount and any fee or exchange-rate treatment with the client. A refund can have a different fiat value from the original payment.
3. Ask the client for a fresh refund address for the agreed asset and network, including any required memo/tag. Verify the request through a trusted channel. Do not automatically refund to the transaction's sending address: an exchange hot-wallet address may not belong to the client or accept refunds.
4. From NOWPayments Custody, your payout wallet, or your exchange, create a new transfer using the exact verified asset, network, address, and memo/tag. Review the displayed recipient amount and network fee before confirming. For a high-value refund, consider a small test transfer when practical and agreed with the client.
5. Save the refund TXID in your records and send it to the client. Update the invoice notes/status only after verifying the blockchain transaction. MoodLens does not move the funds or guarantee delivery.
If NOWPayments still controls a failed, under-minimum, wrong-asset, wrong-network, or missing-memo deposit, contact NOWPayments support from the merchant account's registered email and provide the payment ID and TXID. Provider-assisted recovery or refund is case-by-case, can require ownership validation, a dust transaction, identity checks, and a network fee, and may be impossible. Never refund an unconfirmed payment, send a duplicate refund, or share a seed phrase, private key, exchange password, or two-factor code.
What happens after a client pays
Audience: Workspace owners and invoice admins
Summary: A successful invoice payment and final settlement are separate steps, and the destination depends on the selected provider.
1. The client completes the provider checkout and the invoice changes to Paid online only after provider confirmation.
2. For Stripe, the money normally enters the connected balance before a bank payout. For NOWPayments, it enters the merchant's Custody balance or is sent to the configured crypto payout wallet.
3. Provider verification, blockchain confirmations, payout schedules, reserves, conversions, and fees can delay final settlement.
4. Use the MoodLens Invoices page for invoice status, and use the connected provider dashboard or receiving wallet as the authoritative source for the balance or payout.
> Important: A paid invoice does not guarantee that funds have reached a bank or external wallet. Confirm the provider balance, payout, or blockchain transaction before treating settlement as final.
Payouts
Audience: Workspace owners and invoice admins
Summary: MoodLens shows limited status, while the selected provider controls payout or custody eligibility and timing.
Payouts can be pending, in transit, paid, failed, or canceled.
Payout timing depends on the account country, currency, verification, available balance, and payout schedule.
A failed payout can pause new payment links until the bank or verification issue is fixed.
Payouts are account-level. One payout can include funds from several invoices; it is not tied to one invoice only.
MoodLens never stores your full bank-account details. Open payment setup when Stripe asks for verification or bank updates.
NOWPayments Custody balances and withdrawals are managed in NOWPayments. Non-custodial crypto payouts go to the wallet configured there; verify the asset, network, address, and memo/tag before accepting payments.
Refunds and disputes
Audience: Workspace owners and invoice admins
Summary: Refunds return money to the original payment method; disputes are handled through the payment provider and the payer’s bank.
For supported card or PayPal payments, issue a full or partial refund from the paid invoice’s Issue refund action.
A refund may remain pending, fail, or take time to reach the client’s original payment method.
A completed refund cannot be canceled. Check the amount and reason before confirming.
A dispute is different from a refund. Keep evidence and respond before the deadline shown in payment setup.
Crypto refunds cannot be initiated automatically by MoodLens and blockchain transfers generally cannot be reversed. Send a reviewed refund from NOWPayments or your wallet only after confirming the destination and network requirements with the client.
Invoice billing and payment links
Audience: Everyone
Summary: An invoice records what the client owes; a payment link gives the client a secure way to pay it.
Review the project, client, amount, currency, tax, due date, and line items before sending.
Once a secure payment link is created, the invoice details are locked until the link is disabled or the payment is completed.
Disabling a link stops MoodLens from offering future checkout attempts; it does not refund a successful payment. A NOWPayments hosted URL already copied outside MoodLens can remain usable, so late crypto deposits are recorded for review.
Clients do not need a MoodLens account to pay an invoice.
Integrations
Integrations overview
Audience: Everyone
Summary: Learn the six connection lanes in MoodLens so you can pick the right setup path and describe it accurately.
MoodLens uses multiple connection lanes
Live connection: a persistent linked service used over time, such as GitHub.
One-time import: migration pull-ins from Trello, Asana, Jira, Notion, or ClickUp.
Partner app install: another platform offers "Connect MoodLens" through developer-app OAuth.
Direct API access: a trusted backend calls MoodLens with an external API key.
Assistant bridge: an assistant client connects through the MoodLens MCP server.
Outbound event flow: MoodLens pushes events to another system through webhooks.
Permission model
Most integration management is admin-only in shared workspaces.
API keys can be created and revoked only by workspace admins or owners.
Developer apps, webhooks, and workspace secrets are admin-managed.
Messaging links require the user to be a workspace member.
AI employees are shared at the workspace level, while personal conversation threads stay user-scoped.
> Callout: If you are in a shared workspace and do not see management controls, ask a workspace admin to handle setup.
Wording rules to keep support copy honest
Do not call imports "sync" unless there is a real ongoing sync.
Do not call MCP "the API" unless the article is specifically about assistant access.
Do not call developer apps "API keys". They are OAuth apps with client credentials.
Do not describe outbound webhooks as inbound integrations.
Connect GitHub
Audience: Admins
Summary: GitHub is MoodLens's main live engineering connection and is linked at the workspace level.
What GitHub does in MoodLens
Connect a workspace to GitHub through OAuth.
Link or unlink specific repositories after the main connection exists.
Attach pull requests, issues, and branches to tasks.
Create GitHub issues from MoodLens flows.
Use webhook-backed repository activity awareness across planning and execution.
Important setup notes
The GitHub account connection and the repository link step are separate.
Connecting GitHub does not automatically expose every repository to the workspace.
Repositories are linked intentionally after the workspace connection is in place.
GitHub should be documented as a live connection, not a one-time import.
Troubleshooting checklist
Confirm a workspace admin completed the OAuth connection.
Check whether the repository was linked after the main connection.
Verify the workspace still has access to the target repository.
If activity is missing, check the workspace-level GitHub setup before debugging task attachments.
Import from Trello
Audience: Everyone
Summary: Use the Trello importer for migration or setup, not for permanent mirrored sync.
What the Trello import is for
Use the Trello importer when you want to move a Trello board into MoodLens. It is designed for migration and pull-in workflows.
What comes over
Boards
Lists
Cards
Checklist content mapped into subtask-like structure
What to expect after import
Imports are not the same as a permanent bi-directional sync.
Imported structures may map into boards, tasks, docs, sprints, or OKR-style records depending on the source data.
Use the import to establish your workspace, then continue working natively in MoodLens.
Import from Asana
Audience: Everyone
Summary: Pull an Asana project into MoodLens and map projects, sections, tasks, and goals into MoodLens structures.
Use case
Use the Asana importer when you want to bring an Asana project into MoodLens as part of a migration or setup workflow.
Imported content
Projects
Sections
Tasks
Goals, mapped into MoodLens OKR-style structures where applicable
Important expectations
The Asana import is not described as an ongoing sync.
Imported structures can land in boards, tasks, docs, sprints, or OKR-style records depending on the source.
If you need continuous integration behavior, choose the correct live-connection or developer-platform lane instead.
Import from Jira
Audience: Everyone
Summary: Bring Jira project structure, issues, statuses, and sprints into MoodLens for migration-focused setup.
Use case
Use the Jira importer to move a Jira site or project into MoodLens when your team is migrating workflows or standing up a new workspace.
Imported coverage
Project structure
Statuses and issues
Sprints
Subtasks
Support phrasing to keep
Describe Jira imports as migration-oriented, not long-term mirrored sync.
Call out that imported data may map into boards, tasks, docs, sprints, or OKR-style records depending on the original source structure.
Set expectations early if the team is looking for a live connection instead of a one-time import.
Import from Notion
Audience: Everyone
Summary: Import Notion databases and pages into MoodLens for task-oriented and document-oriented setup.
What the Notion import is designed for
The Notion importer is intended for one-time migration or pull-in workflows when you want to bring existing pages and databases into MoodLens.
Imported material
Database content
Page content
Task-oriented and document-oriented material
Set expectations clearly
Do not describe the Notion import as a permanent sync.
Imported content may be mapped into tasks, docs, boards, sprints, or OKR-style structures depending on how the Notion source was modeled.
If the team wants a maintained integration lane, use the help center to redirect them to the correct product surface.
Import from ClickUp
Audience: Everyone
Summary: Move ClickUp lists and related project-management structures into MoodLens through a migration-focused import.
Use case
Use the ClickUp importer when you want to pull ClickUp lists into MoodLens and continue working from there.
Imported coverage
Workspace and list structure
Tasks and related project-management content
What the import does not promise
It is not the same thing as a permanent sync.
Use it for migration and workspace setup, not as a mirrored long-term bridge.
Imported structures can map into MoodLens boards, tasks, docs, sprints, or OKR-style records depending on the source data.
Developer Platform
Create a developer app
Audience: Admins
Summary: Use developer apps when another product needs a native "Connect MoodLens" install flow through OAuth.
When to use this lane
A partner platform wants MoodLens in its integration directory.
A backend service needs installed-app OAuth tokens.
A team wants scoped app access instead of sharing a raw API key.
> Callout: Do not use developer apps when a workspace only needs direct backend access with a key, or when a user wants assistant access through MCP.
What an admin configures
App name
App artwork uploaded into MoodLens
Website URL
Redirect URLs
Scopes
Scopes and credentials
Current scopes: tasks, documents, team, columns, boards, sprints, meetings, integrations, and write.
MoodLens returns a stable client ID and a client secret that is shown once.
Copy the client secret immediately and store it only on your backend.
Authorize URL, token URL, and API base URL are exposed in the UI for implementation.
Limits and lifecycle behavior
Maximum 25 developer apps per workspace.
Redirect URLs must be valid and can include localhost for development.
Disabling, deleting, or rotating a secret revokes issued tokens and auth codes.
A user must have admin access to at least one workspace to approve an install.
Use MoodLens API keys
Audience: Builders
Summary: External API keys are the direct server-to-server access lane for trusted backends.
What API keys are for
API keys are the simplest programmatic access lane when a trusted backend needs to call MoodLens directly. Workspace admins or owners create and revoke them.
Scopes, auth, and limits
Current scopes: tasks, documents, team, columns, and write.
Keys are revealed once at creation time and have labels plus scopes.
Authentication accepts X-API-Key for direct key usage and Authorization: Bearer for developer-app OAuth tokens.
Rate limit is 60 requests per minute per credential, and write bodies are limited to 50 KB.
Write coverage includes creating and updating tasks, archiving tasks, creating and updating documents, creating sprints, creating meetings, and adding task comments.
DELETE task calls archive rather than hard-delete the task.
Document list responses may truncate content unless the caller explicitly asks for full content.
Workspace switching
API keys can switch workspace context with workspaceId if the key creator has access to the requested workspace.
Developer-app OAuth tokens are bound to one workspace and cannot switch to another.
Assistant Tools
Connect the MoodLens MCP server
Audience: Everyone
Summary: Use the MCP server to connect assistant clients like Claude Desktop, Cursor, Windsurf, and VS Code Copilot to MoodLens.
What MCP gives you
The package is @moodlenstech/mcp-server.
The server identity is moodlens and the code version is 1.1.0.
It exposes MoodLens as a task, document, workspace, sprint, board, meeting, and integration tool source for supported assistant clients.
Supported clients and setup model
Current supported clients: Claude Desktop, VS Code Copilot, Cursor, and Windsurf.
ChatGPT Desktop is listed as coming soon in the current product.
The setup flow generates a dedicated API key with tasks, documents, team, columns, and write scopes.
The installer writes the selected client config automatically.
Requirements and workspace behavior
Node.js must be installed before setup.
The target assistant app usually needs a restart after configuration is written.
Many MCP tools accept workspaceId; if omitted, the default workspace context is used.
This matters most for people who use both personal and shared workspaces.
Current tool surface and limitation
Tools include list, search, create, update, and archive flows for tasks plus document, team, column, workspace, integration, board, sprint, meeting, and comment actions.
If setup fails, re-run the installer, confirm Node.js is installed, restart the client, and verify the config file landed in the expected path.
ChatGPT Desktop remains marked coming soon because the current product notes say it currently supports only remote MCP servers.
Webhooks & Security
Configure webhooks
Audience: Admins
Summary: Create outbound webhooks that let MoodLens push signed event payloads to your external service.
Management rules
Webhooks are admin-only in shared workspaces.
Maximum 20 webhooks per workspace.
The target URL must use HTTPS.
Private, internal, or local addresses such as localhost, 127.0.0.1, 0.0.0.0, .local, and .internal are blocked.
Supported events and delivery headers
Current events include task.created, task.completed, task.updated, task.deleted, task.assigned, task.status_changed, document.created, document.updated, member.joined, and member.left.
MoodLens sends Content-Type: application/json, X-MoodLens-Signature, X-MoodLens-Event, X-MoodLens-Delivery, and User-Agent: MoodLens-Webhooks/1.0.
The signature is an HMAC-SHA256 of the raw request body using the webhook secret.
Secrets, testing, and failure handling
The webhook secret is shown once at creation time and masked later in list views.
The test action sends a ping event.
MoodLens stores last delivery time, status, code, and consecutive failure count.
A webhook auto-disables after 10 consecutive failures, and re-enabling resets the failure counter and disabled reason.
Use workspace secrets
Audience: Admins
Summary: Workspace secrets store sensitive credentials for automations and AI employee tool use without exposing raw values in chat or browser code.
What workspace secrets are for
Slack tokens
GitHub API keys
External service auth headers
Webhook or API credentials used by automations or AI employee HTTP requests
Best-practice guidance
Secrets are stored separately from public integration metadata.
Secret values should not be pasted into browser code or shared in normal chat.
The UI should show masked values rather than raw values.
Add a secret once in workspace settings, then let the employee or automation reference it safely.
Related wording to keep straight
Authorize URLs are not secrets.
Client secrets, access tokens, refresh tokens, and external service keys are secrets.
If a flow only needs public metadata, do not tell users to save it as a secret.
Chrome Extension
Install and use the Chrome extension
Audience: Everyone
Summary: The MoodLens Chrome extension gives you quick task capture, page-aware AI actions, meeting extraction, and Moody chat from the browser.
What the extension can do
Quick task capture from the popup.
View and manage today's tasks.
Right-click capture from any page.
AI page analysis, AI Smart Capture, Page Insights, and Meeting Actions.
Chat with Moody, including web research, suggested task generation, conversation history, and image upload for analysis.
Notifications and daily reminders.
Current meeting and context-menu support
Context-menu actions include Add to MoodLens Todo, Capture selected text as a task, and AI Smart Capture for selected text.
The content script currently detects Google Meet, Zoom, and Microsoft Teams.
The extension cannot read browser-internal pages such as chrome:// pages.
Why the permissions exist
contextMenus powers right-click capture actions.
storage keeps local state, chat history, pending captures, and preferences.
alarms and notifications power reminders and long agent runs.
activeTab, tabs, and scripting support page-aware features and on-demand content script injection.
identity supports secure account sign-in.
<all_urls> host access exists because the AI workflows need to read the current page and browse user-requested pages.
Privacy and reminder behavior
Content is read on demand rather than by a permanent always-on DOM scraper.
The extension schedules a recurring alarm and currently shows a morning reminder around 9 AM local time.
AI Employees
Create and customize AI employees
Audience: Everyone
Summary: AI employees are workspace-level specialists with roles, tools, memory, knowledge, automations, messaging links, and voice support.
What AI employees are
A role template
A defined personality
A language setting
A voice
Workspace-aware context
A knowledge base, persistent memory, tool use, automations, messaging links, and voice call support
Current creation flow
Pick a category.
Choose a role template.
Customize the employee before hiring.
Categories and customization
Current categories include Business, Tech, Education, Creative, Legal, Security, Health, Data, Engineering, Finance, Support, Research, Real estate, and Operations.
Customization includes name, personality, language, and voice.
Employees use role-based access and tool context rather than one unrestricted global permission set.
Shared workspace, personal thread behavior
Employees are workspace-shared.
Conversations are user-scoped by default inside a shared workspace.
Automation conversations are shared operational threads.
If an employee looks busy or unavailable, another active session may be holding the lock.
Add knowledge and memory context to AI employees
Audience: Everyone
Summary: Use the knowledge base for stable reference material and let memory capture accumulated user facts and patterns over time.
Knowledge base vs memory
Knowledge base: durable reference material you deliberately provide.
Memory: accumulated user facts, preferences, and patterns the system extracts over time.
Use the knowledge base for business rules, terminology, project context, and domain-specific instructions.
Knowledge-base behavior
Each employee has its own knowledge base.
It is stored per employee and editable in the UI.
It is used across conversations.
Previous knowledge versions are saved to history before overwrite.
Conversation visibility and support phrasing
Employees are workspace-shared, but personal conversations remain user-scoped by default.
Delegation audit threads are hidden from normal conversation lists.
Empty stale personal conversations may be cleaned up after long inactivity.
> Callout: A simple way to explain it: use the knowledge base for stable reference material, and memory for facts the employee learns over time.
Use AI employee automations
Audience: Everyone
Summary: AI employees can own scheduled, event-driven, and webhook-driven automations with logs, dry runs, and manual runs.
Trigger modes and schedules
Trigger modes: scheduled, event, and webhook.
Current schedules: hourly, every 6 hours, every 12 hours, daily, weekly, and monthly.
Current event types: task_created, task_completed, task_status_changed, task_assigned, task_overdue, member_joined, and doc_created.
Operational behavior
Automations can be enabled or paused.
Dry-run mode exists.
Run status and logs are tracked.
A manual "run now" action exists.
Webhook-triggered automations receive a generated incoming webhook URL and token.
Template-based automation install is supported.
Secrets and KPI mode
Employees and automations can reference workspace secrets without exposing raw secret values in chat.
Add the secret once in workspace settings, then let the automation or employee reference it.
Current KPI metrics include success rate, weekly runs, and active automations.
Connect AI employees to Telegram or WhatsApp
Audience: Everyone
Summary: Link an AI employee to Telegram or WhatsApp with expiring link codes and mode-specific commands.
Supported messaging surfaces
Telegram
WhatsApp
Messages are labeled by source as Web, Telegram, or WhatsApp.
How linking works
Link codes expire after 10 minutes.
The product can generate deep links that open Telegram or WhatsApp with the code already prepared.
Telegram webhook setup is auto-attempted when needed.
Messaging links are tied to the user, workspace, and active employee or team discussion.
Modes and useful commands
Current modes include single employee mode and team discussion mode.
Useful commands include /link, /team, /talk <name>, /solo, and /help.
If linking fails, regenerate the code because expired codes are a common cause.
Start voice calls with AI employees
Audience: Everyone
Summary: Voice calls let you interact with AI employees through the call infrastructure and can post artifacts back into the conversation.
How voice calls behave
AI employees support voice calls through the product call infrastructure.
The call UI tracks elapsed time, mute state, and tool activity.
Voice calls can post artifacts back into the employee conversation.
Quota and plan notes
Starting a call consumes an AI employee call quota unit.
Quota numbers should stay aligned with billing policy before they are published externally.
Artifacts and media generation
Employees can render in-chat artifacts.
Video generation supports cinematic and showcase modes.
Artifact posting can happen asynchronously during or after voice workflows.
Workspace Admin Center
Manage a shared workspace from one governance portal
Audience: Workspace owners and granted admins
Summary: The Workspace Admin Center is a separate portal for managing members, security, AI governance, and workspace-wide activity, distinct from each member's personal Settings.
What it covers
Overview: at-a-glance workspace activity and health.
Members & roles: member list, role changes, suspensions, and access.
AI employees: enable or restrict individual employees, tool access, and workspace-wide AI defaults.
Shared AI credits: for a workspace on Pro, the AI tab shows the shared weekly credit pool, purchased credit balance, reset date, and usage broken down by member.
Who can open it
The workspace owner always has access.
An admin needs an explicit portal-access grant from the owner; being an admin alone does not open it.
A suspended member cannot open it even if otherwise eligible.
Plan requirement
The workspace must be on an active Pro or Enterprise plan. A workspace on Free or Plus cannot open the Admin Center regardless of the member's personal plan.
How this differs from Settings
Regular Settings manages a member's own account, profile, and preferences.
The Admin Center manages the workspace itself: who can do what, what is enabled, and what happened, across every member.
Help Center AI support
Ask Moody AI with an optional screenshot or document
Audience: Signed-in users
Summary: Ask a MoodLens product question and optionally attach one request-scoped file so Moody can explain the screen, error, or document context.
1. Open the Help Center and select Ask Moody AI at the bottom-right.
2. Type a MoodLens question. To include a file, select the paperclip and choose one supported image, PDF, text, CSV, JSON, DOCX, PPTX, or XLSX file under 4 MB.
3. Check the preview or file name. Remove and replace the attachment if it is not the intended file.
4. Send the question and wait while Moody reads the attachment.
5. Follow the answer and open its Related help links. AI answers can be incomplete, so verify important account, security, billing, and payment steps.
The file is used only for that Help Center request. It is not saved to the workspace, added to passive Help Assistant history, or forwarded to a human-support ticket. File-upload restrictions on the account also apply here. Do not attach passwords, verification codes, API keys, private keys, wallet recovery phrases, payment credentials, or confidential third-party information.
Request a live MoodLens support agent
Audience: Signed-in users
Summary: Move from Moody AI to a time-bounded human chat when a case needs a real agent.
1. Describe the problem, expected result, affected feature, approximate time, and any visible error without including passwords, verification codes, API keys, payment credentials, wallet secrets, or confidential workspace content.
2. Ask to speak with a real agent. Moody asks for missing case detail before it creates a live request.
3. Keep the Help Center open while the request is pending. The request expires if no agent responds within the displayed decision window.
4. If an agent accepts, MoodLens shows the estimated wait. The estimate is not a guaranteed response time. You can add text context or cancel while waiting.
5. When the agent starts the chat, the queue disappears and messages are delivered in the same Help Center panel. Either side may close the conversation.
6. If no agent is available or the ETA passes without the agent joining, use Moody, email support, or submit the asynchronous support route shown in the product.
Only the non-sensitive case description, a short recent Help Assistant transcript, basic account identity, plan/subscription state, workspace count, timestamps, and live-chat messages are available to the authorized MoodLens support operator. Request-scoped attachments are not forwarded. A live-support request does not grant access to workspaces, tasks, files, chats, invoices, credentials, or private content. The founder may receive the same limited case and account context through a secured Telegram alert in order to accept or decline the request. Live-support records and audit events are retained for up to 180 days for service delivery, security, abuse prevention, and dispute handling, unless a longer period is legally required.
Troubleshooting
Integration and AI employee troubleshooting
Audience: Everyone
Summary: Use this guided checklist when MCP setup, webhooks, developer apps, extension features, or AI employee actions are not behaving as expected.
MCP and developer-platform checks
If MCP setup fails, confirm Node.js is installed, re-run the installer, restart the target client, and verify the config path.
If a developer app fails, confirm the redirect URL exactly matches an allowed redirect URI.
If a developer-app secret was rotated, old tokens are no longer valid.
If an app was deleted, installations must be recreated.
Webhook and extension checks
Confirm webhook URLs are HTTPS and publicly reachable, not local or private.
Verify the endpoint checks X-MoodLens-Signature against the raw request body.
If a webhook stopped firing, check whether it was auto-disabled after repeated failures.
For the extension, remember that browser-internal pages cannot be read and meeting extraction depends on readable page content.
AI employee checks
If an employee appears busy, another session may hold the employee lock.
If messaging-link setup fails, regenerate the code because it expires after 10 minutes.
If a voice call cannot start, the user may have hit their plan quota for employee calls.
Actual tool availability depends on the employee's permissions and the workspace's configured integrations and secrets.
Frequently Asked Questions
What is the difference between a live connection, an import, MCP, API keys, and webhooks?
Live connections stay linked over time, imports are one-time migration pull-ins, MCP is the assistant bridge, API keys are direct backend credentials, and webhooks push MoodLens events out to another system.
Why can I import from Trello, Asana, Jira, Notion, or ClickUp but not keep them in sync?
Those product surfaces are documented as migration-oriented imports, not long-term mirrored syncs. The help center should describe them as pull-in workflows and not as permanent two-way connections.
What is the difference between a developer app and an API key?
Developer apps are OAuth installs for partner platforms and scoped app access. API keys are direct server-to-server credentials created and managed by a workspace admin or owner.
Why does my MCP client need Node.js?
The current MCP setup flow depends on the local Node.js runtime so the generated installer can configure the selected assistant client and launch the MoodLens MCP server correctly.
Why does ChatGPT Desktop still say coming soon?
The current product notes say ChatGPT Desktop currently supports only remote MCP servers, so the in-product entry stays marked as coming soon for local MoodLens MCP setup.
Why was my webhook rejected or auto-disabled?
Rejected webhooks usually point to a non-HTTPS or non-public URL. Auto-disabled webhooks hit 10 consecutive failures; re-enabling resets the failure counter after you fix the endpoint.
Why can an API key switch workspaces but an OAuth token cannot?
An API key is tied to the user who created it and can switch between workspaces they belong to, whereas an OAuth token generated via a developer app is scoped and bound directly to the single workspace where it was installed.