DecisionVault API
  1. DecisionVault API
DecisionVault API
  • DecisionVault API
    • Authentication
    • Automation
    • External Identifiers
    • Financial Categories
    • Pagination
    • Webhooks
    • Questionnaires
      • Get Questionnaires
      • Get Single Questionnaire
    • FinancialCategories
      • Get Financial Categories
    • Matters
      • Get Matters
      • Get Single Matter
      • Get Clients for a Matter
      • Get Assets for a Matter
      • Get Contacts for a Matter
      • Get Documents for Matter
      • Get Financial Documents for Matter
      • Create Matter
    • Events
      • Get Events
      • Get Single Event
    • Documents
      • Get Single Document
    • Users
      • Get Single User
    • Subscriptions
      • Create Webhook Subscription
      • Delete Webhook Subscription
  1. DecisionVault API

Automation

Using the API and webhooks it becomes possible to take action in other systems once events occur in DecisionVault.
You can just rely on the webhook events (e.g. intakeform.submitted), but the downside is that you don't have enough information in the webhook to know which related matter in other systems to take action on.
That's why we've made it possible to "pre-create" the matter via the API, and provide additional context variables. This extra context gets stored in the matter and will be included in the webhook payloads.
Once you pre create a matter the API returns an invite url that you can send to your client (it will not expire). When the client opens this URL they can create an account which then gets attached to the pre created matter.

Step 1 - Pre-create the matter#

Use the /matters/create endpoint to create a matter, passing in extra context variables:
{
  "method": "post",
  "url": "https://api.decisionvault.com/v1/matters/create",
  "headers":{"Authorization":"Token <api_key>"},
  "body":
  {
  "matter_name": "pre create matter test",
  "questionnaire_id": "quest_AABBCCDD0011223344",
  "context": {
    "active-campaign-id": 2944938,
    "other-system-id": "d2ae160b-08e7-4d83-aeee-04918d270013"
  },  
}
}
(see the API specification for details on what can be passed in the context object)

Response#

{
  "id": "matter_AABBCCDD0011223344",
  "invite_key": "sdxuarqwfi7do072qrnmqoj2rw6sgvfpezjd9wco3fbe3kl",
  "invite_url": "https://app.decisionvault.com/start/lawfirm/sdxuarqwfi7do072qrnmqoj2rw6sgvfpezjd9wco3fbe3kl"
}

Step 2 - User signs up#

Send the invite url to the user, and they can sign up and get started on the questionnaire.

Step 3 - Context included in Webhooks#

Now when DecisionVault sends out webhooks it will include the provided context, which makes it possible to trigger automations using that information.

Webhook intakeform.submitted#

{
  "event_id": "evt_AABBCCDD0011223344",
  "event_type": "intakeform.submitted",
  "occurred_at": "2022-04-30T22:04:37+00:00",
  "matter": {
    "id": "matter_AABBCCDD0011223344",
    "context": {
      "active-campaign-id": 2944938,
    "other-system-id": "d2ae160b-08e7-4d83-aeee-04918d270013"
    }
  },
  "meta": {
    "questionnaire": {
      "id": "quest_AABBCCDD0011223344",
      "internal_type": "planning"
    }
  },
  "user": {
    "id": "user_AABBCCDD0011223344",
    "is_firm_staff": false,
    "is_client_user": true
  }
}
Modified at 2025-09-21 17:02:32
Previous
Authentication
Next
External Identifiers
Built with