Keep a Complete Refund Audit Log in Notion
Refunds are a sensitive financial event. Capture each one in a single Notion audit log with customer, amount, reason, and timestamp. Full traceability, no manual entry.
Trigger
Webhook received
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
Action
Add multiple content blocks (bulk, user-friendly)
Efficiently adds multiple standard content blocks to a notion page in a single api call with automatic markdown parsing. the 'content' field in notionrichtext blocks now automatically detects and parses markdown formatting including headers (# ## ###), bold (**text**), italic (*text*), strikethrough (~~text~~), inline code (`code`), links ([text](url)), and more. ideal for bulk content creation, ai agents, and replacing multiple individual add page content calls. supports automatic text formatting, content splitting, and up to 100 blocks per request.
Why this helps
Refunds are scattered across Stripe notifications and emails. Without a centralized record, you can't easily audit who got money back, why, or when. Compliance reporting becomes a scramble.
- Complete refund history in one place—audit-ready
- Timestamp and reason captured automatically for compliance
- Quick pattern spotting if refunds spike
Setup
Build it in a few focused steps.
- 1Connect both integrations to Notis.
- 2Ask Notis: 'Send me a webhook URL for refund events from Stripe, and when refunds come through that webhook, add a detailed entry to my Notion Refunds audit log.'
- 3Notis will give you a webhook URL to paste into Stripe (or configure via Stripe's event subscriptions).
- 4Notis will confirm it can add refund details (amount, customer, reason, date) to a Notion page or database.
- 5Process a test refund in Stripe and confirm it appears in your Notion audit log.
Questions about this workflow
How do we configure Stripe to send refund webhooks?
Notis will give you a webhook URL. In Stripe, go to Webhooks and add it as a listener for refund.created events. Takes 2 minutes.
Does this capture partial refunds?
Yes. Each refund, full or partial, gets logged with the exact amount.
Can we categorize refunds by reason?
If Stripe captures a reason (customer request, fraud, etc.), Notis includes it. You can then filter or segment the log by reason in Notion.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Stripe to Notion. A trigger fires from one place; an action lands in another.
Stripe triggers
Notion actions
Charge Failed Trigger
Triggered when a direct charge fails in Stripe's legacy Charges API
Add multiple content blocks (bulk, user-friendly)
Efficiently adds multiple standard content blocks to a notion page in a single api call with automatic markdown parsing. the 'content' field in notionrichtext blocks now automatically detects and parses markdown formatting including headers (# ## ###), bold (**text**), italic (*text*), strikethrough (~~text~~), inline code (`code`), links ([text](url)), and more. ideal for bulk content creation, ai agents, and replacing multiple individual add page content calls. supports automatic text formatting, content splitting, and up to 100 blocks per request.
Checkout Session Completed Trigger
Triggered when a checkout session is completed in Stripe
Add content to Notion page
Deprecated: appends a single content block to a notion page or a parent block (must be page, toggle, to-do, bulleted/numbered list, callout, or quote); invoke repeatedly to add multiple blocks.
Invoice Payment Succeeded Trigger
Triggered when an invoice payment is successful in Stripe
Append complex blocks (advanced, full control)
Appends complex blocks with full notion block structure to a parent block or page. use for advanced scenarios requiring precise control: code blocks, tables, embeds, nested children within blocks, or when working with pre-built notion block objects. requires full notion api block schema - use add multiple page content for simpler content creation.
Payment Intent Failed Trigger
Triggered when a payment intent fails in Stripe
Archive Notion Page
Archives (moves to trash) or unarchives (restores from trash) a specified notion page.
Product Created Trigger
Triggered when a product is created in Stripe
Create comment
Adds a comment to a notion page (via `parent page id`) or to an existing discussion thread (via `discussion id`); cannot create new discussion threads on specific blocks (inline comments).
Subscription Added Trigger
Triggered when a subscription is added in Stripe
Create Notion Database
Creates a new notion database as a subpage under a specified parent page with a defined properties schema; use this action exclusively for creating new databases.
Subscription Deleted Trigger
Triggered when a subscription is deleted in Stripe
Create Notion page
Creates a new empty page in a notion workspace.
Delete a block
Archives a notion block, page, or database using its id, which sets its 'archived' property to true (like moving to "trash" in the ui) and allows it to be restored later.
Connect any two apps with Notis in the middle.
Not just Stripe and Notion. Any combination from 985+ integrations.
When this happens · Trigger
Do this · Action
Save your first hour today.
7 days free trial with 20$ free usage included.
No card. Works with personal or business Notion.
