---
id: flow--entry-point-response
title: "Plugin port response"
summary: "Sends the response of a flow that is published as a plugin back to the calling flow, exactly like connecting to the `Response` pin of the Plugin port. Use it to answer from several places of the flow without drawing long connections back to the Plugin port."
audience: user
keywords: "response, continue"
---
# Plugin port response

Sends the response of a flow that is published as a plugin back to the calling flow, exactly like connecting to the `Response` pin of the Plugin port. Use it to answer from several places of the flow without drawing long connections back to the Plugin port.

## Pins

| Pin | Kind | Types | Description |
|---|---|---|---|
| Response | input | any | The reply for the calling flow. Must have the same type as all other responses of the flow; it becomes the published plugin's `Output` type. |
| Continue | continue | same as input | Called with the same record after the response was delivered. |

## Configuration

None besides the common settings.

## Behaviour

- Reads the request information (`EntryPoint` metadata, `Viaducta.Plugins.EntryPoint.EntryPointMetaData`) that the Plugin port attached when it emitted the request, and delivers the record to the calling component's `Output` pin in the calling flow, with the caller's original metadata.
- Then calls `Continue` with the same record and metadata, for example for logging or clean-up after the reply.
- Delivery is synchronous: the calling flow's downstream components run before `Continue` is called.

## Notes

- The record's metadata must come from a Plugin port request. Records without it (from a Timer, or after a component that creates new metadata) fail with "The portMetaData is null, do you have plugin port in the flow?". To push events without a request, connect them to the Plugin port's `Response` pin instead.
- Each request can be answered once. A second response for the same request fails with "Unknown request container entry".
- Like the Plugin port, it only works when the flow runs as a plugin inside another flow.

## Example

Plugin port `Request` → Decision router → (route `Found`) Data mapper → **Plugin port response** ; (route `Missing`) Data mapper → **Plugin port response**
