Open ERP

Post-Save Actions

Automatically send an email or call a secure API after an ERP record is created or updated. Delivery happens after the record has been saved successfully.

What a post-save action does

A post-save action connects a module event to an external action. For example, Jhapu can email a customer after a Sale is created, notify an internal team after a Purchase is updated, or call a customer-managed SMS or WhatsApp API.

The saved record stays safe

Jhapu queues the action with the saved record and delivers it after the database transaction commits. A temporary email or API failure does not undo the ERP record.

EventAfter Create

Runs only after a new record has been saved.

EventAfter Update

Runs only after changes to an existing record have been saved.

ActionsEmail or API

Use Amazon SES email or a secure HTTPS endpoint.

Before you begin

  • You must sign in as an ERP Administrator.
  • Lifecycle Actions must be included and enabled for the selected company.
  • For email, the sender address must be verified in Amazon SES and the Jhapu server must have permission to send through SES.
  • For an API action, obtain the HTTPS endpoint and authentication secret from the customer or service provider.
SMS and WhatsApp remain customer-managed

Jhapu does not manage telecom or WhatsApp template approval. Configure the provider outside Jhapu, then use an API action to send the required JSON to that provider or to the customer’s middleware.

Configure an action

  1. 01
    Select the company

    Open Modules → Post-save Actions, then choose the company whose records will trigger the action.

  2. 02
    Create an integration

    Open Integrations and configure either Amazon SES email or an HTTP API. Save and keep the integration Active.

  3. 03
    Create the lifecycle action

    Open Actions, choose the module, After Create or After Update, action type and matching integration.

  4. 04
    Add recipients or a JSON body

    For email, enter fixed recipients or record fields containing email addresses. For API, provide a valid JSON object.

  5. 05
    Add optional conditions

    Limit delivery to records that match your business rule, then choose attempts, initial delay and status.

  6. 06
    Save and verify

    Create or update a test record, then check Delivery history for its status, attempts, provider ID or error.

Amazon SES email

Create an Amazon SES integration with the AWS region, verified sender email, sender name and optional reply-to address. An SES configuration set is optional and can be used for delivery, bounce or complaint tracking.

An email action accepts fixed recipients and recipient fields. A recipient field is the exact module field name that contains an email address—for example, Email or ContactEmail. At least one fixed recipient or recipient field is required.

AWS credentials are not entered on this page

Jhapu uses the AWS permissions configured securely on the application server. Do not paste AWS access keys into the action, message or recipient fields.

HTTP API for SMS, WhatsApp or another service

The endpoint must use HTTPS. Jhapu blocks endpoints that resolve to private or reserved network addresses and does not follow redirects. The available authentication modes are HMAC SHA-256, bearer token, custom header and none.

  • HMAC SHA-256: Jhapu signs the exact JSON body and sends the signature in X-Jhapu-Signature.
  • Bearer token: the secret is sent in the standard Authorization header.
  • Custom header: choose the provider’s header name; Jhapu sends the stored secret as its value.
  • None: use only when the endpoint safely authenticates the request by another controlled method.

Every API request also includes X-Jhapu-Event-Id and X-Jhapu-Idempotency-Key. The receiving service should use the idempotency key to avoid sending the same message twice when a delivery is retried.

Use record values in messages

Placeholders can be used in an email subject, email message and API JSON string values. Jhapu replaces them when the action is delivered.

  • {{record.Email}} — a value from the saved module record.
  • {{record.CustomerName}} — another record field, using its exact field name.
  • {{context.recordId}} — the saved record ID.
  • {{event.type}} — the lifecycle event, such as AFTER_CREATE.
Missing values become blank

Use the exact field name shown by the module definition. If a placeholder cannot be resolved, Jhapu replaces it with an empty value.

Conditions and delivery history

Conditions let an action run only for matching records. Available comparisons include equals, does not equal, list membership, numeric comparisons, contains, is empty and is not empty. When several conditions are present, the record must satisfy all of them.

Use Delivery history to confirm whether a job is queued, delivered, retrying, failed or cancelled. The history also shows the attempt count, provider message ID and the latest error. Correct the integration or action configuration before retrying with another test record.

Common problems

  • Delivery is paused: the feature is enabled but its configuration is not yet marked ready. Contact Jhapu support.
  • The page is read-only: Lifecycle Actions is not available for the company or subscription.
  • No valid email recipient: check the fixed address and confirm that each recipient field contains a valid email address.
  • SES delivery failed: verify the sender, AWS region, SES permissions and whether the SES account is still in sandbox mode.
  • API delivery failed: confirm HTTPS, public DNS, authentication details, expected JSON and the provider’s response status.
Next guideModule Builder