Skip to content

ActionService

Handles user actions on delivered messages. Actions drive workflow progression (e.g., ACK completes a wait step).

MethodDescription
SubmitActionSubmit an action for a specific delivery, advancing the campaign workflow

Submit an action for a specific delivery, advancing the campaign workflow. The backend verifies the authenticated user is the delivery recipient.

Authorization: Authenticated user (must be the delivery recipient)

FieldTypeDescription
delivery_idstringID of the delivery the user is acting on. UUID format (36 characters).
action_idstringID of the action being performed (matches MessageAction.id). Max 100 characters.
payloadbytesOptional action-specific payload (e.g., poll response data). Empty for ACK. Max 10,000 bytes.
FieldTypeDescription
successboolWhether the action was successfully recorded and forwarded to the workflow.

TypeScript (Connect-Web)

const response = await actionClient.submitAction({
deliveryId: "delivery-uuid",
actionId: "ack-action-id",
payload: new Uint8Array(),
});

Go (gRPC)

resp, err := actionClient.SubmitAction(ctx, &pidgrv1.SubmitActionRequest{
DeliveryId: "delivery-uuid",
ActionId: "ack-action-id",
})