EmailRep · Arazzo Workflow

EmailRep Screen and Report Malicious Sender

Version 1.0.0

Query an email's reputation and, when the signals show it is malicious, report it back into the reputation graph.

1 workflow 1 source API 1 provider
View Spec View on GitHub SecurityEmailEmail ReputationThreat IntelligencePhishingFraud PreventionAnti-AbuseDeliverabilityRisk ScoringPublic APIsArazzoWorkflows

Provider

emailrep

Workflows

screen-and-report-malicious
Query an address, branch on its malicious signals, and report it when bad.
Looks up the reputation for an email address and reads the suspicious flag plus the malicious_activity signal. When either indicates malicious behavior the address is reported with the supplied tags; otherwise the workflow ends cleanly.
2 steps inputs: apiKey, description, email, tags outputs: reportStatus, reputation, suspicious
1
queryReputation
queryEmailReputation
Look up the reputation, suspicious flag, and detailed signal block for the supplied email address.
2
reportMalicious
reportEmail
Report the screened address as malicious so the EmailRep reputation graph picks up the signal observed during this screening.

Source API Descriptions

Arazzo Workflow Specification

emailrep-screen-and-report-malicious-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: EmailRep Screen and Report Malicious Sender
  summary: Query an email's reputation and, when the signals show it is malicious, report it back into the reputation graph.
  description: >-
    A closed-loop threat-intelligence pattern. The workflow first queries
    EmailRep for an address, inspects the suspicious flag and the malicious
    activity signals in the details block, and then branches: when the address
    is flagged as malicious it submits a report so the reputation graph picks
    up the freshly observed signal, and when the address is clean it ends
    without reporting. Every step spells out its request inline — including the
    Key authorization header — so the flow can be read and executed without
    opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: emailrepApi
  url: ../openapi/emailrep-api-openapi.yml
  type: openapi
workflows:
- workflowId: screen-and-report-malicious
  summary: Query an address, branch on its malicious signals, and report it when bad.
  description: >-
    Looks up the reputation for an email address and reads the suspicious flag
    plus the malicious_activity signal. When either indicates malicious
    behavior the address is reported with the supplied tags; otherwise the
    workflow ends cleanly.
  inputs:
    type: object
    required:
    - apiKey
    - email
    properties:
      apiKey:
        type: string
        description: EmailRep API key passed in the Key header on every request.
      email:
        type: string
        description: The email address to screen and conditionally report.
      tags:
        type: array
        description: Tags classifying the malicious behavior when a report is submitted (e.g. phishing, bec, maldoc).
        items:
          type: string
      description:
        type: string
        description: Optional human-readable context recorded with the report.
  steps:
  - stepId: queryReputation
    description: >-
      Look up the reputation, suspicious flag, and detailed signal block for
      the supplied email address.
    operationId: queryEmailReputation
    parameters:
    - name: Key
      in: header
      value: $inputs.apiKey
    - name: email
      in: path
      value: $inputs.email
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      reputation: $response.body#/reputation
      suspicious: $response.body#/suspicious
      maliciousActivity: $response.body#/details/malicious_activity
      blacklisted: $response.body#/details/blacklisted
    onSuccess:
    - name: senderIsMalicious
      type: goto
      stepId: reportMalicious
      criteria:
      - context: $response.body
        condition: $.suspicious == true || $.details.malicious_activity == true || $.details.blacklisted == true
        type: jsonpath
    - name: senderIsClean
      type: end
      criteria:
      - context: $response.body
        condition: $.suspicious == false && $.details.malicious_activity == false && $.details.blacklisted == false
        type: jsonpath
  - stepId: reportMalicious
    description: >-
      Report the screened address as malicious so the EmailRep reputation graph
      picks up the signal observed during this screening.
    operationId: reportEmail
    parameters:
    - name: Key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        email: $inputs.email
        tags: $inputs.tags
        description: $inputs.description
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      reportStatus: $response.body#/status
  outputs:
    reputation: $steps.queryReputation.outputs.reputation
    suspicious: $steps.queryReputation.outputs.suspicious
    reportStatus: $steps.reportMalicious.outputs.reportStatus