P0 App Documentation
Sign up for FreeSandbox
  • What Is P0?
    • πŸŽ›οΈIAM Dashboard
    • πŸ”ŽAccess Inventory
    • πŸͺ‘IAM Posture
    • ⏱️Just-In-Time Access
    • ♻️Service-Account Key Rotation
  • Getting Started
    • ⬇️Quick Start
    • 🎁Share P0 With Your Team
  • INVENTORY
    • πŸ—ΊοΈAccess Inventory
    • πŸ”¬Result Details
    • ❔Query Search
      • πŸ“–Search Reference
  • Posture
    • βš–οΈPosture Overview
  • Monitor Results
  • πŸ€”Finding Details
  • ORCHESTRATION
    • ⏰Just-in-time access
      • πŸ–οΈRequesting Access
        • πŸ‘‰For Another Party
      • 🏁Approving Access
        • Pre-approving Access
      • πŸ”€Request Routing
        • Google Cloud Filtering
        • AWS Filtering
  • Environments
    • ☁️Creating an Environment
    • πŸ““Environment Terminology
    • βš™οΈSettings
  • Integrations
    • πŸ“žNotifier integrations
      • πŸ’¬Slack
      • πŸ‘¬Microsoft Teams
      • πŸ“£Custom Notifier
    • πŸ”‘Resource integrations
      • ☁️Google Cloud
        • Requesting Access
        • Permissions Reference
          • Cloud Storage
          • Compute Engine
      • πŸ“¦AWS
        • Requesting Access
      • ☸️Kubernetes
        • Requesting Access
        • Advanced Requests
      • πŸ”‹PostgreSQL
        • Requesting Access
      • ❄️Snowflake
      • πŸ–₯️SSH
      • GitHub
        • Requesting Access
      • πŸ› οΈCustom Resource
    • πŸ‘₯Directory integrations
      • Microsoft Entra ID
        • Requesting Access
      • Google Workspace
      • Integrate P0 with Okta
    • βœ”οΈApproval integrations
      • πŸ””PagerDuty
    • πŸ”ŒSIEM Integrations
      • Splunk HEC Setup
  • P0 Management
    • 🎩Role-Based Access Control
Powered by GitBook
On this page
  1. Integrations
  2. Notifier integrations

Custom Notifier

Integrate P0 with any internal notification system you own, or with systems that do not have a built-in notification service yet.

PreviousMicrosoft TeamsNextResource integrations

Last updated 1 day ago

Implement your own API endpoints that P0 can send notifications to.

Set up Custom Notifier Integration

The custom notifier is not generally available at the moment. Please contact P0 support to configure your custom notifier integration.

Configuration Parameters

These parameters are configured by you during setup.

The examples use a custom notifier that sends notifications to an internal application for custom processing. Each custom notifier integration supports different trigger types. To reduce notification noise, you can choose only the specific triggers you want to be notified about.

Parameter
Description
Example Value

Notifier ID

The identifier of the system you are integrating*

my-notifier-service

Notifier Name

The name of the custom notifier integration

Internal Customer Admin App

Triggers

The type of notifications that will trigger a call to your endpoint

[preapproval-created]

Webhook URL

Your https URL that P0 uses to call your endpoints.

https://p0-api.example.com/notifications

* Identifiers in P0 do not allow whitespace. By convention use camel-casing. Not visible to users.

OpenAPI Specification

This specification describes the API endpoint you must implement to create a custom notifier integration in P0.

πŸ“ž
πŸ“£
  • Set up Custom Notifier Integration
  • Configuration Parameters
  • OpenAPI Specification
  • POSTReceive notifications about requests and preapprovals

Receive notifications about requests and preapprovals

post

This endpoint receives access-related notifications from P0, including user access requests and preapproval notifications. Implement this endpoint to handle custom notifiers that are not natively supported by P0. Once implemented, register the endpoint using a custom notifier in the P0 console to start receiving events.

Authorizations
Body
one ofOptional
Responses
200
Success
default
Error
application/json
post
POST / HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 594

{
  "id": "my-notifier-service",
  "name": "My Notifier Service",
  "eventType": "preapproval-created",
  "data": {
    "id": "07ZmVeUxSc4LyhrGhlzK",
    "type": "ssh",
    "access": "session",
    "permission": {
      "path": "ssh/123456789012",
      "name": "demo-node-1",
      "description": "sudo SSH access to demo-node-1 in AWS account Dev Stack"
    },
    "startsAt": 782735400000,
    "endsAt": 782735400000,
    "createdAt": 782735400000,
    "principal": "john.smith@p0.dev",
    "approver": {
      "id": "john.smith@p0.dev",
      "name": "John Smith",
      "email": "john.smith@p0.dev",
      "approvalTimestamp": 782735400000,
      "approvalSource": "webapp"
    },
    "reason": "Need to give a big customer a fancy demo"
  }
}

No content