Let people sign inside your app

How-to guide3 min read

By default Notriv emails each signer a link. With embedded delivery, Notriv sends no email: your app asks for a signing link and opens it for the signer, who never leaves your product.

Set it up

  1. Create the envelope with delivery set to embedded
    const envelope = await notriv.envelopes.create({
      template: 'tmpl_purchase_agreement',
      signers: { client: { name: 'Jane Doe', email: 'jane@acme.com' } },
      data: { purchase_price: '$250,000' },
      delivery: 'embedded',
    })
  2. Get a signing link when the signer is ready

    Ask for the link on your server, right when the signer clicks “Sign” in your app. Pass the signer's role.

    const { url } = await notriv.envelopes.signingUrl(envelope.id, 'client')
  3. Open the link

    Redirect to it, open it in a new tab, or show it in an iframe:

    <iframe src="{url}" style="width:100%;height:90vh;border:0" title="Sign document"></iframe>
  4. Listen for the result

    When the signer finishes, you receive an envelope.signer_completed webhook, then envelope.completed when everyone is done.

Warning
Only request a signing link for a person your app has already identified (for example, a signed-in user). Anyone with the link can sign as that signer.
Note
If signing_order is on, a link for a later signer is refused with signer_not_ready until earlier signers finish. Links expire with the envelope (30 days by default).

Next steps

Was this page helpful?