ruLog in to Senler

Agent tools

Tools let an agent work with amoCRM during a conversation. Ten focused actions are available; they do not give the agent unrestricted access to the entire amoCRM API.

Adding a tool

Open the agent settings and add an application tool. Select an amoCRM action and save the agent. These tools have no separate configuration form: the agent supplies parameters at call time from the conversation context and its instructions.

Before the first call, make sure that an amoCRM account is connected in the same project.

Create contact

Create contact requires contact_name; phone and email are optional. It always creates a new contact in amoCRM, never a deal, and does not search for duplicates by name, phone, or email. Check Get contact for the current Senler lead first.

Result: contact_id and account_url, the contact card URL.

Update contact

Requires contact_id and at least one change: contact_name, phone, or email. Omitted fields remain unchanged; empty values do not clear data. A supplied phone or email replaces the values of that contact field. No deals are changed.

Result: contact_id and account_url.

Create deal

Requires an existing contact_id and deal_name. Optional fields: price, pipeline_id, status_id, responsible_user_id, and comma-separated tags. Creates only a new deal in amoCRM, without changing contact data. Check the contact's deals before creating a duplicate request.

Result: deal_id and account_url, the new deal card URL.

When these three actions run in a Senler lead context, the selected contact_id is saved to that lead's amoCRM link variable, replacing any previous link. A new deal is also added to the current dialog's variable. MCP actions without lead/dialog context do not create these links. Use a context-free action when writing another person's contact.

Get a contact

The contact reader accepts contact_id. Omit it to use the current Senler lead's contact-link variable. When found: true, it returns contact_id, contact_name, contact_phone, and contact_email. Phone and email prefer a non-empty work value (WORK), then the first non-empty value of the corresponding field. If no value is set, an empty string is returned.

If the contact does not exist or the lead has no amoCRM link, the result is found: false, without contact fields. This is not permission to create a contact without the customer's consent.

Get a deal

The deal reader requires an exact deal_id. When found: true, it returns deal_id, deal_name, deal_price, deal_pipeline_id, and deal_status_id. A missing deal returns found: false, without deal fields. It does not fetch a contact.

Neither tool searches by name. If the deal ID is unknown, list the contact's deals first and select one from the context or ask the customer. Check found before using entity fields. Authorization, access, rate-limit, and connection failures remain errors, not “not found”.

List contact deals

The list tool returns a contact's deals with ID, name, value, pipeline, stage, responsible user, timestamps, and card URL. For the current lead, contact_id can be omitted.

The status parameter accepts open (default), closed, or all; limit accepts 1 through 50. If several deals match, the agent must select one from the conversation context or ask the user instead of guessing.

The tool checks all linked deals before selecting results, not just the first 250. If the full list cannot be read or the contact has more than 1000 linked deals, it returns an error instead of a false “no deals” result. truncated: true means more matching deals exist than the requested limit.

Update a deal

The deal update tool changes the name, value, pipeline, stage, owner, loss reason, and adds or removes tags. deal_id is required. List the contact's deals first when it is unknown.

Call Get amoCRM configuration before changing a pipeline, stage, or owner when exact IDs are unknown. It returns pipelines with their stages and available users without changing CRM data.

Add a note

The note tool accepts entity_type, entity_id, and text. Use entity_type: leads for a deal and entity_type: contacts for a contact.

The result contains the created note ID and the original entity.

Create a task

The task tool accepts the entity type and ID, task text, and optional complete_after_minutes. The default due time is 60 minutes after the call.

You can also provide responsible_user_id and task_type_id: 1 means a call, 2 means a meeting, while custom amoCRM task types use their own ID.

Get amoCRM configuration

Takes no parameters and returns pipelines with stages in pipelines, users in users, and users_available. Use it when exact pipeline, stage, or owner IDs are needed. If users_available = false, the connected user cannot list employees; pipelines may still be available.

IDs and safe retries

Every amoCRM ID is a positive number. Do not use an ID from a different account or guess one from a name.

A technical redelivery of the same Senler event does not create a duplicate. A new create call without deal_id is a new action and creates a new deal. Updating an existing record always requires its exact ID.

When a tool creates, updates, or reads a concrete deal, the application stores its deal_id on the current dialog. The Deal stage changed automation can then start there, and a subscribed assigned agent can react there, instead of using another recent conversation belonging to the same lead. A duplicate webhook does not schedule the event twice.